(57)【要約】【課題】  画像情報のバーコード部分にボイドスポットや白抜けなどのノイズが存在しても、これらに起因する誤読を防止して高い認識率を得ることができるバーコード読み取り方法及びバーコード読取装置を提供すること。【解決手段】  バーコード読み取り手段１１読み取られたバーコード１２の画像情報を、バーコード１２を構成するバーの長さ方向及び幅方向に配列された複数の画素毎の２値情報として保持するメモリ１４を有する。また、前記バーの長さ方向に対し所定数の画素が判定用画素として設定されており、前記メモリ１４に保持された各画素の２値情報をそれぞれ読出し、前記バーの長さ方向の画素列毎に、前記判定用画素のうち予め設定した割合以上の画素が黒画素の場合、この画素列を黒と判定すると共に黒画素の数が予め設定した割合に満たない場合はこの画素列を白と判定する画素列２値判定手段１５を有する。そして、この画素列２値判定手段１５による画素列毎の白／黒判定をバーコードの幅方向に向って順次繰り返してバーコードを読み取ることを特徴とする。【選択図】図１
2005165948.tif 000002
【特許請求の範囲】
【請求項１】
バーコードの画像情報を、バーコードを構成するバーの長さ方向及び幅方向に配列された複数の画素毎の２値情報として展開し、
前記バーの長さ方向に対し所定数の画素を判定用画素として設定し、
この所定数の判定用画素のうち予め設定した割合以上の画素が黒画素の場合、この判定用画素が存在する画素列を黒と判定すると共に黒画素の数が予め設定した割合に満たない場合はこの画素列を白と判定し、この画素列毎の白／黒判定をバーコードの幅方向に向って順次繰り返すことを特徴とするバーコード読み取り方法。
【請求項２】
バーコードの画像情報を、バーコードを構成するバーの長さ方向及び幅方向に配列された複数の画素毎の２値情報として展開し、
前記バーの長さ方向の互いに異なる複数箇所について、このバーの全長に相当する画素数の１／３以下の画素数を判定用画素として設定し、
前記複数箇所において、それぞれ前記判定用画素のうち、予め設定した割合以上の画素が黒画素の場合、当該箇所の画素列を黒と判定し、黒画素の数が予め設定した割合に満たない場合はこの画素列を白と判定し、このバー全長に対する画素列の白／黒判定をバーコードの幅方向に向って順次繰り返すことを特徴とするバーコード読み取り方法。
【請求項３】
バーコードの画像情報を読み取るバーコード読み取り手段と、
この読み取られたバーコードの画像情報を、バーコードを構成するバーの長さ方向及び幅方向に配列された複数の画素毎の２値情報として保持するメモリと、
前記バーの長さ方向に対し所定数の画素が判定用画素として設定されており、前記メモリに保持された各画素の２値情報をそれぞれ読出し、前記バーの長さ方向に配列された前記判定用画素のうち、予め設定した割合以上の画素が黒画素の場合、この画素列を黒と判定すると共に黒画素の数が予め設定した割合に満たない場合はこの画素列を白と判定する画素列２値判定手段とを備え、
この画素列２値判定手段による画素列毎の白／黒判定をバーコードの幅方向に向って順次繰り返してバーコードを読み取ることを特徴とするバーコード読み取り装置。
【請求項４】
バーコードの画像情報を読み取るバーコード読み取り手段と、
この読み取られたバーコードの画像情報を、バーコードを構成するバーの長さ方向及び幅方向に配列された複数の画素毎の２値情報として保持するメモリと、
前記バーの長さ方向の互いに異なる複数箇所について、このバーの全長に相当する画素数の１／３以下の画素数が判定用画素として設定されており、前記メモリに保持された各画素の２値情報をそれぞれ読出し、前記複数箇所について、それぞれ前記判定用画素のうち、予め設定した割合以上の画素が黒画素の場合、当該箇所の画素列を黒と判定すると共に黒画素の数が予め設定した割合に満たない場合はこの画素列を白と判定する画素列２値判定手段とを備え、  
このバー全長に対する画素列の白／黒判定をバーコードの幅方向に向って順次繰り返してバーコードを読み取ることを特徴とするバーコード読み取り装置。  
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、バーコードを画像信号として読み取り、この画像信号に基づいてデコードを行うバーコード読み取り方法及びバーコード読み取り装置に関する。
【背景技術】
【０００２】
一般に、商品などの貼付されているバーコードは、その商品の取引に関する情報を保持しており、これを正確に読み取ることが重要である。通常、バーコードの読み取りはスキャナなどによりバーコードを画像情報として読み取り、この読み取った画像情報をデコードすることにより、保持された情報を得ている。この場合、バーコードが白地上に黒字で明確に表示されていれば、誤読を生じることなく正確に読み取ることができる。
【０００３】
しかしながら、バーコードが形成される紙面上が完全に白色でない場合や、汚れなどが付着していると、バーコードを誤読することがある。このような誤読を防止するために、従来から種々の提案がなされていた（例えば、特許文献１参照）。
【特許文献１】特開平６−３４８８９２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
これら従来の提案は、読み取り対象のバーコードと下地とのコントラストの差が少ないものや下地の濃度が徐々に変化するものなどに対しては有効に機能し、バーコードの誤読を防止できた。しかし、画像情報のバーコード部分にボイドスポットや、白抜けなどのノイズが存在する場合の誤読対策としては不十分であった。
【０００５】
本発明の目的は、画像情報のバーコード部分にボイドスポットや白抜けなどのノイズが存在しても、これらに起因する誤読を防止して高い認識率を得ることができるバーコード読み取り方法及びバーコード読取装置を提供することにある。
【課題を解決するための手段】
【０００６】
本発明のバーコード読み取り方法は、バーコードの画像情報を、バーコードを構成するバーの長さ方向及び幅方向に配列された複数の画素毎の２値情報として展開し、前記バーの長さ方向に対し所定数の画素を判定用画素として設定し、この判定用画素のうち予め設定した割合以上の画素が黒画素の場合、この判定用画素が存在する画素列を黒と判定すると共に黒画素の数が予め設定した割合に満たない場合はこの画素列を白と判定し、この画素列毎の白／黒判定をバーコードの幅方向に向って順次繰り返すことを特徴とする。
【０００７】
また、本発明のバーコード読み取り方法は、バーコードの画像情報を、バーコードを構成するバーの長さ方向及び幅方向に配列された複数の画素毎の２値情報として展開し、前記バーの長さ方向の互いに異なる複数箇所について、このバーの全長に相当する画素数の１／３以下の画素を判定用画素として設定し、前記複数箇所において、それぞれ前記判定用画素のうち、予め設定した割合以上の画素が黒画素の場合、当該箇所の画素列を黒と判定し、黒画素の数が予め設定した割合に満たない場合はこの画素列を白と判定し、このバー全長に対する画素列の白／黒判定をバーコードの幅方向に向って順次繰り返すことを特徴とする。
【０００８】
本発明のバーコード読み取り装置は、バーコードの画像情報を読み取るバーコード読み取り手段と、この読み取られたバーコードの画像情報を、バーコードを構成するバーの長さ方向及び幅方向に配列された複数の画素毎の２値情報として保持するメモリと、前記バーの長さ方向に対し所定数の画素が判定用画素として設定されており、前記メモリに保持された各画素の２値情報をそれぞれ読出し、前記バーの長さ方向に配列された前記判定用画素のうち予め設定した割合以上の画素が黒画素の場合、この画素列を黒と判定すると共に黒画素の数が予め設定した割合に満たない場合はこの画素列を白と判定する画素列２値判定手段とを備え、この画素列２値判定手段による画素列毎の白／黒判定をバーコードの幅方向に向って順次繰り返してバーコードを読み取ることを特徴とする。
【０００９】
さらに、本発明のバーコード読み取り装置は、バーコードの画像情報を読み取るバーコード読み取り手段と、この読み取られたバーコードの画像情報を、バーコードを構成するバーの長さ方向及び幅方向に配列された複数の画素毎の２値情報として保持するメモリと、前記バーの長さ方向の互いに異なる複数箇所について、このバーの全長に相当する画素数の１／３以下の画素数が判定用画素として設定されており、前記メモリに保持された各画素の２値情報をそれぞれ読出し、前記複数箇所について、それぞれ所定数の判定用画素のうち、予め設定した割合以上の画素が黒画素の場合、当該箇所の画素列を黒と判定すると共に黒画素の数が予め設定した割合に満たない場合はこの画素列を白と判定する画素列２値判定手段を備え、このバー全長に対する画素列の白／黒判定をバーコードの幅方向に向って順次繰り返してバーコードを読み取ることを特徴とする。
【発明の効果】
【００１０】
本発明によれば、画像情報のバーコード部分にボイドスポットや白抜けなどのノイズが存在しても、これらに起因する誤読を防止できるので、高い認識率による高信頼性を得ることができる。
【発明を実施するための最良の形態】
【００１１】
以下、本発明によるバーコード読み取り方法及びバーコード読み取り装置の一実施の形態について、図面を用いて説明する。
【００１２】
図１は、バーコード読み取り装置の構成を示している。図１において、１１はスキャナなどによるバーコード読み取り手段で、紙片などに印刷されたバーコード１２を光学的に読み取る。
【００１３】
１３は入力処理手段で、バーコード読み取り手段１１で読み取られ、入力される２次元画像情報（多値または２値）から、バーコード部分を検出して切り出す。また、切り出されたバーコード部分が多値画像であれば（通常は多値画像として読み取られる）２値化して白黒の画像とする。
【００１４】
１４はメモリで、入力処理手段１３で２値化されたバーコード部分の画像情報を画素毎に保持する。このメモリ１４は、図２で示すように、それぞれＸ・Ｙ座標によるアドレスを有する多数の画素単位を有しており、バーコード１２部分の画像情報は、バーの長さ方向（Ｙ方向）及び幅方向（Ｘ方向）に配列された各画素の２値情報として展開されている。
【００１５】
１５は画素列２値判定手段で、読出し制御手段１６による制御のもと、メモリ１４に保持されている各画素の２値情報をそれぞれ読出し、所定の画素列について、白／黒のいずれかを判定する。すなわち、読出し制御手段１６には、判定用画素として、バーの長さ方向（Ｙ方向）に対し、所定の画素数（例えば、５個）が設定されている。画素列２値判定手段１５は、読出し制御手段１６による制御によりメモリ１４から読み出した各画素について、そのアドレスから、Ｙ方向に配列された５個の判定用画素の白／黒の判定を行う。その結果、５個の判定用画素のうち予め設定した割合以上の画素が黒画素の場合、この５個の判定用画素による画素列を黒と判定する。また、黒画素の数が前記割合に満たない場合はこの画素列を白と判定する。
【００１６】
上記構成において、バーコード１２は、読み取り手段１１により光学的に読み取られ、その２次元画像は入力処理手段１３に入力される。入力処理手段１３では、入力された２次元画像情報からバーコード部分を切り取り、かつ２値化して、図２で示すように、メモリ１４に各画素単位の２値情報として保持させる。
【００１７】
画素列２値判定手段１５は、読出し制御手段１６による制御のもと、メモリ１４を図２の上方からＸ方向に１ラインずつ走査し、各画素の２値情報を読出して、まず図３で示すように各ラインの射影を撮る。射影とは、白画素を「０」、黒画素を「１」としてそのラインの画素値合計を求めたものである。たとえば、図２の上から２ラインはすべて白画素であるため、このラインの画素値は「０」ゼロである。これに対し、図２の上から３ラインから７ラインまでは、黒画素がそれぞれ１２個存在しているので、これらラインの画素値は「１２」となる。したがって、これらラインごとの画素値からバーコードが存在していることが判断でき、かつ、バーコードがどのラインから始まっているかを判別できる。
【００１８】
画素列２値判定手段１５は、予め設定されている判定用画素の画素数（この場合５個）に相当する５ライン分の画素についてそれらの２値情報を読み出すと、Ｙ方向に配列された５個の判定用画素の２値情報を判別する。そして、５個の判定用画素のうち黒画素の数が予め設定した割合（例えば、６０％：３個）以上の場合、この５個の判定用画素による画素列を黒と判定する。また、黒画素の数が前記割合に満たない場合はこの画素列を白と判定する。
【００１９】
例えば、実際のバーコードの画像情報が、ボイドスポットや白抜けなどのノイズにより、図４で示すように、メモリ１２の画素上に展開されている場合、図示左から４列までは、いずれもＹ方向に配列された５個の画素のうち、黒画素の数が２個以下（６０％に満たない）であるため、これらの画素列は白と判定する。これに対し、図示左から５列目及び６列目は、いずれもＹ方向に配列された５個の画素のうち、黒画素の数が３個または４個（６０％：３個以上）であるため、これらの画素列は黒と判定する。以下、順次Ｙ方向に配列された５個の画素のうちの黒画素数により、その画素列が白か黒かを判定する。これらの判定結果は、図４の最下列に白丸及び黒丸で表示している。
【００２０】
上記判定結果から、バーコード１２を構成する黒バー及び白バー（スペース）の幅寸法を求められ、この判定結果を用いてバーコードをデコードすることができる。
【００２１】
このような判定を行うことにより、黒バー部分では５画素中に２画素までの白抜けを許容することができ、また白バー部分（スペース部）では５画素中に２画素までの黒ノイズを許容することができることから、画像のボイドスポットなどのノイズに対しても強く、高い認識率を得ることができる。
【００２２】
上記説明は、本発明の基本的な考え方を示したものである。実際のバーコードにおけるバーの長さは、１０〜１５ｍｍ程度であり、画素数に換算すると８０から１２０ライン程度となる。
【００２３】
例えば、図６で示すように、まず、バー上部においてＹ方向に５ライン分の画素列を前述の手法によりデコードし、文字列に変換する。次に、Ｙ方向に２０ライン分移動し、再び５ライン分の画素列をデコードし、文字列を得る。さらに、再度Ｙ方向に２０ライン分移動し、５ライン分の画素列をデコードし、文字列を得る。
【００２４】
そして、これら複数箇所（図の例では３箇所）の画素列の文字列を比較し、２箇所の文字列が一致したら、その文字列をデコード結果として出力する。
【００２５】
このような、方法を実現するための装置構成を図５により説明する。図５において、バーコード読み取り装置としての基本的構成は図１で示したものと共通であり、バーコード１２を光学的に読み取る読み取り手段１１、入力処理手段１３、メモリ１４、画素列２値判定手段１５及び読出し制御手段１６ａを有する。ただし、読出し制御手段１６ａは、判定用画素数（前述の５ライン分）だけでなく、判定用位置情報として別の判定箇所に移動するための画素数（前述の２０ライン分）が設定されており、これらの設定値にしたがってメモリ１４から図６で示した複数箇所における各画素列の２値情報を判定する。
【００２６】
この他に、バー全長２値判定手段１７を設け、画素列２値判定手段１５で判定した複数箇所の判定結果（文字列）を比較し、２箇所以上の判定結果が一致した場合、その一致した文字列を出コード結果として出力する。
【００２７】
このように、バーコード１２を構成するバーの全長に渡る全画素の２値情報を操作するのではなく、互いに異なる複数箇所の画素列における各デコード結果を比較し、２箇所以上が同じであれば、デコード結果とするので、誤認識のない信頼性の高いバーコード読み取りを行うことができる。
【００２８】
なお、上記実施の形態では、判定用画素列の画素数を５個としたが、本発明はこれに限定されず、例えば、３個でもよい。すなわち、判定基準は、例えば「画素列の６０％以上の画素が黒の場合、この画素列を黒と判定する」というものであり、この割合を満足する数であればなんでもよい。
【００２９】
また、バー全長に対する複数の判定箇所としては、図６で示したように、少なくとも３箇所設定する必要があり、したがって、各判定箇所での判定用画素列の画素数は、バーの長さ方向の全画素数の１／３以下に設定する。
【図面の簡単な説明】
【００３０】
【図１】本発明によるバーコード読み取り装置の一実施の形態を示すブロック構成図である。
【図２】同上一実施の形態におけるメモリの画素毎の２値情報保持招待を説明する図である。
【図３】図２で示した２値情報の射影を撮った状態を示す図である。
【図４】同上実施の形態における画素列毎の２値判定状態を説明する図である。
【図５】本発明の他の実施の形態を示すブロック構成図である。
【図６】図５で示した実施の形態における複数箇所での２値判定状態を説明する図である。
【符号の説明】
【００３１】
１１    バーコード読み取り手段
１２    バーコード
１４    メモリ
１５    画素列２値判定手段
１６，１６ａ    読出し制御手段
１７    バー全長２値判定手段
【図１】
2005165948.tif 000003
【図２】
2005165948.tif 000004
【図３】
2005165948.tif 000005
【図４】
2005165948.tif 000006
【図５】
2005165948.tif 000007
【図６】
2005165948.tif 000008