JP2000285197A - バーコード認識方法及びバーコード読み取り装置 - Google Patents

バーコード認識方法及びバーコード読み取り装置

Info

Publication number
JP2000285197A
JP2000285197A JP11093554A JP9355499A JP2000285197A JP 2000285197 A JP2000285197 A JP 2000285197A JP 11093554 A JP11093554 A JP 11093554A JP 9355499 A JP9355499 A JP 9355499A JP 2000285197 A JP2000285197 A JP 2000285197A
Authority
JP
Japan
Prior art keywords
bar
white
black
width
dot
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.)
Pending
Application number
JP11093554A
Other languages
English (en)
Inventor
Hikari Endo
光 遠藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Frontech Ltd
Original Assignee
Fujitsu Frontech Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Frontech Ltd filed Critical Fujitsu Frontech Ltd
Priority to JP11093554A priority Critical patent/JP2000285197A/ja
Publication of JP2000285197A publication Critical patent/JP2000285197A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】バーコードの認識精度を向上させることであ
る。 【解決手段】読み取ったバーコードをY軸方向にX等分
し、nライン目のX座標で指定されるドットを読み出
し、黒ドットを「1」、白ドットを「0」としてビット
加算を行う(図4,S41)。同じX座標の全てのライ
ンのドットデータを読み出したなら(S43,YE
S)、加算結果が所定値Y以上か否かを判別する(S4
5)。加算結果が所定値Y以上であれば、そのX座標の
ドットは黒ドットと判定してワーク領域にコピーする
(S46)。また、所定値Y未満であれば、そのX座標
のドットは白ドットと判定してワーク領域にコピーする
(S47)。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はバーコードの認識方
法及びバーコード読み取り装置に関する。
【0002】
【従来の技術】工場、倉庫などで部品や製品が収納され
た箱にそれらを識別するためのバーコードを印刷したラ
ベルを貼り、バーコードにより部品や製品の在庫管理が
行うことが一般的になってきている。また、スーパーマ
ーケットなどにおいては、バーコードの印刷された商品
の管理ばかりでなく、スーパーマーケットが独自に仕入
れた商品にバーコードラベルを貼って在庫管理を行って
いる。また、伝票等にバーコードを印刷しておき、その
バーコードを読み取って伝票を処理することも行われて
いる。
【0003】ところで、バーコードを読み取る場合、通
常イメージセンサによりバーコードを黒、白のドットデ
ータからなるバーコード画像として読み取り、白と黒の
バーの太さ、バーの配列順序からそのバーコードが示す
数字を認識している。
【0004】
【発明が解決しようとする課題】しかしながら、バーコ
ードの印刷の一部が不鮮明であったりすると、読み取っ
たバーのエッジが欠けたり、バーの幅が太くなったり、
細くなったりしてバーコードを正しく認識できなくな
り、読み取りエラーが発生するという問題点があった。
【0005】本発明の課題は、バーコードの認識精度を
向上させることである。さらに、他の課題は、バーコー
ドのバーの幅を補正してバーコードの認識精度を高める
ことである。
【0006】
【課題を解決するための手段】請求項1記載の発明は、
読み取ったバーコードをバーと直交する方向に複数のラ
インに分割し、各ラインの同一位置のドットが白または
黒ドットの何れであるかに基づいてバーコードのそれぞ
れの位置のドットが白または黒ドットの何れであるかを
判定し、その判定結果に基づいてバーコードを認識す
る。
【0007】この発明は、バーコードの長さ方向の同一
位置の複数のドットが白か、黒かに基づいてバーコード
のそれぞれの位置のドットが白または黒ドットの何れで
あるかを判定するようにしたので、印刷が不鮮明なため
に一部のドットが誤って読み取られたとしても、全体と
しては白、黒のドットを正しく判定することができ、そ
れによりバーコードの認識精度を向上させることができ
る。例えば、バーコードの各位置のドットの判定は、各
ラインの同一位置のドットを累計し、所定数以上となっ
た白または黒ドットをその位置のドットと判定する。
【0008】請求項6記載の発明は、読み取ったバーコ
ードから基準となる白バー及び黒バーを検索し、基準と
なる白バー及び黒バーの幅からそれぞれの最小のバー幅
を求め、予め定められている白バー及び黒バーの最小の
バー幅と基準となる白バー及び黒バーから求めた最小の
バー幅との差データをそれぞれ算出し、予め定められて
いる白バー及び黒バーの最小のバー幅と、算出された差
データとに基づいて適正な白バー及び黒バーの最小のバ
ー幅及びその整数倍のバー幅を算出し、バーコードの白
バーまたは黒バーの幅が算出した適正なバー幅の何れに
該当するかを判定し、判定結果に基づいてバーコードの
白バー及び黒バーの幅を算出された適正な白バー及び黒
バーの幅に補正し、バー幅の補正されたバーコードを認
識する。
【0009】この発明は、バーコードのバーの幅を、実
際に読み取られた基準となるバーの幅と予め定められて
いるバーの幅とに基づいて算出した適正な白バー及び黒
バーの幅となるように補正し、補正したバーコードを認
識することで、バーコードの印刷が不鮮明でバーコード
を正常に認識できない場合でも、バーコードの認識が可
能となる。
【0010】
【発明の実施の形態】以下、本発明の実施の形態を図面
を参照しながら説明する。図1は、本発明のバーコード
認識方法に基づいて動作するバーコード読み取り装置の
回路ブロック図である。
【0011】このバーコード読み取り装置は、伝票等を
装置内部に取り込み、伝票に印刷されたバーコード、あ
るは伝票に貼られたラベルに印刷されたバーコードを読
み取るものである。なお、各回路ブロックの横の数字は
入出力データのビット数を表している。
【0012】装置内部に読み取り対象の伝票等の媒体が
搬送されると、密着型のコンタクトイメージセンサ(C
IS)11によりにバーコードが読み取られ、読み取ら
れたバーコード画像のドットデータがCISデータ転送
部12を介してRAM13にDMA転送される。イメー
ジセンサ11の制御データはCISインタフェース(I
/F)部14を介してMPU15から送られる。また、
伝票が装置内部を搬送され、イメージセンサ11により
バーコードの読み取りが行われると、イメージセンサ1
1から割り込み制御部16に割り込み信号INT1が出
力される。割り込み制御部16は、割り込み信号の優先
度を判定してMPU15に対して割り込みの発生を知ら
せる。なお、MPU15の動作を制御するプログラムは
1MバイトのROM17に格納されている。
【0013】1台のステップピングモータ18は伝票等
の媒体を搬送するためのロータ等を駆動するものであ
る。DCモータ/ソレノイド19はサーマルヘッド用印
字リボンの巻き取りと印字伝票をヘッドに押しつける為
のプラテン制御等を行うものである。
【0014】5個のフォトセンサ21aと3個のフォト
インタラプタ20bと1個のマイクロスイッチ20cと
からなる検出機構20は、媒体の位置等を検出するため
ものである。内蔵A/Dコンバータ21はフォトセンサ
20aの検出信号、後述するサーマルヘッド27のヘッ
ドの温度を検出する温度センサのアナログの温度データ
をデジタルデータに変換するためのものである。
【0015】表示及びスイッチ部22の2個の7−セグ
メントLED22aはエラーメッセージを表示するため
のものであり、3個の押しボタンスイッチ22bは装置
のテストを行うときに操作するスイッチである。
【0016】4個の入出力レジスタ23〜26は、上述
したステッピングモータ18の駆動データ、A/Dコン
バータ21で変換されたフォトセンサ20aの検出信
号、7−セグメントLED22aの表示データ等を設定
/記憶するレジスタである。サーマルヘッド27は伝票
等の読み取りが完了したときに受領証を印字するための
ものであり、印字データはサーマルヘッドデータ転送部
28を介してMPU15により転送される。また、内蔵
I/O37はサーマルヘッド27の動作を制御する設定
データを出力する回路である。
【0017】バーコードデコーダ29はMPU15によ
りRAM13から読み出されるバーコードのドットデー
タをデコードして文字コードに変換してMPU15に出
力する。内蔵I/O部30はバーコードデコーダ29へ
設定するデータ等を出力する。また、バーコードデコー
ダ29にはクロック生成部31から4.9152MHzのクロ
ック信号が供給されている。MPU15にはクロック生
成部32から16MHzのクロック信号が供給されてい
る。
【0018】通信制御部(MB86967)33は、バ
ーコードの認識結果をLANを介してホストコンピュー
タに送信すると共に、ホストコンピュータから送信され
てくるデータを受信する回路である。通信制御部33は
LANの伝送路規格である10−BASE−Tに基づく
信号伝送を行うパルストランス34を介してデータの送
受信を行う。また、通信制御部33により送受信される
データは32KバイトのRAMからなるバッファ35に
一時記憶される。通信制御部33にはクロック生成部3
6から20MHzのクロック信号が供給され、そのクロ
ック信号に同期したタイミングでデータ転送を行う。
【0019】また、割り込み制御部16には、タイマク
ロック生成部38から1ms、20μs毎に割り込み信
号INT3が入力し、この割り込み信号はMPU15に
出力され、OSの時間計測の基準信号として使用され
る。
【0020】電源がオンされると、あるいはマニュアル
リセットが行われると、パワーオンリセット/マニュア
ルリセット部39からMPU15にリセット信号が出力
される。
【0021】DC/DCコンバータ40は、5V、+1
2V、−12Vの各電圧を生成し回路各部に供給する。
次に、以上のような構成のバーコード読み取り装置にお
けるバーコードのスタートバーの検索処理を図2のフロ
ーチャートを参照して説明する。
【0022】イメージセンサ11により読み取ったバー
コードをバーと直交する方向にX等分して、各ラインの
左端のドットをX座標の原点としてドットデータを順に
読み出す。スタートバーを検索するために、ラインyの
左端(0,y)のドットが黒か否かを判別する(図2,
S11)。左端のドットが黒の場合には、X座標に
「1」加算して次の座標を指定し、次の位置のドットを
読み出す(S12)。そして、黒ドットの数がそのドッ
トの集合をスタートバーと見なす規定ドット数に達し、
かつ次に白ドットを検出したか否かを判別する(S1
3)。
【0023】黒ドットが規定数に達していない場合、ま
たは黒ドットが規定数以上検出されても次に白ドットが
検出されていない場合には(S13,NO)、指定され
た座標のドットが黒ドットか否かを判別する(S1
4)。
【0024】指定された座標のドットが黒ドットでない
場合には、白ドットが2ドット以上連続して検出された
か否かを判別する(S15)。白ドットが2ドット以上
連続して検出されていない場合(S15,NO)、つま
りそれまで連続して黒ドットが検出され、次に1ドット
分の白ドットが検出され、その後黒ドットが検出された
場合には、本来黒ドットであるべきものが白ドットと誤
って読み取られた可能性が高いので、そのドットを黒ド
ットとみなし(S16)、ステップS12に戻りX座標
に「1」を加算して次の位置のドットを読み出す。
【0025】ステップS15で白ドットが連続して2ド
ット以上検出された場合(S15,YES)、つまり黒
ドットの数がスタートバーとみなす規定ドット数に達せ
ず、白ドットが2ドット以上連続した場合には、その黒
ドットはスタートバーではないものと判断してステップ
S17に進む。ステップS17では、X座標に「1」を
加算して次の座標を指定する。次に、指定したX座標が
バーコード全体の幅により決まる読み取り範囲内か否か
を判別する(S18)。
【0026】X座標が読み取り範囲内であると判別され
た場合には(S18、YES)、ステップS11に戻
り、開始座標のドットが黒ドットか否かを判別する。こ
の場合、ステップS17で読み込まれるドットは、白ド
ットが2ドット以上連続した後の最初のドットであるの
で、そのドットの位置をスタートバーの開始座標の候補
と考え、そのドットが黒ドットか否かを判別する。開始
座標の候補のドットが黒ドットであればその座標を開始
座標とし、上述した処理を繰り返しスタートバーの検索
を継続する。
【0027】また、開始座標のドットが黒ドットでなけ
れば(S11,NO)、それはスタートバーではないの
で、ステップS17に進みX座標に「1」を加算して次
の位置のドットを読み出す。
【0028】ステップS18で、更新したX座標がバー
コードの読み取り範囲内ではないと判別された場合には
(S18,NO)、読み取ったバーコードからスタート
バーを検出できなかった場合であるので読み取りエラー
判断して処理を終了する。
【0029】ステップS13で黒ドットの数がスタート
バーとみなす規定ドット数以上で、かつ次に白ドットが
検出された場合には(S13,YES)、ステップS1
9に進みX座標に「1」を加算して次のドットを読み出
す。次のステップS20で黒ドットが2ドット以上連続
して検出されたか否かを判別する。
【0030】黒ドットが2ドット以上連続して検出され
た場合には(S20,YES)、黒ドットからなるスタ
ートバーに続いて所定幅の白バーが検出されなかった場
合であるので、そのバーはスタートバーではないものと
判断して、上述したステップS17に戻り次の位置のド
ットを読み出す。この実施の形態の読み取り対象のバー
コードの規格では、スタートバーとして所定幅の黒バー
に所定幅の白バーが続くようになっているので、黒バー
に続いて所定幅の白バーが検出されなかった場合には、
そのバーはスタートバーではないものと判断している。
【0031】他方、ステップS20で黒ドットが2ドッ
ト以上連続して検出されなかった場合には(S20,N
O)、次のステップS19で白ドットがスタートバーに
続く白バーの幅に対応する第2の規定数以上検出された
か否かを判別する。白ドットが第2の規定数に達しない
場合には(S21,NO)、ステップS19に戻り次の
位置のドットを読み出す。
【0032】ステップS21で白ドットが第2の規定数
以上検出された場合(S21,YES)、すなわち、黒
ドットが規定数以上連続し、かつ白ドットが第2の規定
数以上連続して検出された場合には、スタートバーが検
出されたものと判断する。
【0033】エンドバーの検索も上述したのと同様に行
われる。ただし、エンドバーの場合は、バーコードの右
端から左端方向にドットを読み出すことになるので、上
述したステップS12,S17,S19においてX座標
から「1」を減算して次の座標を指定することになる。
【0034】以上のようにしてスタートバー、エンドバ
ーを検索したなら、抽出したライン(ラインy)のスタ
ートバーからエンドバーまでのバーコードをメモリのワ
ーク領域Wにコピーする(S22)。各ラインのバーコ
ードをワーク領域Wにコピーするときに、各ラインのバ
ーコードの位置がそろうようにワーク領域Wにコピーす
る。
【0035】図3は、図2のステップS22の各ライン
のバーコードの位置をそろえてワーク領域Wにコーピす
る処理のフローチャートである。先ず、スタートバーの
幅が規定値(スタートバーの幅の標準値)と等しいか否
かを判別する(図3,S31)。スタートバーの幅が規
定値と等しい場合には、スタートバーの先頭のドットか
らエンドバーの最後のドットまでをそのままワーク領域
の先頭へコピーする(S32)。
【0036】スタートバーの幅が規定値と異なる場合に
は(S31,NO)、ステップS33に進みエンドバー
の幅が規定値(エンドバーの幅の標準値)と等しいか否
かを判別する。
【0037】エンドバーの幅が規定値と等しい場合に
は、スタートバーと規定値との差を求め、その差の分だ
けスタートバーの先頭にドットを挿入した後、それらの
データをワーク領域の先頭へコピーする(S34)。
【0038】これらの処理により各ラインのスタートバ
ーの位置を揃えることができるので、各ラインのバーの
位置を揃えてドットの判定を行うことができる。次に、
ワーク領域Wに転送したバーコードの各ラインのドット
を判定する処理を図4のフローチャートを参照して説明
する。
【0039】ワーク領域Wのnライン目の同じX座標の
ドットを読み出し、そのドットがエンドバーの最後のド
ットか否かを判別する(図4,S41)。最後のドット
でなければ、そのドットが黒ドットか、白ドットかを判
別し、黒ドットであれば「1」、白ドットであれば
「0」としてドットの加算を行う(S42)。
【0040】次に、ライン数nがバーコードをX等分し
たときのライン数の最大値Xに達したか否か、つまり同
一X座標の全てのラインのドットデータの加算が終了し
たか否かを判別する(S43)。ライン数nが最大値X
に達していない場合には(S43,NO)、次のライン
n+1の同じX座標のドットデータを読み出し(S4
4)、その後ステップS42に戻りドットの加算を行
う。
【0041】ステップS43でライン数nが最大値Xに
達したと判別されたとき(S43,YES)、つまり全
てのラインの同じX座標のドットデータの加算が終了し
たときには、加算結果が所定値Y以上か否かを判別する
(S45)。
【0042】加算結果が所定値Y以上のときは、黒ドッ
トが所定値以上検出された場合であるので、その位置の
ドットを黒ドットと判定して別のワーク領域にコピーす
る(S46)。
【0043】他方、加算結果が所定値Y未満であったと
きには(S45,NO)、上記と逆にXライン分のドッ
トデータから「0」の白ドットが所定数以上検出された
場合であるので、その位置のドットとして白ドットを別
のワーク領域にコピーする(S47)。
【0044】以上の処理をX座標を変更して各ライン毎
に行うことにより、バーの位置を揃え、かつバーコード
の幅が部分的に狭くなったり、広くなったりした場合で
もバーコードを正しく認識することができる。
【0045】ここで、バーコードを8等分し、各ライン
のドットデータに基づいて白または黒ドットを判定して
バーコードの認識を行う場合について図5を参照して説
明する。
【0046】図5は、バーコードをY軸方向に8等分
し、各ラインのドットデータをX方向に順に読み出した
ときのドットデータと、各ラインのドットデータからそ
の位置のドットが黒か、白かを判定した結果を示してい
る。なお、図5では、簡略化のためにバーの最小幅を2
ドットで表しているが、実際には最小のバーの幅は6ド
ット程度となる。
【0047】例えば、スタートバーの先頭のドットを基
準として3番目の位置の8ライン目のドットは黒ドット
であるが、他のラインのドットは全て白ドットであるの
で、その位置のドットは白ドットと判定される。同様に
スタートバーの先頭のドットから7番目の位置の1ライ
ン目のドットは白ドットであるが、他のラインのドット
は全て黒ドットであるので、その位置のドットは黒ドッ
トと判定される。
【0048】このように読み取ったバーコードを複数の
ラインに分割し、各ラインのドットで所定数以上の黒ま
たは白ドットをその位置のドットと判定することによ
り、バーコードを1つのラインで認識した場合に発生す
るバーコードの認識誤りを防止できる。
【0049】ところで、上述したようにバーコードを複
数のラインに分割して認識したとしても、バーコードが
斜めに伝票等に印刷されていた場合には、読み取ったバ
ーコードは、図6に示すようにバーの上下の部分が不揃
いとなる。このバーコードを単純に複数ラインに分割し
て認識すると、ドットが存在しない空白部分を含めて認
識することになるので、本来黒ドットと判定すべきもの
とを白ドットと判定してしまうことになる。
【0050】そこで、バーコードをX等分する際に、バ
ーコードの上下10パーセンの部分をカットし、残りの
部分をX等分してXライン分のドットデータを抽出す
る。この方法によれば、バーコードが斜めに読み取られ
ても、空白部を含まないドットデータを抽出することが
できる。
【0051】次に、上述したように上下10パーセント
をカットしてもバーコードを認識できなかった場合のリ
トライ処理について説明する。上下10パーセントの部
分をカットし、残りの部分をX等分してドットデータを
抽出してもバーコードを正しく認識できないのは、バー
の一部の印刷が不鮮明なために、1本のバーのXライン
分のドットを加算したときにドットが誤って判定された
ことが原因と考えられる。そこで、図7に示すようにバ
ーコードの上半分を8等分してのバーコードの認識を行
い、それでもバーコードを正常に認識できない場合に
は、バーコードの下半分を8等分して認識を行う。上半
分、下半分を8等分してドットを抽出してもバーコード
を認識できない場合には、バーコードの中央部を8等分
してバーコードの認識を行う。
【0052】この認識方法によれば、バーの印刷が部分
的に不鮮明でバーが誤って判定されるような場合でも、
バーの印刷が鮮明な部分を抽出してバーの判定を行うこ
とでバーコードの認識精度を向上させることができる。
【0053】以上のようにしてバーコードを複数のライ
ンに分割して認識した場合でも、元のバーコードの品質
が悪く、1本のバーの全体の印刷が不鮮明な場合には、
バーの幅を正しく認識できず、バーコードの読み取りエ
ラーが発生することが考えられる。そのような場合、バ
ーコードを正しく認識できるようにバーコードのバーの
幅を補正する補正処理を図8のフローチャートを参照し
て説明する。
【0054】先ず、黒、白のドットに対応する「1」、
「0」のドットデータからバーの幅を認識する(図8,
S51)。黒バー、白バーを識別したなら、黒バー、白
バーの本数の合計がバーコードの規格、例えばJANコ
ードの規格により決められているバーの本数と一致する
か否かを判別する(S52)。
【0055】バーの本数が一致しない場合には(S5
2,NO)、白ドットの中に黒ドットが混じった状態
(ボイド)、あるいは黒ドットの間に白ドットが混じっ
た状態(スポット)によりバーが正常に読み取れなかっ
た可能性が高いので、黒ドットに混じった白ドット、あ
るいは白ドットに混じった黒ドットを除去する(S5
3)。具体的には、黒ドットを「1」、白ドットを
「0」としたときに、「010」というデータが検出さ
れた場合には、本装置のイメージセンサ11の分解能か
らは1ドット幅のバーは存在しないので、白ドットに挟
まれた黒ドットを白ドットと見なして「000」という
データに変更する。また、「101」というデータが検
出された場合には、黒ドットに挟まれた白ドットを黒ド
ットと見なして「111」というデータに変更する。
【0056】次に、JANコードの場合には、左右のガ
ードバーを検索し、それぞれのガードバーの幅から実際
の白バー、黒バーの最小幅を求め、JANコードの1モ
ジュールの幅、つまり計算上の最小のバー幅aと実際に
読み取ったガードバーの幅から求めた白バーの最小幅、
黒バーの最小幅との差b、b’を算出する(S54)。
【0057】次に、それらの値からバーの幅を判定する
ときの閾値を算出する(S55)。具体的には、1モジ
ュールのバーの幅を判定する際の閾値を、上記の計算上
の最小のバーの幅aと、計算上の最小のバー幅aと実際
のガードバーから求めた白バー、黒バーの最小のバー幅
との差b、b’を用いて”a×1.5−b”、”a×
1.5−b’”から求める。これは、1モジュールの計
算上のバーの幅aの1.5倍の値を、計算上の最小のバ
ー幅aと実際の白バー、黒バーの最小幅との差b、b’
に基づいて補正したものとなる。同様に2モジュールの
バーの幅の判定に用いる閾値を”a×2.5−b”か
ら、3モジュールのバーの幅の閾値を”a×3.5−
b”から、4モジュールのバーの幅の閾値を”a×4.
5−b”から求める。
【0058】そして、バーコードのそれぞれのバーの幅
と上記の閾値とを比較し、その大小関係により適正なド
ットデータへ補正することでドットデータを再生成する
(S56)。
【0059】例えば、連続する白ドットの数が白バーの
1モジュールの閾値”a×1.5−b”より小さい場合
には、白ドットの数が1モジュールの閾値と等しくなる
ように補正する。また、連続する白ドットの数が白バー
の1モジュールの閾値より大きく、2モジュールの閾
値”a×2.5−b”より小さい場合には、白ドットの
数が2モジュールの閾値と等しくなるように補正する。
白ドットの数が2モジュールの閾値より大きく、3モジ
ュールの閾値”a×3.5−b”より小さい場合には、
白ドットの数が3モジュールの閾値と等しくなるように
補正する。さらに、白ドットの数が白バーの3モジュー
ルの閾値より大きく、4モジュールの閾値”a×4.5
−b”より小さい場合には、該当する白ドットの数が4
モジュールの閾値と等しくなるように補正する。
【0060】上記のようにして、読み取ったバーコード
の幅を補正することにより、バーコードの印刷が不鮮明
でバーコードを認識できないような場合でもバーコード
の認識精度を向上させることができる。
【0061】上述した実施の形態は、伝票等の媒体に印
刷されたバーコードを読み取る装置に関するものである
が、媒体を装置内部に搬送して読み取る装置に限らず、
工場、倉庫、スーパーマーケット等で使用される設置型
のバーコード読み取り装置及びハンディ型のバーコード
読み取り装置にも本発明は適用できる。
【0062】また、上述した実施の形態ではビット加算
を行って黒ドット、白ドットの判定を行っているが、黒
ドット及び白ドットを計数し、一定数以上のドットをそ
の位置のドットと判定しても良い。さらに、バーコード
の位置を揃える方法は、スタートバーの位置を揃える方
法に限らず、複数のラインのビットの配列を比較して、
各ラインのビットがほぼそろうようにバーコードの位置
を揃えるようにしても良い。
【0063】また、読み取ったバーコードの幅を補正す
る際の基準となる閾値は、実施の形態に記載した”1.
5a−b”等の値に限らず、実際に検出された白バー、
黒バーの幅と、バーコードの規格により決められている
バーの幅とを元に閾値、あるいは補正値を算出すれば良
い。
【0064】
【発明の効果】本発明は、バーコードを複数のラインに
分割し、各ラインの同一位置のドットに基づいてその位
置のドットが黒ドットか、白ドットかを判定することで
バーコードの認識精度を向上させることができる。ま
た、読み取ったバーの幅を予め決まっているバーの幅と
実際のバーの幅に基づいて補正することにより、バーの
幅のばらつきによるバーコードの認識誤りを減らすこと
ができる。また、バーコードの上下の一定部分を除いた
残りの部分を複数のラインに分割して認識することによ
り、さらに認識精度を高めることができる。
【図面の簡単な説明】
【図1】実施の形態のバーコード読み取り装置のブロッ
ク図である。
【図2】スタート/エンドバーの検索処理のフローチャ
ートである。
【図3】各ラインのバーコードの位置をそろえてワーク
領域にコピーする処理のフローチャートである。
【図4】各ラインのバーコードのドットを判定する処理
のフローチャートである。
【図5】バーコードの判定方法の説明図である。
【図6】バーコードの上下の部分を除いて複数のライン
に分割する場合の説明図である。
【図7】バーコードの上半分、下半分あるいは中央部を
複数のラインに分割する場合の説明図である。
【図8】バーコードの補正処理のフローチャートであ
る。
【符号の説明】
11 イメージセンサ 15 MPU 17 ROM

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】読み取ったバーコードをバーと直交する方
    向に複数のラインに分割し、 各ラインの同一位置のドットが白または黒ドットの何れ
    であるかに基づいて前記バーコードのそれぞれの位置の
    ドットが白または黒ドットの何れであるかを判定し、 前記判定結果に基づいてバーコードを認識することを特
    徴とするバーコード認識方法。
  2. 【請求項2】前記各ラインの同一位置のドットを累計
    し、所定数以上の白または黒ドットを前記位置のドット
    と判定することを特徴とする請求項1記載のバーコード
    認識方法。
  3. 【請求項3】各ラインの最初に検出された所定数以上の
    黒ドットをバーコードのスタートバーとして認識し、前
    記スタートバーの位置を揃えて各ラインの同一位置のド
    ットが白または黒ドットの何れかを判定することを特徴
    とする請求項1または2記載のバーコード認識方法。
  4. 【請求項4】各ラインの検出された黒ドットの数がバー
    の幅に対応する所定数に達せず、黒ドットの間に最小の
    バーの幅に対応するドット数より少ない数の白ドットが
    存在する場合には、前記白ドットを黒ドットとみなして
    バーの幅の判定を行うことを特徴とする請求項1,2ま
    たは3記載のバーコード認識方法。
  5. 【請求項5】前記バーコードの上下の一定部分を除いた
    残りの部分を複数のラインに分割してバーコードの認識
    を行うことを特徴とする請求項1,2,3または4記載
    のバーコードの認識方法。
  6. 【請求項6】読み取ったバーコードから基準となる白バ
    ー及び黒バーを検索し、 前記基準となる白バー及び黒バーの幅からそれぞれの最
    小のバー幅を求め、 予め定められている白バー及び黒バーの最小のバー幅か
    ら算出される値と、前記基準となる白バー及び黒バーか
    ら求められた最小のバー幅との差データをそれぞれ算出
    し、 前記予め定められている白バー及び黒バーの最小のバー
    幅と、前記算出された白バー及び黒バーの差データとに
    基づいて適正な最小のバー幅及びその整数倍の白バー及
    び黒バーの幅を算出し、 前記バーコードの白バーまたは黒バーが前記算出された
    適正なバー幅の何れに該当するかを判定し、 前記バーコードの白バー及び黒バーの幅を前記判定結果
    に基づいて前記適正な白バー及び黒バーの幅に補正し、 前記バー幅の補正されたバーコードを認識することを特
    徴とするバーコード認識方法。
  7. 【請求項7】前記読み取られた基準となる白バー及び黒
    バーの幅方向のドット数から白バー及び黒バーの最小の
    バー幅のドット数を求め、 予め定められている白バー及び黒バーの最小のバー幅に
    対応するドット数に所定値を乗算して得られる基準ドッ
    ト数と、予め定められている白バー及び黒バーの最小の
    バー幅に対応するドット数と前記基準となる白バー及び
    黒バーから求めた白バー及び黒バーの最小のバー幅のド
    ット数との差データとを算出し、 前記予め定められている白バー及び黒バーの最小のバー
    幅の基準ドット数に所定値を乗算して得られる値と、前
    記算出された差データとに基づいて白バー及び黒バーの
    バー幅の判定の基準となる最小のバー幅及びその整数倍
    のバー幅を算出し、 前記バーコードの白バー及び黒バーの幅を前記判定の基
    準となる複数のバー幅の何れに該当するかを判定し、 前記判定結果に基づいて前記バーコードの白バー及び黒
    バーのドット数を前記判定の基準となるバー幅のドット
    数と等しくなるように補正することを特徴とする請求項
    6記載のバーコード認識方法。
  8. 【請求項8】バーコードを読み取る読み取り手段と、 前記読み取り手段により読み取ったバーコードをバーと
    直交する方向に複数のラインに分割し、分割した各ライ
    ンの同一位置のドットが白または黒ドットの何れかに基
    づいてバーコードのそれぞれの位置のドットが白または
    黒ドットの何れであるかを判定する判定手段と、 前記判定手段の判定結果に基づいてバーコードを認識す
    る認識手段とを備えることを特徴とするバーコード読み
    取り装置。
  9. 【請求項9】前記判定手段は、各ラインの同一位置のド
    ットを累計し、所定数以上の白または黒ドットを前記位
    置のドットと判定することを特徴とする請求項8記載の
    バーコード読み取り装置。
  10. 【請求項10】バーコードを読み取る読み取り手段と、 読み取ったバーコードからバーの幅が基準となる白バー
    及び黒バーを検索する検索手段と、 前記基準となる白バー及び黒バーの幅からそれぞれの最
    小のバー幅を求める第1のバー幅算出手段と、 予め定められている白バー及び黒バーの最小のバー幅か
    らそれぞれ算出される値と、前記基準となる白バー及び
    黒バーから求められた最小のバー幅との差データをそれ
    ぞれ算出する差データ算出手段と、 前記予め定められている白バー及び黒バーの最小のバー
    幅と前記算出された白バー及び黒バーとの差データとに
    基づいて最小のバー幅及びその整数倍の適正な白バー及
    び黒バーの幅を算出する第2のバー幅算出手段と、 前記バーコードの白または黒バーが前記算出された適正
    なバー幅の何れに該当するを判定し、前記バーコードの
    白バー及び黒バーの幅を前記判定結果に基づいて前記適
    正な白バー及び黒バーの幅に補正する補正手段と、 前記補正手段によりバー幅の補正されたバーコードを認
    識する認識手段とを備えることを特徴とするバーコード
    読み取り装置。
JP11093554A 1999-03-31 1999-03-31 バーコード認識方法及びバーコード読み取り装置 Pending JP2000285197A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11093554A JP2000285197A (ja) 1999-03-31 1999-03-31 バーコード認識方法及びバーコード読み取り装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11093554A JP2000285197A (ja) 1999-03-31 1999-03-31 バーコード認識方法及びバーコード読み取り装置

Publications (1)

Publication Number Publication Date
JP2000285197A true JP2000285197A (ja) 2000-10-13

Family

ID=14085484

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11093554A Pending JP2000285197A (ja) 1999-03-31 1999-03-31 バーコード認識方法及びバーコード読み取り装置

Country Status (1)

Country Link
JP (1) JP2000285197A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003108915A (ja) * 2001-09-28 2003-04-11 Sharp Corp バーコード認識装置
US7562820B2 (en) 2002-12-17 2009-07-21 Sharp Kabushiki Kaisha Barcode recognition apparatus

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003108915A (ja) * 2001-09-28 2003-04-11 Sharp Corp バーコード認識装置
US7562820B2 (en) 2002-12-17 2009-07-21 Sharp Kabushiki Kaisha Barcode recognition apparatus

Similar Documents

Publication Publication Date Title
US4488678A (en) Method and apparatus for reading a bar code
JP2002234213A (ja) カラー校正ジョブ識別エンコードのためのパッチコード
EP0339376B1 (en) Device for reading positional information on photographic films
US5537431A (en) Method and apparatus for bar code reading and decoding
JP4550262B2 (ja) バーコードのエラー検出と修正を行うための方法及びシステム
JP2001250080A (ja) バーコードのエラー検出及び修正のためのシステム及びその方法
US5302814A (en) Bar code reading apparatus
JP2000285197A (ja) バーコード認識方法及びバーコード読み取り装置
JP2009157858A (ja) 印刷検査装置
WO2000019355A1 (fr) Dispositif et procede de correction de la largeur de barre, lecteur de code a barres et procede de decodage de code a barres
JP4518418B2 (ja) 印刷データの完全性を監視する印刷システム並びに印刷方法、およびコンピュータプログラム製品
JP2009157869A (ja) 印刷検査装置
JPH09237312A (ja) 光学的文字読取装置
JPH0661967B2 (ja) 出力方法
CN109532255A (zh) 打印机的打印控制平台
JPH0814834B2 (ja) バーコード読取装置
JP2009157861A (ja) 印刷検査装置
JP2003099710A (ja) 光学式読み取り装置の印字制御方法
JP2002166634A (ja) プリンタ
JP2000251011A (ja) バーコード認識装置および帳票認識装置
JPS63272145A (ja) ダンプ出力装置
JP3356819B2 (ja) マーク認識装置
JPH113402A (ja) イメージ読取装置
JPH04339750A (ja) バーコードラベル貼付け方法
JPH06309488A (ja) 通番印字装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040624

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040713

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20041130