JP2736729B2 - バーコード判定方法 - Google Patents
バーコード判定方法Info
- Publication number
- JP2736729B2 JP2736729B2 JP5203101A JP20310193A JP2736729B2 JP 2736729 B2 JP2736729 B2 JP 2736729B2 JP 5203101 A JP5203101 A JP 5203101A JP 20310193 A JP20310193 A JP 20310193A JP 2736729 B2 JP2736729 B2 JP 2736729B2
- Authority
- JP
- Japan
- Prior art keywords
- bar
- determined
- character
- parity
- width
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Description
【0001】
【産業上の利用分野】本発明は、バーコードの判定を行
うバーコード判定方法に関する。バーコードは、白黒バ
ーの組合せにより数字等を表すものであり、例えば、J
AN(Japan Article Number )コードが一般に使
用されている。この商品種別や価格等を示すバーコード
を商品等に印刷或いは貼付し、商品販売時にバーコード
を読取ることにより、レシートの発行処理や、商品販売
統計処理等を行うものである。従って、読取ったバーコ
ードを正確に判定する必要がある。
うバーコード判定方法に関する。バーコードは、白黒バ
ーの組合せにより数字等を表すものであり、例えば、J
AN(Japan Article Number )コードが一般に使
用されている。この商品種別や価格等を示すバーコード
を商品等に印刷或いは貼付し、商品販売時にバーコード
を読取ることにより、レシートの発行処理や、商品販売
統計処理等を行うものである。従って、読取ったバーコ
ードを正確に判定する必要がある。
【0002】
【従来の技術】前述のJANコードは、13桁の標準バ
ージョンと8桁の短縮バージョンとがあり、短縮バージ
ョンは小型の商品に対して適用されている。又1キャラ
クタを2本の白バーと2本の黒バーとの組合せにより構
成されている。この1キャラクタは7モジュール(7ビ
ット)構成であり、且つ1モジュールの1倍,2倍,3
倍,4倍の幅の何れかの幅の白バーと黒バーとの組合せ
から構成されている。又1モジュールの幅は、0.33
mmを基本とし、その0.8倍の0.26mmから2倍
の0.66mmまでの範囲で1モジュールの幅を選定す
ることができる。
ージョンと8桁の短縮バージョンとがあり、短縮バージ
ョンは小型の商品に対して適用されている。又1キャラ
クタを2本の白バーと2本の黒バーとの組合せにより構
成されている。この1キャラクタは7モジュール(7ビ
ット)構成であり、且つ1モジュールの1倍,2倍,3
倍,4倍の幅の何れかの幅の白バーと黒バーとの組合せ
から構成されている。又1モジュールの幅は、0.33
mmを基本とし、その0.8倍の0.26mmから2倍
の0.66mmまでの範囲で1モジュールの幅を選定す
ることができる。
【0003】又標準バージョンの場合は、左から順に、
11モジュール以上のレフトマージン、3モジュールの
レフトガードバー、6キャラクタ(42モジュール)の
データキャラクタ、5モジュールのセンタバー、5キャ
ラクタ(35モジュール)のデータキャラクタ、1キャ
ラクタ(7モジュール)のチェックキャラクタ、3モジ
ュールのライトガードバー、7モジュール以上のライト
マージンの構成であり、レフトマージンとライトマージ
ンとを含めて113モジュールの長さとなる。なお、短
縮バージョンの場合は、レフトマージンとライトマージ
ンとを含めて、81モジュールの長さとなる。
11モジュール以上のレフトマージン、3モジュールの
レフトガードバー、6キャラクタ(42モジュール)の
データキャラクタ、5モジュールのセンタバー、5キャ
ラクタ(35モジュール)のデータキャラクタ、1キャ
ラクタ(7モジュール)のチェックキャラクタ、3モジ
ュールのライトガードバー、7モジュール以上のライト
マージンの構成であり、レフトマージンとライトマージ
ンとを含めて113モジュールの長さとなる。なお、短
縮バージョンの場合は、レフトマージンとライトマージ
ンとを含めて、81モジュールの長さとなる。
【0004】このようなバーコードに於いて、基本モジ
ュール幅とその倍数とにより、例えば、数字の「0」に
ついて示すと、センタバーより左側の奇数パリティの場
合は、白3(0.99mm),黒2(0.66mm),
白1(0.33mm),黒1(0.33mm)となる。
又偶数パリティの場合は、白1(0.33mm),黒1
(0.33mm),白2(0.66mm),黒3(0.
99mm)となる。又センタバーより右側の奇数パリテ
ィの場合は、黒3(0.99mm),白2(0.66m
m),黒1(0.33mm),白1(0.33mm)と
なる。
ュール幅とその倍数とにより、例えば、数字の「0」に
ついて示すと、センタバーより左側の奇数パリティの場
合は、白3(0.99mm),黒2(0.66mm),
白1(0.33mm),黒1(0.33mm)となる。
又偶数パリティの場合は、白1(0.33mm),黒1
(0.33mm),白2(0.66mm),黒3(0.
99mm)となる。又センタバーより右側の奇数パリテ
ィの場合は、黒3(0.99mm),白2(0.66m
m),黒1(0.33mm),白1(0.33mm)と
なる。
【0005】このようなバーコードを光学的に読取って
判定する場合、レフトガードバーやライトガードバー或
いはセンタバーを基準にしてキャラクタを区切り、各キ
ャラクタについてバーの幅を計測し、1キャラクタが7
モジュール構成であるから、モジュール対応のビットに
より7ビット構成で1キャラクタを表す。例えば、前述
の数字「0」の左側の奇数パリティの場合、白バーと黒
バーとは、白3,黒2,白1,黒1の順序と幅の関係と
なり、白を“0”,黒を“1”とすると、“00011
01”の7ビット構成で表される。同様に、数字「1」
の左側の奇数パリティの場合は、“0011001”で
表される。同様にして、左側の奇数パリティ及び偶数パ
リティと右側の偶数パリティとの数字「0」〜「9」が
表されるから、判定部に於いては、この7ビットのパタ
ーンを用いて数字「0」〜「9」を判定することができ
る。
判定する場合、レフトガードバーやライトガードバー或
いはセンタバーを基準にしてキャラクタを区切り、各キ
ャラクタについてバーの幅を計測し、1キャラクタが7
モジュール構成であるから、モジュール対応のビットに
より7ビット構成で1キャラクタを表す。例えば、前述
の数字「0」の左側の奇数パリティの場合、白バーと黒
バーとは、白3,黒2,白1,黒1の順序と幅の関係と
なり、白を“0”,黒を“1”とすると、“00011
01”の7ビット構成で表される。同様に、数字「1」
の左側の奇数パリティの場合は、“0011001”で
表される。同様にして、左側の奇数パリティ及び偶数パ
リティと右側の偶数パリティとの数字「0」〜「9」が
表されるから、判定部に於いては、この7ビットのパタ
ーンを用いて数字「0」〜「9」を判定することができ
る。
【0006】
【発明が解決しようとする問題点】前述のように、従来
例に於いては、バーコードを光学的に読取り、1キャラ
クタ毎に区切り、1キャラクタを構成する白バーと黒バ
ーとの幅を計測して7ビット構成のデータに変換し、こ
の7ビット構成のデータを基にキャラクタを判定するも
のであり、白バーと黒バーとの幅に対応してビット変換
する処理が必要であり、処理が複雑となる欠点があっ
た。又1キャラクタを構成する2本の白バーと2本の黒
バーとのそれぞれの幅の組合せについてキャラクタ判定
を行う方法も知られているが、各バーが4種類の幅の何
れに相当するかを判定した後、4本のバーの幅の組合せ
を判定する必要があるから、処理が複雑となる欠点があ
った。本発明は、比較的簡単な判定によってバーコード
の判定を行うことを目的とする。
例に於いては、バーコードを光学的に読取り、1キャラ
クタ毎に区切り、1キャラクタを構成する白バーと黒バ
ーとの幅を計測して7ビット構成のデータに変換し、こ
の7ビット構成のデータを基にキャラクタを判定するも
のであり、白バーと黒バーとの幅に対応してビット変換
する処理が必要であり、処理が複雑となる欠点があっ
た。又1キャラクタを構成する2本の白バーと2本の黒
バーとのそれぞれの幅の組合せについてキャラクタ判定
を行う方法も知られているが、各バーが4種類の幅の何
れに相当するかを判定した後、4本のバーの幅の組合せ
を判定する必要があるから、処理が複雑となる欠点があ
った。本発明は、比較的簡単な判定によってバーコード
の判定を行うことを目的とする。
【0007】
【課題を解決するための手段】本発明のバーコード判定
方法は、図1を参照して説明すると、1モジュールの1
倍,2倍,3倍,4倍の何れかの幅の白バーと黒バーと
の組合せからなるバーコードをスキャナ1により読取
り、2値化回路2により2値化して、判定部3のキャラ
クタ区切部4に於いて2個の白バーと2個の黒バーとの
組合せからなる1キャラクタ毎に区切って判定するバー
コードの判定方法に於いて、判定部3は、太細バー識別
部5と、太細バー順番判定部6とを備え、前記太細バー
識別部5により、1キャラクタの各バーが1モジュール
の3.5倍を超えた幅のバーであるか、又は3.5倍よ
り小さく2.5倍を超えた幅のバーであるか、又は1.
5倍以下のバーであるかを識別し、前記太細バー順番判
定部6により、前記識別した幅のバーの1キャラクタ内
の位置によりバーコードを判定するものである。
方法は、図1を参照して説明すると、1モジュールの1
倍,2倍,3倍,4倍の何れかの幅の白バーと黒バーと
の組合せからなるバーコードをスキャナ1により読取
り、2値化回路2により2値化して、判定部3のキャラ
クタ区切部4に於いて2個の白バーと2個の黒バーとの
組合せからなる1キャラクタ毎に区切って判定するバー
コードの判定方法に於いて、判定部3は、太細バー識別
部5と、太細バー順番判定部6とを備え、前記太細バー
識別部5により、1キャラクタの各バーが1モジュール
の3.5倍を超えた幅のバーであるか、又は3.5倍よ
り小さく2.5倍を超えた幅のバーであるか、又は1.
5倍以下のバーであるかを識別し、前記太細バー順番判
定部6により、前記識別した幅のバーの1キャラクタ内
の位置によりバーコードを判定するものである。
【0008】
【作用】バーコードを構成する各バーの幅は、1モジュ
ールの1倍,2倍,3倍,4倍の何れかであり、従っ
て、3.5倍を超える幅のバーは1モジュールの4倍の
幅の最も太いバーである。又3.5倍より小さく2.5
倍を超える幅のバーは1モジュールの3倍の幅のバーで
あり、又1.5倍以下の幅のバーは1モジュールの1倍
の幅のバーであり、それ以外は1モジュールの2倍の幅
のバーである。そして、最も太いバーの1キャラクタ内
の位置は、例えば、センタバーより左側の奇数パリティ
の数字「3」の場合は2番目、数字「6」の場合は4番
目となる。又偶数パリティの数字「3」の場合は3番
目、数字「6」の場合は1番目となる。又センタバーよ
り右側の偶数パリティの数字「3」の場合は2番目、数
字「6」の場合は4番目となる。従って、1モジュール
の3.5倍を超える幅のバーを識別した時は、1キャラ
クタ内の位置により数字「3」,「6」を判定すること
ができる。又1モジュールの3倍の幅のバーの場合は、
そのバーが1キャラクタ内の1番目の位置で且つ1モジ
ュールの2倍の幅のバーが2番目の位置であると、左側
の奇数パリティの数字「0」と判定することができる。
即ち、識別した1種類或いは2種類の幅のバーについて
1キャラクタ内の位置によってバーコードを判定するこ
とができる。
ールの1倍,2倍,3倍,4倍の何れかであり、従っ
て、3.5倍を超える幅のバーは1モジュールの4倍の
幅の最も太いバーである。又3.5倍より小さく2.5
倍を超える幅のバーは1モジュールの3倍の幅のバーで
あり、又1.5倍以下の幅のバーは1モジュールの1倍
の幅のバーであり、それ以外は1モジュールの2倍の幅
のバーである。そして、最も太いバーの1キャラクタ内
の位置は、例えば、センタバーより左側の奇数パリティ
の数字「3」の場合は2番目、数字「6」の場合は4番
目となる。又偶数パリティの数字「3」の場合は3番
目、数字「6」の場合は1番目となる。又センタバーよ
り右側の偶数パリティの数字「3」の場合は2番目、数
字「6」の場合は4番目となる。従って、1モジュール
の3.5倍を超える幅のバーを識別した時は、1キャラ
クタ内の位置により数字「3」,「6」を判定すること
ができる。又1モジュールの3倍の幅のバーの場合は、
そのバーが1キャラクタ内の1番目の位置で且つ1モジ
ュールの2倍の幅のバーが2番目の位置であると、左側
の奇数パリティの数字「0」と判定することができる。
即ち、識別した1種類或いは2種類の幅のバーについて
1キャラクタ内の位置によってバーコードを判定するこ
とができる。
【0009】
【実施例】バーコードは、図1に示すように、スキャナ
1により光学的に読取り、2値化回路2により2値化
し、判定部3に於いて判定するものであり、この判定部
3に於ける判定処理の本発明の実施例を図2〜図7に示
す。この判定部3では、キャラクタ区切部4に於いて、
図2に示すように、先ず、スキャナ1により読取って2
値化したバーコードの白バーと黒バーとの太さ(幅)を
計測し(A1)、次に、ガードバー及びセンタバーを検
出し(A2)、ガードバー或いはセンタバーを基準とし
て1キャラクタ毎に区切る(A3)。
1により光学的に読取り、2値化回路2により2値化
し、判定部3に於いて判定するものであり、この判定部
3に於ける判定処理の本発明の実施例を図2〜図7に示
す。この判定部3では、キャラクタ区切部4に於いて、
図2に示すように、先ず、スキャナ1により読取って2
値化したバーコードの白バーと黒バーとの太さ(幅)を
計測し(A1)、次に、ガードバー及びセンタバーを検
出し(A2)、ガードバー或いはセンタバーを基準とし
て1キャラクタ毎に区切る(A3)。
【0010】次に太細バー識別部5に於いて、1キャラ
クタの長さの計測値の1/7を求め(A4)、それを1
モジュールとして、その1.5倍,2.5倍,3.5倍
の値と各バーを比較する(A5)。
クタの長さの計測値の1/7を求め(A4)、それを1
モジュールとして、その1.5倍,2.5倍,3.5倍
の値と各バーを比較する(A5)。
【0011】次に、センタバーの左側であるか否かを判
定し(A6)、左側の場合は、ステップ(A7)以降に
進み、右側の場合は、図7に示すステップ(G1)以降
に進む。そして、左側の場合は、バーが1モジュールの
3.5倍より大きいか否かを判定する(A7)。
定し(A6)、左側の場合は、ステップ(A7)以降に
進み、右側の場合は、図7に示すステップ(G1)以降
に進む。そして、左側の場合は、バーが1モジュールの
3.5倍より大きいか否かを判定する(A7)。
【0012】大きければ(肯定)、1モジュールの4倍
の幅の最も太いL4バーとして、図3に示すステップ
(B1)以降に進み、大きくなければ(否定)、バーが
1モジュールの2.5倍より大きいか否かを判定し(A
8)、大きければ(肯定)、1モジュールの3倍の幅の
L3バーとして、図4のステップ(C1)以降に進む。
又大きくなければ(否定)、1.5倍より小さいか否か
を判定し(A9)、小さければ(肯定)、L1バーとし
て、図6のステップ(D1)以降に進み、小さくなけれ
ば(否定)、L2バーとする(A10)。そして、太細
バー順番判定部6(図1参照)に於いてL4,L3,L
2,L1バーのキャラクタ内の順番によりバーコードを
判定する。
の幅の最も太いL4バーとして、図3に示すステップ
(B1)以降に進み、大きくなければ(否定)、バーが
1モジュールの2.5倍より大きいか否かを判定し(A
8)、大きければ(肯定)、1モジュールの3倍の幅の
L3バーとして、図4のステップ(C1)以降に進む。
又大きくなければ(否定)、1.5倍より小さいか否か
を判定し(A9)、小さければ(肯定)、L1バーとし
て、図6のステップ(D1)以降に進み、小さくなけれ
ば(否定)、L2バーとする(A10)。そして、太細
バー順番判定部6(図1参照)に於いてL4,L3,L
2,L1バーのキャラクタ内の順番によりバーコードを
判定する。
【0013】キャラクタについては、図8に示すよう
に、センタバーに対して左側のキャラクタと右側のキャ
ラクタとに分けて、左側キャラクタは奇数パリティと偶
数パリティとがあり、右側キャラクタは偶数パリティの
みとなる。そして、数字「0」〜「9」については、そ
れぞれ1モジュールを1ビットに対応させて、白バーを
“0”、黒バーを“1”として示すことができる。又L
4,L3,L2,L1はステップ(A7),(A8),
(A9)により判定された1モジュールの3.5倍以上
の幅のバー即ち4モジュール分の幅のバー、3.5倍よ
り小さく2.5倍により大きい幅のバー即ち3モジュー
ル分の幅のバー、2.5倍より小さく1.5倍より大き
い幅のバー即ち2モジュール分の幅のバー、1.5倍よ
り小さい幅のバー即ち1モジュール分の幅のバーを示
す。又(1) 〜(4) は1キャラクタ内の位置を示す。
に、センタバーに対して左側のキャラクタと右側のキャ
ラクタとに分けて、左側キャラクタは奇数パリティと偶
数パリティとがあり、右側キャラクタは偶数パリティの
みとなる。そして、数字「0」〜「9」については、そ
れぞれ1モジュールを1ビットに対応させて、白バーを
“0”、黒バーを“1”として示すことができる。又L
4,L3,L2,L1はステップ(A7),(A8),
(A9)により判定された1モジュールの3.5倍以上
の幅のバー即ち4モジュール分の幅のバー、3.5倍よ
り小さく2.5倍により大きい幅のバー即ち3モジュー
ル分の幅のバー、2.5倍より小さく1.5倍より大き
い幅のバー即ち2モジュール分の幅のバー、1.5倍よ
り小さい幅のバー即ち1モジュール分の幅のバーを示
す。又(1) 〜(4) は1キャラクタ内の位置を示す。
【0014】ステップ(A7)に於いて1モジュールの
3.5倍を超えた幅のL4バーを識別すると、図3に示
すように、そのL4バーの1キャラクタ内の位置を判定
する(B1),(B2),(B3)。1キャラクタ内の
位置は図3の下方に示すように、左側キャラクタの場合
に白バー,黒バー,白バー,黒バーの順序でその位置を
(1) 〜(4) で示す。なお、右側キャラクタの場合は黒バ
ー,白バー,黒バー,白バーの順序となる。
3.5倍を超えた幅のL4バーを識別すると、図3に示
すように、そのL4バーの1キャラクタ内の位置を判定
する(B1),(B2),(B3)。1キャラクタ内の
位置は図3の下方に示すように、左側キャラクタの場合
に白バー,黒バー,白バー,黒バーの順序でその位置を
(1) 〜(4) で示す。なお、右側キャラクタの場合は黒バ
ー,白バー,黒バー,白バーの順序となる。
【0015】そして、L4バーが1番目の位置(1) の場
合、図8に於いてL4(1) として示すように、偶数パリ
ティ6と判定し(B4)、L4バーが2番目の位置(2)
の場合は、L4(2) として示すように、奇数パリティ3
と判定し(B5)、L4バーが3番目の位置(3) の場合
は、L4(3) として示すように、偶数パリティ3と判定
し(B6)、L4バーが1番目〜3番目の位置でない
時、即ち、4番目の位置(4) の場合は、L4(4) として
示すように、奇数パリティ6と判定する(B7)。従っ
て、1モジュールの3.5倍を超える幅のL4バーを含
むキャラクタについては、そのL4バーの位置を判定す
ることにより、バーコードを識別することができる。
合、図8に於いてL4(1) として示すように、偶数パリ
ティ6と判定し(B4)、L4バーが2番目の位置(2)
の場合は、L4(2) として示すように、奇数パリティ3
と判定し(B5)、L4バーが3番目の位置(3) の場合
は、L4(3) として示すように、偶数パリティ3と判定
し(B6)、L4バーが1番目〜3番目の位置でない
時、即ち、4番目の位置(4) の場合は、L4(4) として
示すように、奇数パリティ6と判定する(B7)。従っ
て、1モジュールの3.5倍を超える幅のL4バーを含
むキャラクタについては、そのL4バーの位置を判定す
ることにより、バーコードを識別することができる。
【0016】又ステップ(A8)に於いて1モジュール
の3.5倍より小さく2.5倍より大きいL3バーを識
別すると、図4に示すように、L3バーが1番目〜3番
目の位置(1) 〜(3) であるか否かを判定し(C1),
(C2),(C3)、何れでもない場合は4番目の位置
(4) と判定する。ステップ(C1)に於いて、L3バー
が1番目(1) であると判定すると、L2バーが2番目又
は3番目の位置(2),(3)であるか否かを判定し(C
8),(C9)、L2バーが2番目の位置(2) である
と、図8に於いてL3(1) L2(2) として示すように、
奇数パリティ0と判定する(C9)。
の3.5倍より小さく2.5倍より大きいL3バーを識
別すると、図4に示すように、L3バーが1番目〜3番
目の位置(1) 〜(3) であるか否かを判定し(C1),
(C2),(C3)、何れでもない場合は4番目の位置
(4) と判定する。ステップ(C1)に於いて、L3バー
が1番目(1) であると判定すると、L2バーが2番目又
は3番目の位置(2),(3)であるか否かを判定し(C
8),(C9)、L2バーが2番目の位置(2) である
と、図8に於いてL3(1) L2(2) として示すように、
奇数パリティ0と判定する(C9)。
【0017】又ステップ(C10)に於いてL2バーが
3番目の位置(3) であると判定すると、図8に於いてL
3(1) L2(3) として示すように、偶数パリティ8と判
定する(C11)。又L2バーが2番目でも3番目でも
ない場合は4番目であるから、図8に於いてL3(1) L
2(4) として示すように、奇数パリティ9と判定する
(C12)。
3番目の位置(3) であると判定すると、図8に於いてL
3(1) L2(3) として示すように、偶数パリティ8と判
定する(C11)。又L2バーが2番目でも3番目でも
ない場合は4番目であるから、図8に於いてL3(1) L
2(4) として示すように、奇数パリティ9と判定する
(C12)。
【0018】又ステップ(C2),(C3)に於いて、
それぞれL3バーが2番目及び3番目の位置(2),(3) で
ないと判定した時は、L3バーが4番目の位置(4) であ
ることを示し、その場合は、L2バーの位置が1番目か
2番目かを判定する(C4),(C5)。このステップ
(C4)に於いてL2バーが1番目の位置(1) であると
判定すると、図8に於いてL3(4) L2(1) で示すよう
に、偶数パリティ9と判定する(C13)。又ステップ
(C5)に於いてL2バーが2番目の位置(2)であると
判定すると、図8に於いてL3(4) L2(2) で示すよう
に、奇数パリティ8と判定する(C14)。又L2バー
が1番目でも2番目でもない場合は、3番目であること
を示すから、その場合は図8に於いてL3(4) L2(3)
で示すように、偶数パリティ0と判定する(C6)。
それぞれL3バーが2番目及び3番目の位置(2),(3) で
ないと判定した時は、L3バーが4番目の位置(4) であ
ることを示し、その場合は、L2バーの位置が1番目か
2番目かを判定する(C4),(C5)。このステップ
(C4)に於いてL2バーが1番目の位置(1) であると
判定すると、図8に於いてL3(4) L2(1) で示すよう
に、偶数パリティ9と判定する(C13)。又ステップ
(C5)に於いてL2バーが2番目の位置(2)であると
判定すると、図8に於いてL3(4) L2(2) で示すよう
に、奇数パリティ8と判定する(C14)。又L2バー
が1番目でも2番目でもない場合は、3番目であること
を示すから、その場合は図8に於いてL3(4) L2(3)
で示すように、偶数パリティ0と判定する(C6)。
【0019】又ステップ(C2)に於いて、L3バーが
2番目の位置(2) であると判定すると、図5に示すよう
に、L2バーが1番目又は3番目の位置(1),(3) である
か否かを判定する(E1),(E2)。このステップ
(E1)に於いてL2バーが1番目の位置(1) であると
判定した時は、図8に於いてL3(2) L2(1) で示すよ
うに、偶数パリティ4と判定する(E4)。又ステップ
(E2)に於いてL2バーが3番目の位置であると判定
した時は、図8に於いてL3(2) L2(3) で示すよう
に、偶数パリティ5と判定する(E5)。又L2バーが
1番目でもなく3番目でもない場合は4番目の位置(4)
であるから、図8に於いてL3(2) L2(4)で示すよう
に、奇数パリティ7と判定する(E3)。
2番目の位置(2) であると判定すると、図5に示すよう
に、L2バーが1番目又は3番目の位置(1),(3) である
か否かを判定する(E1),(E2)。このステップ
(E1)に於いてL2バーが1番目の位置(1) であると
判定した時は、図8に於いてL3(2) L2(1) で示すよ
うに、偶数パリティ4と判定する(E4)。又ステップ
(E2)に於いてL2バーが3番目の位置であると判定
した時は、図8に於いてL3(2) L2(3) で示すよう
に、偶数パリティ5と判定する(E5)。又L2バーが
1番目でもなく3番目でもない場合は4番目の位置(4)
であるから、図8に於いてL3(2) L2(4)で示すよう
に、奇数パリティ7と判定する(E3)。
【0020】又ステップ(C3)に於いて、L3バーが
3番目の位置(3) であると判定すると、図5に示すよう
に、L2バーが1番目か2番目の位置(1),(2) であるか
否かを判定する(F1),(F2)。ステップ(F1)
に於いてL2バーが1番目の位置(1) であると判定する
と、図8に於いてL3(3) L2(1) で示すように、偶数
パリティ7と判定する(F4)。又ステップ(F2)に
於いてL2バーが2番目の位置(2) であると判定する
と、図8に於いてL3(3) L2(2) で示すように、奇数
パリティ5と判定する(F5)。又L2バーが1番目で
も2番目でもない場合、4番目の位置(4) であることを
示すから、図8に於いてL3(3) L2(4)で示すよう
に、奇数パリティ4と判定する(F3)。
3番目の位置(3) であると判定すると、図5に示すよう
に、L2バーが1番目か2番目の位置(1),(2) であるか
否かを判定する(F1),(F2)。ステップ(F1)
に於いてL2バーが1番目の位置(1) であると判定する
と、図8に於いてL3(3) L2(1) で示すように、偶数
パリティ7と判定する(F4)。又ステップ(F2)に
於いてL2バーが2番目の位置(2) であると判定する
と、図8に於いてL3(3) L2(2) で示すように、奇数
パリティ5と判定する(F5)。又L2バーが1番目で
も2番目でもない場合、4番目の位置(4) であることを
示すから、図8に於いてL3(3) L2(4)で示すよう
に、奇数パリティ4と判定する(F3)。
【0021】又ステップ(A9)に於いて1モジュール
の1.5倍より小さいL1バーと判定すると、図6に示
すように、そのL1バーが1番目〜4番目の何れの位置
であるかを判定する(D1)〜(D3)。この場合も、
1番目,2番目,3番目の何れでもない場合は4番目と
判定する。
の1.5倍より小さいL1バーと判定すると、図6に示
すように、そのL1バーが1番目〜4番目の何れの位置
であるかを判定する(D1)〜(D3)。この場合も、
1番目,2番目,3番目の何れでもない場合は4番目と
判定する。
【0022】ステップ(D1)に於いて、L1バーが1
番目の位置(1) であると判定すると、図8に於いてL1
(1) で示すように、偶数パリティ1と判定する(D
5)。又ステップ(D2)に於いて、L1バーが2番目
の位置(2) であると判定すると、図8に於いてL1(2)
で示すように、奇数パリティ2と判定する(D6)。又
ステップ(D3)に於いて、L1バーが3番目の位置
(3) であると判定すると、図8に於いてL1(3) で示す
ように、偶数パリティ2と判定する(D7)。又1倍目
〜3番目でない場合は4番目であることを示すから、図
8に於いてL1(4) で示すように、奇数パリティ1と判
定する(D4)。
番目の位置(1) であると判定すると、図8に於いてL1
(1) で示すように、偶数パリティ1と判定する(D
5)。又ステップ(D2)に於いて、L1バーが2番目
の位置(2) であると判定すると、図8に於いてL1(2)
で示すように、奇数パリティ2と判定する(D6)。又
ステップ(D3)に於いて、L1バーが3番目の位置
(3) であると判定すると、図8に於いてL1(3) で示す
ように、偶数パリティ2と判定する(D7)。又1倍目
〜3番目でない場合は4番目であることを示すから、図
8に於いてL1(4) で示すように、奇数パリティ1と判
定する(D4)。
【0023】前述のように、L4バーとL3バーとを含
まないキャラクタに於いては、L1バーの位置が1番目
〜4番目の何れであるかにより、バーコードを判定する
ことができる。
まないキャラクタに於いては、L1バーの位置が1番目
〜4番目の何れであるかにより、バーコードを判定する
ことができる。
【0024】又図2のステップ(A6)に於いて、左側
キャラクタではないと判定した時、ステップ(A7),
(A8),(A9),(A10)と同様の図7に示すス
テップ(G1),(G2),(G3),(G7)によ
り、L4,L3,L2,L1バーを識別する。そして、
1モジュールの3.5倍を超える太さのL4バーの場合
は、2番目の位置(2) か否かを判定する(G8)。右側
キャラクタに於いてはL4バーは2番目か4番目の位置
であるから、2番目の位置(2) の場合は、図8のL4
(2) で示すように、偶数パリティ3と判定し(G1
0)、2番目の位置(2)でない場合は、4番目の位置(4)
であるから、図8のL4(4) で示すように、偶数パリ
ティ6と判定する(G9)。
キャラクタではないと判定した時、ステップ(A7),
(A8),(A9),(A10)と同様の図7に示すス
テップ(G1),(G2),(G3),(G7)によ
り、L4,L3,L2,L1バーを識別する。そして、
1モジュールの3.5倍を超える太さのL4バーの場合
は、2番目の位置(2) か否かを判定する(G8)。右側
キャラクタに於いてはL4バーは2番目か4番目の位置
であるから、2番目の位置(2) の場合は、図8のL4
(2) で示すように、偶数パリティ3と判定し(G1
0)、2番目の位置(2)でない場合は、4番目の位置(4)
であるから、図8のL4(4) で示すように、偶数パリ
ティ6と判定する(G9)。
【0025】又ステップ(G3)に於いて1モジュール
の1.5倍より小さいL1バーと判定した時は、L1バ
ーは2番目の位置が4番目の位置であるから、2番目の
位置(2) であるか否かを判定し(G4)、2番目の位置
の場合は、図8に於けるL1(2) で示すように、偶数パ
リティ2と判定し(G6)、2番目の位置でない場合
は、4番目の位置(4) であるから、図8に於けるL1
(4) で示すように、偶数パリティ1と判定する(G
5)。
の1.5倍より小さいL1バーと判定した時は、L1バ
ーは2番目の位置が4番目の位置であるから、2番目の
位置(2) であるか否かを判定し(G4)、2番目の位置
の場合は、図8に於けるL1(2) で示すように、偶数パ
リティ2と判定し(G6)、2番目の位置でない場合
は、4番目の位置(4) であるから、図8に於けるL1
(4) で示すように、偶数パリティ1と判定する(G
5)。
【0026】又ステップ(G2)に於いて1モジュール
の2.5倍より大きく、3.5倍より小さい幅のL3バ
ーと判定した時は、そのL3バーの位置が1番目〜4番
目の何れの位置であるかを判定する(G11),(G1
2),(G13)。ステップ(G11)に於いてL3バ
ーが1番目の位置(1) であると判定した時は、L2バー
が2番目の位置(2) であるか否かを判定する(G1
5)。L2バーが2番目の位置(2) の場合は、図8に於
いてL3(1) L2(2) で示すように、偶数パリティ0と
判定し(G17)、2番目の位置でない場合は4番目の
位置であるから、図8のL3(1) L2(4) で示すよう
に、偶数パリティ9と判定する(G16)。
の2.5倍より大きく、3.5倍より小さい幅のL3バ
ーと判定した時は、そのL3バーの位置が1番目〜4番
目の何れの位置であるかを判定する(G11),(G1
2),(G13)。ステップ(G11)に於いてL3バ
ーが1番目の位置(1) であると判定した時は、L2バー
が2番目の位置(2) であるか否かを判定する(G1
5)。L2バーが2番目の位置(2) の場合は、図8に於
いてL3(1) L2(2) で示すように、偶数パリティ0と
判定し(G17)、2番目の位置でない場合は4番目の
位置であるから、図8のL3(1) L2(4) で示すよう
に、偶数パリティ9と判定する(G16)。
【0027】又ステップ(G12)に於いてL3バーが
2番目の位置(2) であると判定すると、図8に於いてL
3(2) で示すように、偶数パリティ7と判定する(G1
8)。又ステップ(G13)に於いてL3バーが3番目
の位置(3) であると判定すると、L2バーが2番目の位
置(2) か否かを判定する(G19)。この場合のL2バ
ーは2番目か4番目の位置となるものであり、2番目の
位置(2) と判定すると、図8に於いてL3(3) L2(2)
で示すように、偶数パリティ5と判定し(G21)、2
番目の位置でないと判定すると、4番目の位置であるか
ら、図8に於いてL3(3) L2(4) で示すように、偶数
パリティ4と判定する(G20)。
2番目の位置(2) であると判定すると、図8に於いてL
3(2) で示すように、偶数パリティ7と判定する(G1
8)。又ステップ(G13)に於いてL3バーが3番目
の位置(3) であると判定すると、L2バーが2番目の位
置(2) か否かを判定する(G19)。この場合のL2バ
ーは2番目か4番目の位置となるものであり、2番目の
位置(2) と判定すると、図8に於いてL3(3) L2(2)
で示すように、偶数パリティ5と判定し(G21)、2
番目の位置でないと判定すると、4番目の位置であるか
ら、図8に於いてL3(3) L2(4) で示すように、偶数
パリティ4と判定する(G20)。
【0028】又ステップ(G13)に於いて、L3バー
が3番目の位置でないと判定した時は、L3バーは4番
目の位置(4) であるから、図8に於いてL3(4) で示す
ように、偶数パリティ8と判定する(G14)。
が3番目の位置でないと判定した時は、L3バーは4番
目の位置(4) であるから、図8に於いてL3(4) で示す
ように、偶数パリティ8と判定する(G14)。
【0029】前述のように、右側キャラクタについて
も、L4バーを含むキャラクタはその位置のみで判定す
ることができ、又L4バーとL3バーとを含まないキャ
ラクタはL1バーの位置のみで判定し、L3バーを含む
キャラクタはその位置或いは更にL2バーの位置を用い
て判定することができる。
も、L4バーを含むキャラクタはその位置のみで判定す
ることができ、又L4バーとL3バーとを含まないキャ
ラクタはL1バーの位置のみで判定し、L3バーを含む
キャラクタはその位置或いは更にL2バーの位置を用い
て判定することができる。
【0030】前述の本発明の実施例に於いては、JAN
コードについて示すものであるが、同様なバーコードに
対しても適用できるものである。
コードについて示すものであるが、同様なバーコードに
対しても適用できるものである。
【0031】
【発明の効果】以上説明したように、本発明は、判定部
3の太細バー識別部5により1キャラクタの各バーが1
モジュールの3.5倍を超えた幅のL4バーであるか、
3.5倍より小さく且つ2.5倍を超えた幅のL3バー
であるか、1.5倍より小さい幅のL1バーであるか、
或いは2.5倍より小さく且つ1.5倍を超えた幅のL
2バーであるかを識別し、それらの1キャラクタ内の位
置(1) 〜(4) により判定するものであり、太細バー順番
判定部6に於いて1種類或いは2種類のバーのキャラク
タ内の位置を識別することにより、ビットパターンに変
換した後に判定する従来例に比較して容易にバーコード
を判定することができる利点がある。
3の太細バー識別部5により1キャラクタの各バーが1
モジュールの3.5倍を超えた幅のL4バーであるか、
3.5倍より小さく且つ2.5倍を超えた幅のL3バー
であるか、1.5倍より小さい幅のL1バーであるか、
或いは2.5倍より小さく且つ1.5倍を超えた幅のL
2バーであるかを識別し、それらの1キャラクタ内の位
置(1) 〜(4) により判定するものであり、太細バー順番
判定部6に於いて1種類或いは2種類のバーのキャラク
タ内の位置を識別することにより、ビットパターンに変
換した後に判定する従来例に比較して容易にバーコード
を判定することができる利点がある。
【図1】本発明の原理説明図である。
【図2】本発明の実施例のフローチャートである。
【図3】本発明の実施例のフローチャートである。
【図4】本発明の実施例のフローチャートである。
【図5】本発明の実施例のフローチャートである。
【図6】本発明の実施例のフローチャートである。
【図7】本発明の実施例のフローチャートである。
【図8】キャラクタの説明図である。
1 スキャナ 2 2値化回路 3 判定部 4 キャラクタ区切部 5 太細バー識別部 6 太細バー順番判定部
Claims (1)
- 【請求項1】 1モジュールの1倍,2倍,3倍,4倍
の何れかの幅の白バーと黒バーとの組合せからなるバー
コードをスキャナ(1)により読取り、2値化回路
(2)により2値化して、判定部(3)のキャラクタ区
切部(4)に於いて2個の白バーと2個の黒バーとの組
合せからなる1キャラクタ毎に区切って判定するバーコ
ード判定方法に於いて、 前記判定部(3)は、太細バー識別部(5)と太細バー
順番判定部(6)とを備え、前記太細バー識別部(5)
により、1キャラクタの各バーが1モジュールの3.5
倍を超えた幅のバーであるか、又は3.5倍より小さく
2.5倍を超えた幅のバーであるか、又は1.5倍以下
のバーであるかを識別し、前記太細バー順番判定部
(6)により、前記識別した幅のバーの1キャラクタ内
の位置によりバーコードを判定することを特徴とするバ
ーコード判定方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5203101A JP2736729B2 (ja) | 1993-08-17 | 1993-08-17 | バーコード判定方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5203101A JP2736729B2 (ja) | 1993-08-17 | 1993-08-17 | バーコード判定方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0757036A JPH0757036A (ja) | 1995-03-03 |
JP2736729B2 true JP2736729B2 (ja) | 1998-04-02 |
Family
ID=16468409
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP5203101A Expired - Fee Related JP2736729B2 (ja) | 1993-08-17 | 1993-08-17 | バーコード判定方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2736729B2 (ja) |
-
1993
- 1993-08-17 JP JP5203101A patent/JP2736729B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH0757036A (ja) | 1995-03-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5128527A (en) | Apparatus for reading a bar code | |
JP2616921B2 (ja) | ラベル識別装置 | |
JPS63133282A (ja) | バ−コ−ドラベル | |
US5537431A (en) | Method and apparatus for bar code reading and decoding | |
EP0502440B1 (en) | Bar-code reading apparatus and method | |
US4109143A (en) | Optical reader | |
JPH0354388B2 (ja) | ||
US5393968A (en) | Method and device for reading bar code | |
WO1990014638A1 (en) | Reading method and apparatus for bar code | |
JP2736729B2 (ja) | バーコード判定方法 | |
JPS64744B2 (ja) | ||
JP2718442B2 (ja) | バーコード復調方法及び装置 | |
JPS63115282A (ja) | バ−コ−ド読取装置 | |
JP2729168B2 (ja) | バーコードおよびバーコード読取装置およびその読取方法 | |
JPH0238983B2 (ja) | ||
US5519199A (en) | Method and apparatus for detecting and storing bar bode data and re-detecting undetected data | |
JPH0421915B2 (ja) | ||
JP2766768B2 (ja) | バーコードデコーダのデコード方法 | |
JPH0344353B2 (ja) | ||
JP2750244B2 (ja) | バーコードデコーダのデコード方法 | |
JP2953143B2 (ja) | バーコード読取装置およびバーコード読取方法 | |
JPS6038753B2 (ja) | カラー・バー・コード読み取り装置 | |
CA1078061A (en) | Multiple code sensing optical reader | |
JP2655758B2 (ja) | バーコードリーダおよびバーコード読取方法 | |
JP2778870B2 (ja) | バーコードデコーダ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |