(57)【特許請求の範囲】
【請求項１】
バーコードを含む文書画像に対しラベリングを行い、各ラベル領域毎の特徴量と重心位置を検出するラベリング手段と、各領域の特徴量と重心位置に基づき所定の距離で隣り合うラベル領域を１つのグループに統合し、バーコード候補領域として検出する領域検出手段と、前記バーコード候補領域に含まれる個々のバーの特徴量から各バーの種類を識別し、バーコードを復号化する復号化手段とを具備するバーコード読み取り装置。
【請求項２】
ラベリングを行う前に、予め微小パターンを画像から消去する微小図形除去手段を具備することを特徴とする請求項１記載のバーコード読み取り装置。
【請求項３】
ラベリング手段は、ラベルの同一性の検出による書き換えを必要としないラベル領域を検出することを特徴とする請求項１または２記載のバーコード読み取り装置。
【請求項４】
ラベリング手段は、特徴量として面積、周囲長、または外接矩形を検出することを特徴とする請求項１または３記載のバーコード読み取り装置。
【請求項５】
復号化手段は、各バーの面積と重心位置に基づき復号化することを特徴とする請求項１乃至４のいずれかに記載のバーコード読み取り装置。
【請求項６】
バーコードは、ＪＡＮコードまたはロングバー、セミロングバー、及びタイミングバーからなる郵便処理用4-stateコードであることを特徴とする請求項１乃至５のいずれかに記載のバーコード読み取り装置。
【請求項７】
復号化手段は、各バーの面積から、ロングバー、セミロングバー、またはタイミングバーのいずれかであることを識別することを特徴とする請求項６記載のバーコード読み取り装置。
【請求項８】
復号化手段は、ロングバー又はタイミングバーの重心を通る直線を求め、セミロングバーの重心位置が、前記直線が分割する平面のいずれの領域に含まれるかを検出することにより、セミロングバーの位相関係を識別することを特徴とする請求項７記載のバーコード読み取り装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、郵便物のような文字、図形、模様を含む文書画像においてバーコードの位置、方向を特定し、バーコードを読み取り復号化するためのバーコード読み取り装置に関する。
【０００２】
【従来の技術】
バーコードは、商品販売、物流、生産工程等における物品の管理情報を表記する手段として、幅広い分野で活用されている。このようなバーコードを読み取る方法として、ハンドスキャナーやペン入力スキャナーのように作業者がバーコード面を直接指示しバーコードを読み取る場合や、定置型スキャナーにおいて複数方向にビームを走査させ、少なくとも１本のビームはバーコード面を正しく走査しバーコードを読み取れるように構成したものがある。
【０００３】
また一方、対象物を２次元の画像データとして入力し、画像に含まれるバーコード領域を画像処理により抽出し、読取り復号化する方式があり、この方式の場合バーコードの位置、方向に限定受けることなく、また対象物に複数のバーコードが存在しても全てのバーコードを復号化できる利点がある。このような画像処理によるバーコード読み取り技術として、例えば特開平０２−１２５３８６号公報があり、その実施例を図１１を用いて説明する。
【０００４】
図１１は、バーコード読み取りのための画像処理の構成を示しており、入力９０１からの画像データを２値化手段９０３で２値化し、２値レベル変化検出手段９０４により輪郭画像に変換した後、黒膨張手段９０５によりバーコードの一定周期で並ぶ輪郭線を融合しバーコード領域を塗り潰す。続いて黒収縮手段９０６により背景を消滅させバーコード領域を抽出し、この領域の回帰直線に沿って画像データを読み取り復号化するもので、流通用等で用いられている一般的な一次元バーコードに対して、位置、方向の限定を受けることなく読み取ることが可能である。
【０００５】
【発明が解決しようとする課題】
しかしながら上記の従来の構成では、図２に示すバーコードのように、バーの長さが短い場合、バーコード領域を背景から正確に分離することは困難である。図２は、郵便処理用バーコード（4-stateコード）の例を示しており、２１はロングバー、２２はセミロングバー、２３はタイミングバーである。郵便処理においては、これら３種類のバーの組み合わせにより宛名情報が符号化されている。バーコード各部の標準寸法は、ロングバー長さH1が3.6mm、セミロングバー長さH2が2.4mm、タイミングバー長さH3が1.2mm、バー幅W1及びバースペースW2が0.6mm、バーピッチPが1.2mmとなっており、バー長さが印刷文字と同程度であるため、文字等の背景に対しバーコードを正確に分離抽出することは困難である。
【０００６】
本発明は、前記従来技術の課題を解決するもので、４-stateコードのようにピッチや大きさが背景と類似している場合でも、バーコード領域を正確に検出し復号化することのできる信頼性の高いバーコード読み取り装置を提供することを目的とする。
【０００７】
【課題を解決するための手段】
上記課題を解決するために本発明は、バーコードを含む文書画像に対し、パターンにラベル付けを行い個々のパターンを分離し、各ラベル領域毎の特徴量と重心位置を検出するラベリング手段と、各ラベル領域の特徴量と重心位置に基づき所定の距離で隣り合うラベル領域を１つのグループに統合し、バーコード候補領域として検出する領域検出手段と、前記バーコード候補領域に含まれる個々のバーの特徴量から各バーの種類を識別し、バーコードを復号化する復号化手段とを設けたものである。
【０００８】
これにより、文書中にバーコードと文字、図形が混在しても、任意位置、任意方向のバーコード領域を検出することができ、簡易でかつ信頼性の高いバーコード読み取り装置を実現できる。
【０００９】
【発明の実施の形態】
本発明の請求項１記載の発明は、バーコードを含む文書画像に対しラベル付けを行い、各ラベル領域毎に特徴量と重心位置を求めるラベリング手段と、各ラベル領域の特徴量と重心位置に基づき所定の距離で隣り合うラベル領域をグループ化し、バーコード候補領域として検出する領域検出手段と、前記バーコード候補領域に含まれる各バーの特徴量から各バーの種類を識別し、バーコードを復号化する復号化手段とを具備するバーコード読み取り装置としたものであり、文字や図形の混在する画像中に任意位置、任意方向で存在するのバーコードを正確に復号化できるという作用を有する。
【００１０】
本発明の請求項２記載の発明は、ラベリングの前に予めバーコード以外の微小な孤立点やピンホール、及びパターン周辺の凹凸を除去する微小図形除去手段を設けたもので、ラベル数を削減し処理を高速化するという作用を有する。
【００１１】
本発明の請求項３記載の発明は、ラベリング時に隣接するラベルの同一性を検証し、異なるラベルの場合は古いラベルに書き換える処理を省略するようにしたもので、処理を高速化するという作用を有する。
【００１２】
本発明の請求項４記載の発明は、各ラベル領域の図形的特徴量として、面積、周囲長、または外接矩形を検出するもので、パターンの大きさと形状を正確に判定できるという作用を有する。
【００１３】
本発明の請求項５記載の発明は、復号化の際に各バーの面積と重心位置からバーの組み合わせを検出し復号化するもので、JANコードや4-stateコードなどの多様なコード形式のバーコードを復号化できるという作用を有する。
【００１４】
本発明の請求項６記載の発明は、バーコードは、ロングバー、セミロングバー、及びタイミングバーの３種類からなる4-stateコードを対象とするもので、前記面積、周囲長または外接矩形の特徴量に基づき、正確にバーを識別できるという作用を有する。
【００１５】
本発明の請求項７記載の発明は、パターンの特徴として面積に基づきバーの種類を識別することを特徴とするもので、１列に並ぶ各バーが上記３種類のバーのいずれに該当するかを正確に判定できるという作用を有する。
【００１６】
本発明の請求項８記載の発明は、ロングバーまたはタイミングバーの重心を通る直線を求め、セミロングバーの重心が前記直線の分割する平面のいずれに含まれるかを検出するもので、バーコード内のセミロングバーの位相関係を正確に検出できるという作用を有する。
【００１７】
以下、本発明の実施の形態について、図１から図１０を用いて説明する。
（実施の形態１）
図１は、本発明の実施の形態１のバーコード読み取り装置のブロック結線図を示している。図１において、１はバーコードを含む文書を読み取り２値画像を生成する画像入力手段、２は２値画像内の微小なノイズやノッチを除去する微小図形除去手段、３はパターンにラベル付けを行い、各ラベル領域毎に面積と重心位置を求めるラベリング手段、４は各ラベル領域の面積と重心位置に基づき、所定の面積を有し所定の距離で隣り合う一連のパターンをバーコード候補領域として検出する領域判定手段、５はバーコード候補領域内の個々のバーの面積からバーの種類を判定しバーコードを復号化する復号化手段である。
【００１８】
以上のように構成されたバーコード読み取り装置について、その動作を以下に具体的に説明する。本発明の実施の形態１では、画像入力にＣＣＤラインセンサによるイメージスキャナを用い、走査線密度８本／ｍｍ程度で文書を読み取るものとし、バーコードとして図２に示した郵便処理用バーコード（4-stateコード）を用いるものとする。入力画像でのバーコード各部のサイズは、ロングバー長さh1＝２９画素、セミロングバー長さh2＝１９画素タイミングバー長さh3＝１０画素、バー幅w1＝５画素、バースペースw2＝５画素、ピッチp＝１０画素、程度となる。
【００１９】
まず、画像入力手段１によりバーコードを含む文書を読み取り、バー部が値１、背景が値０をもつ２値画像を生成する。２値化は、固定閾値で行いプリスキャンにより文書の濃度ヒストグラムを求め、パターンと背景による双峰の谷部の閾値を選択し、入力画像を２値化する。
【００２０】
次に、微小図形除去手段２について図３を用いて説明する。図３は、微小パターンの除去に用いる３×３画素の判定マスクの一例を示すもので、同図（ａ）は各画素位置の定義を示しており、以下具体例として、図３（ｂ）は孤立点、図３（ｃ）はパターン周辺のノッチ、図３（ｄ）はパターン中のホールを検出するマスク例をそれぞれ示している。
【００２１】
具体的な処理としては、例えば同図（ｂ）及び（ｃ）については中央画素の位置に値０を出力し、同図（ｄ）については値１を出力する。すなわち２値画像を３×３窓でラスタ走査し、注目画素とその８近傍のビットパターンから注目画素の変換値を求め出力する。これらの処理はラインバッファとシフトレジスタによる窓走査と、ＬＵＴ（ルック・アップ・テーブル）によるパターン判定で実現できるが、これらは一般的な技術であり説明は省略する。
【００２２】
また、本発明の実施の形態１では、窓走査を４回反復して画像を変換し、奇数回目の処理は注目画素の値を１から０に変換し、偶数回目の処理では注目画素の値を０から１に変換する。図３では、変換するパターンの代表例を示したが、実際は（数１）及び（数２）で決定されるパターンに対し、注目画素の値を変換する。（数１）は奇数回目の走査において、（数２）は偶数回目の走査において変換するパターンの条件式をそれぞれ示している。
【００２３】
【数１】
0003635829.tif 000002
【００２４】
【数２】
0003635829.tif 000003
【００２５】
以上の微小図形の除去により、２ないし３画素以内の孤立パターンが除去され、次に説明するラベル付けする個数および処理時間を削減することができる。
【００２６】
次に、ラベリング手段３について、図４から図６を用いて説明する。図４は、ラベリング手段３における仮ラベルを付ける手順を示すフロー図、図５は仮ラベルを付けかえる手順を示すフロー図、図６は各ラベル領域の特徴量を登録する特徴量テーブルを示す。
【００２７】
まず、図４を参照しながら仮ラベルを付ける手順について説明する。ステップ４０においてラベルｎの初期値に１を設定し、次にステップ４２において入力画像の最初の走査位置につく。ステップ４２は、図３（ａ）に示す注目位置ｄ０の近傍の既走査領域すなわちｄ２、ｄ３、ｄ４、ｄ５の画素位置を参照し、ラベルが付与されている画素があるかどうかを判定するステップで、Noの場合はステップ４３へ進み、現在の注目位置にラベルｎを付与し、さらにステップ４４においてラベルｎを１更新し、ステップ４１に戻る。
【００２８】
前記ステップ４２の判定に関しYesの場合は、ステップ４５の判定へ進み、注目位置近傍のラベルは全て同一かどうかを判定し、同一ラベルである場合はステップ４６へ進み、それと同一のラベルを注目位置に与え、ステップ４１へ戻る。ステップ４５の判定に関しNoの場合は、ステップ４７へ進み、既走査領域における最も古い（番号の小さい）ラベルを注目位置に与え、更にステップ４８へ進む。
【００２９】
ステップ４８は、ラベルの同一性を記録するステップで、例えば分岐があるパターンに対し、走査が進むことにより枝が合流した場合に、本来は同一のラベルである所を異なるラベルが付与されているため、各々のラベルは同一であることを変換テーブルに記録する。変換テーブルは、［仮ラベル，変換フラグ，変換ラ番号，領域番号］の項目を記録するルックアップテーブルで、既走査領域の全てのラベルを同じラベル番号に統一するために、注目画素ｄ０、ｄ２、ｄ３、ｄ４、ｄ５の画素位置のラベル番号に対し変換フラグをonにし、変換後のラベル番号を登録する。
【００３０】
ステップ４９の判定において走査終了ならば、次の図５のフローへ進み、そうでない場合はステップ４１へ戻る。
【００３１】
以上の手順により、画像中の全てのパターンに対し仮ラベルが与えられる。
次に、図５及び図６を用いて変換テーブルの書き換え、及びパターンの特徴量を求める処理について説明する。図５において、ステップ５１から６１までは変換テーブルの書き換え手順を示しており、ステップ６２から６７まではパターンの特徴量を求める手順を示している。
【００３２】
まず、ステップ５１において領域番号ｉに１を設定し、ステップ５２で前記変換テーブルを１行ずつ読み込む。ステップ５３の判定において、その仮ラベルと変換ラベルが等しいときはステップ５４へ進み、等しくないときはステップ５７を介してステップ５２へ戻り変換テーブルの次の行を読む。ステップ５４で領域番号として番号ｉを与えた後、ステップ５５でその変換フラグをoffにする。続くステップ５６で領域番号を１増大し、ステップ５７で変換テーブルの処理終了のときはステップ５８へ進み、終了でない場合は再びステップ５２へ戻り同様の手順を繰り返す。
【００３３】
ステップ５８からは、変換フラグに基づいてラベルの同一化を行うもので、変換テーブルを１行ずつ読み込み、ステップ５９の判定で、変換フラグがonの場合はステップ６０へ進み、offの場合はステップ６１を介してステップ５８へ戻り変換テーブルにおいて次の行を読み込む。
【００３４】
ステップ６０においては、現在注目しているラベルの領域番号として、その変換ラベルの示す先の番号位置の領域番号と同じ番号を設定し、ステップ６１に進む。ステップ６１は、変換テーブルの処理終了のときはステップ６２へ進み、終了でない場合は再びステップ５８へ戻り同様の手順を繰り返す。
【００３５】
以上の手順を変換テーブルの最後まで繰り返す事により、連続した領域番号をもつテーブルに変換される。
【００３６】
ステップ６２以降は、各領域の特徴量を求める手順で、まず図６に示す特徴量テーブルの各項を初期化（値０）し、以下仮ラベルのつけられた画像情報に基づき、各パターンの特徴量を求める。
【００３７】
ステップ６３で１画素読み込んだ後、ステップ６４で現在の仮ラベルの番号をもとに前記変換テーブルを参照し、その領域番号をチェックする。
【００３８】
ステップ６５は、特徴量テーブルの該当位置に現在注目している画素の座標を加算するもので、領域番号ｉのX(i)及びY(i)に現在の画素のｘ座標及びｙ座標をそれぞれ加算し、個数s(i)を１インクリメントする。
【００３９】
ステップ６６の判定において、画像を最後まで処理した場合はステップ６７へ進み、そうでない場合は再びステップ６３に戻り同様の処理を繰り返す。
【００４０】
ステップ６７においては、図６に示す特徴量テーブルの全ての領域に対し重心位置として、X(i)/s(i)及びY(i)/s(i)を計算し、特徴量テーブルのxg(i)及びyg(i)に書き込む。
【００４１】
以上の手順により、入力画像中の連結したパターンの特徴量、すなわち面積、重心位置が求められる。
【００４２】
なお本発明の実施の形態１では特徴量として面積を求めたが、かわりにパターンの周囲長あるいはパターンの外接矩形を求め、以降の領域判定手段４においてこれらの特徴を用いて判定を行ってもよい。
【００４３】
また、ラベリング手段３において、バーコードのバーは分岐の存在しない凸図形であることを利用し、上記ステップ５１から６１までを省略し、ステップ６２以下は変換テーブルにおいて変換フラグがoffである番号の領域のみについて処理を行うことにより処理の高速化を図ることも可能である。
【００４４】
次に、領域判定手段４について、図７及び図８を用いて説明する。図７は、領域判定手段４におけるグルーピング処理手順を示すフロー図、図８はグルーピング処理時に参照するグループテーブルを示しており、グループテーブルは構造体grとして定義する。
【００４５】
図７において、まずステップ７１で図６に示した特徴量テーブルから島領域の重心の座標xg、yg、及び面積sを１組ずつ読み込み、続いてステップ７２で面積sが（数３）を満足するかどうかを判定する。すなわち、ロングバー、セミロングバー、タイミングバーのいずれであるかを判定するもので、許容度t1として（数３）のいずれの条件を満たすかを判定する。
【００４６】
【数３】
0003635829.tif 000004
【００４７】
上記いずれの条件も満たさないときは、再びステップ７１へ戻り、いずれかの条件をみたす場合はステップ７３の判定へ進む。
【００４８】
ステップ７３では、既存の全てのグループgr[0]からgr[k]について、flagが１すなわちグループとして有効な情報をもつグループに対して、現在の島領域の重心位置がそのグループのメンバーである島領域の重心位置と一定距離を有しているかどうかを判定する。すなわち重心間の距離dが（数４）で示すように、バーのピッチpに対して許容度t2で示す範囲に含まれるかどうかを判定する。
【００４９】
【数４】
0003635829.tif 000005
【００５０】
上記判定を全ての有効なグループに対して実施し、現在注目している島領域がいずれのグループに所属しているかが決定される。いずれのグループに対しても所属しない場合はステップ７４へ進み、新たなグループgr[k+1]としてグループテーブルへ登録する。このとき有効フラグflagを１にセットし、候補フラグbar_flagを０、メンバーの総数memberに１を設定し、最初のグループとしてx[0]、y[0]、s[0]、及びbar[0]に重心のｘ座標、ｙ座標、面積、及びバーの種別を登録する。バーの種別は、ロングバーが１、セミロングバーが２、タイミングバーが３とする。
【００５１】
上記ステップ７３の判定結果、ただ一つのグループに対して所属する場合はステップ７５へ進み、メンバーの総数memberを１増加し、重心座標、面積、バーの種別を登録する。
【００５２】
上記ステップ７３の判定結果、複数のグループに対して所属する場合はステップ７６へ進み、新たなグループgr[k+1]として複数のグループをマージする。すなわち、メンバーの総数memberには複数のグループのメンバーの合計に１増加した値を設定し、全てのメンバー及び現在注目している島領域の重心座標、面積、バーの種別を登録する。この場合、さらにステップ７７へ進み、マージした複数のグループの有効フラグを０にリセットし無効とする。
【００５３】
ステップ７８では、特徴量テーブルのデータを全て処理したかどうか判定し、終了していない場合は再びステップ７１へ戻り、終了した場合はステップ７９へ進む。
【００５４】
ステップ７９においては、以上の処理で生成されたグループ全てに対しメンバーの総数のチェックを行い、そのグループがバーコード候補領域かどうかを判定する。バーコードのバーの総数をNとすると各グループのメンバーの総数memberがN以上の場合、そのグループの候補フラグbar_flagを１にセットし、そうでないグループは０にする。
【００５５】
以上の処理により、バーコード候補領域とその領域に含まれるバーの重心座標と種別が検出される。
【００５６】
次に復号化手段５について、図９及び図１０を用いて説明する。図９は、復号化手段４におけるバーコードのデコード手順を示すフロー図、図１０はセミロングバーのバーコードの中心線に対する位相関係を示す図である。
【００５７】
図９において、まずステップ９０で、前記グループテーブルから候補フラグが立っているバーコード候補領域のデータを読み込み、ステップ９１で全メンバーの重心座標に基づき、全メンバーを包含する最小の外接矩形を求める。外接矩形とは、全メンバーのｘ座標の最小値xmin、最大値xmax、及びｙ座標の最小値ymin、最大値ymaxとすると、４つの座標（xmin,ymin）、（xmax,ymin）、（xmin,ymax）、（xmax,ymax）を頂点とする長方形である。この外接矩形のｘ方向の辺がｙ方向の辺以上の長さを有するとき、バーコードの中心軸とｘ軸のなす角が±４５°以内であり、逆にｘ方向の辺の長さがｙ方向の辺の長さ未満であれば、バーコードの中心軸とｙ軸のなす角が±４５°未満である。
【００５８】
ステップ９２では、グループのメンバーのうち前記領域判定手段４でロングバーあるいはタイミングバーと判定されたメンバーの点を通る回帰直線を求める。回帰直線の式は、バーコードの中心軸とｘ軸のなす角が±４５°以内である場合、ｙ＝ａ＋ｂｘとしてａ及びｂを（数５）に従って求める。ロングバー、タイミングバーの総本数をｎとすると
【００５９】
【数５】
0003635829.tif 000006
【００６０】
またバーコードの中心軸とｙ軸のなす角が、±４５°未満である場合、ｘ＝ｃ＋ｄｙとしてｃ及びｄを（数６）に従って求める。
【００６１】
【数６】
0003635829.tif 000007
【００６２】
次にステップ９３において、各メンバーの座標と前記回帰直線との距離を算出し、所定の値δとの比較判定を行い、δを越える場合はステップ９４へ進み、δ以内の場合はステップ９５へ進む。このとき点（ｘ，ｙ）と直線間の距離は次の計算により算出する。直線とｘ軸とのなす角が±４５°以内の場合は（数５）に対応して（数７）により算出し、直線とｙ軸とのなす角が±４５°以内の場合は（数６）に対応して（数８）により算出する。
【００６３】
【数７】
0003635829.tif 000008
【００６４】
【数８】
0003635829.tif 000009
【００６５】
ステップ９４においては、該当するメンバーは、直線から離れておりバーとはみなさないため、グループテーブルの該当するx、y、s、barの項目の値を−１にして無効とし、メンバー総数memberの値を１減らす。
【００６６】
ステップ９５では、全てのメンバーに対して前記直線との距離のチェッを行ったかどうかを判定し、終了した場合はステップ９６へ進み、そうでない場合は再びステップ９３の判定に戻る。
【００６７】
ステップ９６では、メンバーの総数がバーコードのバーの総本数と一致するかどうかを判定し、一致する場合はステップ９７へ進み、一致しない場合はこのグループはバーコードではないと判断し、ステップ１００へ進む。
【００６８】
ステップ９７においては、後のステップ９９でバーコードを復号化するために、メンバーを回帰直線に沿って端から整列化する。この時前記直線がｘ軸となす角が±４５°以内の場合は、各メンバーの点のｘ座標に関してソートし、ｙ軸となす角が±４５°未満の場合は、各メンバーの点のｙ座標に関してソートする。続くステップ９８は、３種類のバーのうちのセミロングバーのバーコードの中心軸に対する位相関係を検出するステップであり、図１０にその具体例を示す。
【００６９】
図１０は、バーコードの中心軸とｙ軸とのなす角が±４５°未満である例を示すもので、セミロングバーの重心位置１０１（ｘ１，ｙ１）、１０２（ｘ２，ｙ２）、及び１０３（ｘ３，ｙ３）が中心軸のどちら側に存在するか（直線との位相関係）を検出する。この場合x1＜ｃ＋ｄ・y1、x2＜ｃ＋ｄ・y2、及びx3＞ｃ＋ｄ・y3であるので、点１０１と１０２は直線に対し負側、１０３は直線に対し正側に存在することが検出できる。
【００７０】
ステップ９９では、そのグループメンバーを端から検索し、バーの種別とセミロングバーの位相関係から、図示しないコード変換テーブルを参照し、バーコードを復号化する。続いてステップ１００で候補グループを全てチェックしたかどうかを判定し、チェックを終了していない場合はステップ９０に戻り次の候補グループに関して同様の処理を行い、そうでない場合は処理を終了する。
【００７１】
なお、本発明の実施の形態１では、バーコードとして4-stateコードを対象に復号化したが、一般に広く使用されているJANコードを対象としても実現可能である。この場合、領域判定手段４におけるステップ７２の面積判定により太バーか細バーかの種別を判定し、復号化手段５におけるステップ９９にける位相検出にかわり、各メンバー間の距離を求めスペースの大小を判定することにより、バーとスペースの大小を検出すればよい。
【００７２】
以上のように本発明の実施の形態１によれば、第１に、文書画像に含まれるパターンにラベリングし、一定間隔で並ぶ複数のラベル領域をグルーピングすることにより任意位置、任意方向のバーコードを復号化できるという効果が得られる。
【００７３】
第２に、微小図形除去手段でラベリングの前に予めバーコード以外の微小なパターンを除去しラベル数を削減する事により、処理を高速化できるという効果が得られる。
【００７４】
第３に、ラベリング時の隣接するラベルの同一性を検証において、ラベルの書き換え処理を省略する事により、処理が高速化できるという効果が得られる。
【００７５】
第４に、各ラベル領域の図形的特徴量として、面積、周囲長、または外接矩形を検出する事により、領域判定手段におけるパターンの大きさと形状の判定が正確に行えるという効果が得られる。
【００７６】
第５に、復号化の際に各バーの面積と重心位置からバーの組み合わせを検出する事により、JANコードや4-stateコードなどの多様なコード形式のバーコードを復号化できるという効果が得られる。
【００７７】
第６に、バーコードは、ロングバー、セミロングバー、及びタイミングバーの３種類からなる4-stateコードを対象とし、面積、周囲長、または外接矩形のいずれかの特徴量に基づきバーの種類を正確に識別できるという効果が得られる。
【００７８】
第７に、パターンの特徴として面積に基づきバーの種類を識別することを特徴とするもので、１列に並ぶ各バーが上記３種類のバーのいずれに該当するかを正確に判定できるという効果が得られる。
【００７９】
本発明の請求項８記載の発明は、セミロングバーの位相関係を識別する際、ロングバーまたはタイミングバーの重心を通る直線を求め、セミロングバーの重心と前記直線の位置関係を検出する事により、簡易な方法で正確にバーコードを復号化できるという効果が得られる。
【００８０】
【発明の効果】
以上のように本発明の効果は、入力文書画像に対しラベルリングし、各ラベル領域毎に特徴量と重心位置を求め、所定の特徴量を有し、かつ所定の距離で隣り合うラベル領域をグループ化し、バーコード候補領域として検出し、バーコード候補領域に含まれる各バーの特徴量から各バーの種類の識別と、位相関係を検出することにより、文字、図形を背景に含む文書画像中の任意位置かつ任意方向にバーコードが存在しても、簡易な構成で正確に復号化できる信頼性の高いバーコード読み取り装置が実現できる。
【図面の簡単な説明】
【図１】本発明の実施の形態１におけるバーコード読み取り装置のブロック結線図
【図２】同実施の形態１のバーコード読み取り装置における読み取り対象のバーコードを示す図
【図３】同実施の形態１のバーコード読み取り装置における微小図形除去手段の判定マスクを示す図
【図４】同実施の形態１のバーコード読み取り装置におけるラベリング手段の処理手順を示すフロー図
【図５】同実施の形態１のバーコード読み取り装置におけるラベリング手段の処理手順を示すフロー図
【図６】同実施の形態１のバーコード読み取り装置におけるラベリング手段によりラベルが付けられた領域の特徴量を登録する特徴量テーブルの例を示す図
【図７】同実施の形態１のバーコード読み取り装置における領域判定手段の処理手順を示すフロー図
【図８】同実施の形態１のバーコード読み取り装置における領域判定手段によりグループ化された領域のメンバーの特徴量を登録するグループテーブルの例を示す図
【図９】同実施の形態１のバーコード読み取り装置における復号化手段の処理手順を示すフロー図
【図１０】同実施の形態１のバーコード読み取り装置における復号化手段によるバーの位相関係の検出を説明する図
【図１１】従来例のブロック結線図
【符号の説明】
１  画像入力手段
２  微小図形除去手段
３  ラベリング手段
４  領域検出手段
５  復号化手段
２１  ロングバー
２２  セミロングバー
２３  タイミングバー
９０１  画像入力端子
９０２  画信号記憶手段
９０３  ２値化手段
９０４  ２値レベル変化検出手段
９０５  黒膨張手段
９０６  黒収縮手段
９０７  回帰直線演算手段
９０８  読み出し座標演算手段
９０９  バーコード復号化手段
【図１】
0003635829.tif 000010
【図２】
0003635829.tif 000011
【図３】
0003635829.tif 000012
【図４】
0003635829.tif 000013
【図５】
0003635829.tif 000014
【図６】
0003635829.tif 000015
【図７】
0003635829.tif 000016
【図８】
0003635829.tif 000017
【図９】
0003635829.tif 000018
【図１０】
0003635829.tif 000019
【図１１】
0003635829.tif 000020