(57)【要約】【課題】背景の状態にかかわりなくバーコードを正確に認識できるバーコードの認識方法及び認識装置を提供すること。【解決手段】黒バーに相当する部分の画素値の最大値と、白バーに相当する部分の画素値の最小値とを検出し、これらの中間値を二値化のための閾値としたので、背景に模様やシミ等があっても、黒バーと白バーとを確実かつ正確に二値化することができ、バーコードを正しく認識することができる。【選択図】  図１
2004246795.tif 000002
【特許請求の範囲】
【請求項１】
バーコードを読み取り、このバーコードの画像を、その画像領域を構成する各画素値として記憶し、
前記画像領域の、バーコードの配列方向に沿う少なくとも１ライン分の画素値を走査して、バーコードを構成する黒バー及び白バーの幅に相当する画素数の各画素値を取出し、
前記取出された各画素値から、最大値と最小値とを検出し、この最大値と最小値との中間値を閾値として求め、
前記求められた閾値により前記黒バー及び白バーに相当する画素値を二値化する、
ことを特徴とするバーコード認識方法。
【請求項２】
黒バー及び白バーは互いに隣接する１組であることを特徴とする請求項１に記載のバーコード認識方法。
【請求項３】
バーコードは、長さの異なる黒バーを組み合わせたカスタマバーコードで、走査する１ライン分の画素値は、最も長い黒バーの長さ方向中心に相当する画素値であることを特徴とする請求項１または請求項２に記載のバーコード認識方法。
【請求項４】
バーコードの読み取り手段と、
このバーコードの画像領域分の画素値記憶部を有し、前記読み取られたバーコードの画像を、その画像領域の各画素値として記憶する画素値記憶手段と、
この画素値記憶手段に記憶された前記画像領域に対し、バーコードの配列方向に沿う少なくとも１ライン分の画素値を走査して、バーコードを構成する黒バー及び白バーの幅に相当する各画素値を取出す走査手段と、
この走査手段により取出された各画素値から、最大値と最小値とを検出し、この最大値と最小値との中間値を閾値として求める閾値演算手段と、
この閾値演算手段により求められた閾値を用いて前記黒バー及び白バーに相当する画素値を二値化する二値化手段と、
を備えたことを特徴とするバーコード認識装置。
【請求項５】
走査手段が走査する黒バー及び白バーは、互いに隣接する１組であることを特徴とする請求項４に記載のバーコード認識装置。
【請求項６】
走査手段は、長さの異なる黒バーを組み合わせたカスタマバーコードの、最も長い黒バーの長さ方向中心に相当する１ライン分の画素値を走査することを特徴とする請求項４または請求項５に記載のバーコード認識装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、二値化処理によりバーコードを認識するバーコード認識方法および認識装置に関する。
【０００２】
【従来の技術】
一般に、各種の流通分野などにおいて、バーコードが広く用いられており、そのコード内容を読取って認識する方法も種々提案されている（例えば、特許文献１参照）。
【０００３】
バーコードは、周知のように所定長さ及び幅の黒バーと、これら黒バー間に形成される白バーとを、予め決められた所定の規則にしたがって組合わせ、意味を持たせたものである。このバーコードの認識に当たっては、バーコードを光学的に読込み、その画像信号を二値化して、黒バーと白バーとの組合わせを判別し、認識するようにしている。
【０００４】
従来の、代表的なバーコード認識手法を、図４を用いて説明する。まず画像読取手段により、光学的手法によってバーコードを読取り（Ｓ４０１）、その画像信号を図示しない記憶手段に記憶させる。記憶手段は画像領域をマトリックス状に細分化した画素毎に画像信号を記憶している。この画素毎の信号レベルを画素値と呼ぶ。この画素値は、通常、８ビット、２５６階調で表され、値が大きいほど黒に近づき、値が小さいほど白に近づく。
【０００５】
次に、記憶装置上のバーコード領域を、基準点からの座標値により指定する（Ｓ４０２）。この指定領域を、バーコートの配列方向（各黒バー及び白バーと直交する方向）に沿って１ラインごとに走査する（Ｓ４０３）。この走査によりライン上の各画素値の個数を算出し、図５のようなヒストグラムを作成する（Ｓ４０４）。この走査を順次繰り返し、領域内の全ラインについて画素値の個数を算出する。領域内の全ラインに対する走査が完了すると図５で示すヒストグラムが完成する（Ｓ４０５）。
【０００６】
すなわち、バーコードは黒バーと白バーとの組合せであるため、走査により白に相当する画素値の画素と黒に相当する画素値の画素とが最も多く、図５で示すように、それぞれの画素値に画素数のピークが生じる。そこで、白画素のピークと黒画素のピークとの間の谷間の画素値を二値化のための閾値として決定する（Ｓ４０６）。
【０００７】
このようにして閾値を定めた後、領域内の各画素値を閾値と比較して二値化し（Ｓ４０７）、その二値化の結果を出力する（Ｓ４０８）。このように領域内の各画素を二値化することにより、黒バーおよび白バーの形状が認識され、それらの組合せ内容からバーコードの内容を認識することができる。
【０００８】
このような従来の手法は、黒バーと白バーとが明確に判別できる場合、例えば、白地に黒バーを印刷した場合等では、図５で示したように、白バーの画素値と黒バーの画素値とにそれぞれ画素数のピークが明確に生じ、これらの谷間の値を閾値とすることにより、黒バーと白バーとを明確に識別できる。
【０００９】
しかしながら、バーコードが広く各種の分野で用いられる現在では、必ずしも白地に黒バーを印刷するとは限らず、閾値の設定が難しく、その結果、黒バーと白バーとの判別性能が低下するという問題が生じた。例えば、近年、郵便物にもバーコードが付されるようになっている。この場合、バーコードは封筒などの表面に直接印刷される。封筒は、白色だけでなくオレンジ色や薄緑色のものがあり、さらには模様が印刷されている場合もある。
【００１０】
特に、模様或いはシミ等があると、図５のようなヒストグラムを作成した場合、黒バーの画素値と白バー（背景色）の画素値との山の間に、模様やシミ等に起因する画素値の山がいくつもできる。このため、最も深い谷における画素値を閾値としても黒バーと白バー（背景色バー）との判別が難しく、認識誤りが生じやすかった。
【００１１】
【特許文献１】
特開２０００−２８５１９７号
【００１２】
【発明が解決しようとする課題】
このように、黒バー及び白バー毎の画素値の画素数によるヒストグラムを作成し、これに基づいて二値化のための閾値を決定した場合、背景が白でない場合や、模様やしみ等がある場合は、二値化のための閾値の設定が難しく、認識誤りが生じやすかった。
【００１３】
本発明の目的は、背景の状態にかかわりなくバーコードを正確に認識できるバーコードの認識方法及び認識装置を提供することにある。
【００１４】
【課題を解決するための手段】
本発明によるバーコード認識方法は、バーコードを読み取り、このバーコードの画像を、その画像領域を構成する各画素値として記憶し、前記画像領域の、バーコードの配列方向に沿う少なくとも１ライン分の画素値を走査して、バーコードを構成する黒バー及び白バーの幅に相当する画素数の各画素値を取出し、  前記取出された各画素値から、最大値と最小値とを検出し、この最大値と最小値との中間値を閾値として求め、前記求められた閾値により前記黒バー及び白バーに相当する画素値を二値化することを特徴とする。
【００１５】
本発明において、黒バー及び白バーは互いに隣接する１組でよい。
【００１６】
また、本発明では、バーコードは、長さの異なる黒バーを組み合わせたカスタマバーコードでもよく、この場合、走査する１ライン分の画素値は、最も長い黒バーの長さ方向中心に相当する画素値とする。
【００１７】
本発明によるバーコード認識装置は、バーコードの読み取り手段と、このバーコードの画像領域分の画素値記憶部を有し、前記読み取られたバーコードの画像を、その画像領域の各画素値として記憶する画素値記憶手段と、この画素値記憶手段に記憶された前記画像領域に対し、バーコードの配列方向に沿う少なくとも１ライン分の画素値を走査して、バーコードを構成する黒バー及び白バーの幅に相当する各画素値を取出す走査手段と、この走査手段により取出された各画素値から、最大値と最小値とを検出し、この最大値と最小値との中間値を閾値として求める閾値演算手段と、この閾値演算手段により求められた閾値を用いて前記黒バー及び白バーに相当する画素値を二値化する二値化手段とを備えたことを特徴とする。
【００１８】
本発明装置では、走査手段が走査する黒バー及び白バーは互いに隣接する１組でもよい。
【００１９】
また、本発明装置では、走査手段は、バーコードが長さの異なる黒バーを組み合わせたカスタマバーコードの場合、最も長い黒バーの長さ方向中心に相当する１ライン分の画素値を走査する。
【００２０】
これらの発明では、黒バーに相当する画素値の最大値と、白バーに相当する画素値の最小値とを検出し、これらの中間値を二値化のための閾値としたので、背景に模様やシミ等があっても、黒バーと白バーとを確実かつ正確に二値化することができ、バーコードを正しく認識することができる。
【００２１】
【発明の実施の形態】
以下、本発明によるバーコード認識方法及び認識装置の一実施の形態を、図面を参照して説明する。
【００２２】
始めに、この実施の形態において読み取り対象となるバーコードとして、郵便物に対して付されるカスタマバーコードを例示する。このカスタマバーコードは、図３で示すように長さの異なる４種類の黒バー、すなわち、ロングバー、セミロングバー（上）、セミロングバー（下）、タイミングバーの４つの形状のバーを３本組み合わせて１つのキャラクターを表す４ステイト３バーである。そして、これらの組合せにより、スタートコード＋７桁の郵便番号＋住所表示番号（番地部分）＋チェックデジット＋ストップコードを構成している。
【００２３】
このカスタマバーコードは、これを郵便物（封書や葉書等）の表面に付すことにより、郵便料金が割引されることから、大量の郵便物を発送する場合、例えば、ダイレクトメール等に広く用いられるようになってきた。
【００２４】
このようなカスタマバーコードは、前述のように、郵便物の表面に直接印字されるため、必ずしも白地の上に印字されるとは限らず、各種の背景色或いは模様等の表面に印字されるため、黒バー及び白バー判別のための二値化が難しい。そこで本発明では、図１で示すような構成のバーコード認識装置を用いる。
【００２５】
図１において、１１はバーコードの読み取り手段で、郵便物の表面に印字されたバーコード１２を光学的に読み取る。１３は画素値記憶手段で、読み取られたバーコード１２の画像領域にマトリクス状に配置された多数の画素値記憶部を有し、前記読み取られたバーコード１２の画像信号を、その画像領域の各画素値として記憶する。
【００２６】
１４は走査手段で、この画素値記憶手段１３に記憶された前記画像領域に対し、バーコード１２の配列方向（黒バーと直交する図示横方向）に沿う少なくとも１ライン分の画素値を走査する。そして、このライン上における黒バー及び白バーの幅に相当する各画素値を取出す。ここで、画素値は、前述したように、８ビット、２５６階調で表され、値が大きいほど黒に近づき、値が小さいほど白に近づく。
【００２７】
１５は閾値演算手段で、走査手段１４により取出された各画素値から、最大値ｑｍａｘと最小値ｑｍｉｎとを検出する。そして、これらの差が設定値（例えば、４０）以上であることを条件に、閾値ｂｅｓｔ＿ｔｈを算出する。この閾値ｂｅｓｔ＿ｔｈは、最大値ｑｍａｘと最小値ｑｍｉｎとの中間値であり、次式のように求める。
【００２８】
ｂｅｓｔ＿ｔｈ＝ｑｍｉｎ＋（ｑｍａｘ−ｑｍｉｎ）／２
１６は二値化手段で、閾値演算手段１５により求められた閾値ｂｅｓｔ＿ｔｈを用いて、黒バー及び白バーに相当する部分の画素値を二値化する。
【００２９】
ここで、走査手段１４が閾値を求めるために走査する黒バー及び白バーは互いに隣接する１組である。すなわち、１組の黒バー及び白バーに相当する１ライン分の各画素値を走査し、それらの最大値ｑｍａｘと最小値ｑｍｉｎとから閾値ｂｅｓｔ＿ｔｈを求め、この閾値ｂｅｓｔ＿ｔｈを用いて１組の黒バー及び白バーに相当する部分の各画素値を二値化する。この動作を繰り返すことによりバーコード１２全体を二値化する。
【００３０】
また、この実施の形態では、対象となるバーコード１２として、長さの異なる黒バーを組み合わせたカスタマバーコードとしたので、走査手段１４が走査する１ラインは、最も長い黒バー（ロングバー）の長さ方向中心に相当する１ラインとする。すなわち、図３で示すように、ロングバーの長さ方向中心部分は、他のセミロングバー（上）（下）及びタイミングバーのいずれもが存在する位置であるので、この中心部分の画素値を走査することにより、どの長さのバーにも対応することができる。
【００３１】
次に、作用を図２のフローチャートを用いて説明する。
【００３２】
まず、画像読取手段１１により、光学的手法によってバーコード１２を読取り（Ｓ２０１）、その画像信号を画素値記憶手段１３を構成する多数の画素値記憶部に画素値として記憶させる。そして、この画素値記憶手段１３に記憶されたバーコード１２に対応する領域を、基準点からの座標値によりバーコード領域として指定する（Ｓ２０２）。
【００３３】
次に、バーコード領域の中心（ロングバーの長さ方向中心でもある）を、座標値により指定し、この中心点から座標をＸ方向に変化させ、黒バーと直交する図示横方向に１ライン分走査する（Ｓ２０３）。この走査により、１組の黒バーと白バーとの幅寸法に相当する画素数の画素値を取出す（Ｓ２０４）。
【００３４】
通常、バーコードは８ポイントから１１．５ポイントで印字されており、８画素／ｍｍとすると、画素数に換算して６画素から１２画素となる。したがって、ここでは１２画素の画素値を取出すものとする。
【００３５】
このように取出した１２画素の画素値から、最大値ｑｍａｘと最小値ｑｍｉｎを検出し（Ｓ２０５，Ｓ２０６）、さらに、これらの差を基準値と比較することにより、二値化判別可能かの条件判定を行う（Ｓ２０７）。ここで、基準値：４０は、実験により求めた値であり、条件によっては異なる値でもかまわない。
【００３６】
条件判定（Ｓ２０７）の結果、基準値より大きく二値化判定可能であれば、前記最大値ｑｍａｘと最小値ｑｍｉｎとから、その中間値を閾値ｂｅｓｔ＿ｔｈとして算出する（Ｓ２０８）。そして、この閾値ｂｅｓｔ＿ｔｈを用いて、１組の黒バー及び白バーに対応する部分の各画素値を比較し、二値化（Ｓ２０９）を行う。すなわち、座標値をＹ方向に変化させ、黒バー及び白バーの上下方向についても各画素値を閾値と比較させ、二値化を行う。
【００３７】
この後、次の１２画素の画素値を取出し、同様にして、次の１組の黒バー及び白バーについての二値化を行う。この動作を繰り返し、バーコード１２全体の二値化が終了後、二値化の結果出力を行う（Ｓ２１０）。この二値化の結果から、例えば上下方向の黒画素数をカウントすれば、黒バーの長さがを判別でき、その黒バーが、ロングバー、セミロングバー（上）、セミロングバー（下）、タイミングバーのいずれかであることを認識することができる。
【００３８】
ここで、上記実施の形態では、バーコードを構成する黒バー及び白バーに相当する１ライン分の画素値を取出し、これら画素値の最大値と最小値との中間値を閾値として求め、この閾値により黒バー及び白バーに相当する部分の画素値を二値化している。このため、背景色が白以外であったり、模様やシミ等が存在していても、その都度適切な閾値を設定できるので、バーコード部分を確実かつ正確に二値化でき、バーコードの認識性能が向上する。
【００３９】
上記実施の形態では、認識対象となるバーコードとして、黒バーの長さが異なるカスタマバーコードを例示したが、もちろん、これ以外の通常のバーコードにも適用可能である。
【００４０】
また、閾値算出のため走査手段１４により走査されるラインは、黒バーの長さ方向中心部分であるが、黒バーの長さが均等なバーコードでは、黒バーの長さ方向中心以外の部分であってもよい。ただし、バーコードの印字状態は、通常、黒バーの中心部分がもっとも鮮明であり、閾値算出のための走査は、中心ラインであることが好ましい。
【００４１】
さらに、閾値算出のための走査ラインは、１ラインのみに限定されるものではなく２〜３ライン走査してももちろん構わない。
【００４２】
【発明の効果】
本発明によれば、バーコードの背景が白以外であっても、或いは背景に模様等があっても、適切な閾値によって黒バー及び白バー部分の画素値を確実かつ正確に二値化できるので、黒バーの形状を正確に判別でき、バーコードの認識性能を向上させることができる。
【図面の簡単な説明】
【図１】本発明によるバーコード認識装置の一実施の形態を示すブロック図である。
【図２】同上一実施の形態の作用を説明するフローチャートである。
【図３】同上一実施の形態での読み取り対象となるバーコードを説明するための図である。
【図４】従来技術を説明するためのフローチャートである。
【図５】従来技術を説明するためのヒストグラムである。
【符号の説明】
１１    読み取り手段
１２    バーコード
１３    画素値記憶手段
１４    走査手段
１５    閾値演算手段
１６    二値化手段
【図１】
2004246795.tif 000003
【図２】
2004246795.tif 000004
【図３】
2004246795.tif 000005
【図４】
2004246795.tif 000006
【図５】
2004246795.tif 000007