JP3635829B2 - バーコード読み取り装置 - Google Patents

バーコード読み取り装置 Download PDF

Info

Publication number
JP3635829B2
JP3635829B2 JP32933596A JP32933596A JP3635829B2 JP 3635829 B2 JP3635829 B2 JP 3635829B2 JP 32933596 A JP32933596 A JP 32933596A JP 32933596 A JP32933596 A JP 32933596A JP 3635829 B2 JP3635829 B2 JP 3635829B2
Authority
JP
Japan
Prior art keywords
bar
barcode
area
label
reading apparatus
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
Application number
JP32933596A
Other languages
English (en)
Other versions
JPH10171916A (ja
Inventor
淳晴 山本
豊樹 川原
邦夫 吉田
幹男 藤田
徹 浅野
茂雄 小溝
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.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co 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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP32933596A priority Critical patent/JP3635829B2/ja
Priority to US08/987,110 priority patent/US6070800A/en
Publication of JPH10171916A publication Critical patent/JPH10171916A/ja
Application granted granted Critical
Publication of JP3635829B2 publication Critical patent/JP3635829B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
    • G06K7/1404Methods for optical code recognition
    • G06K7/1439Methods for optical code recognition including a method step for retrieval of the optical code
    • G06K7/1443Methods for optical code recognition including a method step for retrieval of the optical code locating of the code in an image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
    • G06K7/1404Methods for optical code recognition
    • G06K7/1439Methods for optical code recognition including a method step for retrieval of the optical code
    • G06K7/1456Methods for optical code recognition including a method step for retrieval of the optical code determining the orientation of the optical code with respect to the reader and correcting therefore

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Electromagnetism (AREA)
  • General Health & Medical Sciences (AREA)
  • Toxicology (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Analysis (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、郵便物のような文字、図形、模様を含む文書画像においてバーコードの位置、方向を特定し、バーコードを読み取り復号化するためのバーコード読み取り装置に関する。
【0002】
【従来の技術】
バーコードは、商品販売、物流、生産工程等における物品の管理情報を表記する手段として、幅広い分野で活用されている。このようなバーコードを読み取る方法として、ハンドスキャナーやペン入力スキャナーのように作業者がバーコード面を直接指示しバーコードを読み取る場合や、定置型スキャナーにおいて複数方向にビームを走査させ、少なくとも1本のビームはバーコード面を正しく走査しバーコードを読み取れるように構成したものがある。
【0003】
また一方、対象物を2次元の画像データとして入力し、画像に含まれるバーコード領域を画像処理により抽出し、読取り復号化する方式があり、この方式の場合バーコードの位置、方向に限定受けることなく、また対象物に複数のバーコードが存在しても全てのバーコードを復号化できる利点がある。このような画像処理によるバーコード読み取り技術として、例えば特開平02−125386号公報があり、その実施例を図11を用いて説明する。
【0004】
図11は、バーコード読み取りのための画像処理の構成を示しており、入力901からの画像データを2値化手段903で2値化し、2値レベル変化検出手段904により輪郭画像に変換した後、黒膨張手段905によりバーコードの一定周期で並ぶ輪郭線を融合しバーコード領域を塗り潰す。続いて黒収縮手段906により背景を消滅させバーコード領域を抽出し、この領域の回帰直線に沿って画像データを読み取り復号化するもので、流通用等で用いられている一般的な一次元バーコードに対して、位置、方向の限定を受けることなく読み取ることが可能である。
【0005】
【発明が解決しようとする課題】
しかしながら上記の従来の構成では、図2に示すバーコードのように、バーの長さが短い場合、バーコード領域を背景から正確に分離することは困難である。図2は、郵便処理用バーコード(4-stateコード)の例を示しており、21はロングバー、22はセミロングバー、23はタイミングバーである。郵便処理においては、これら3種類のバーの組み合わせにより宛名情報が符号化されている。バーコード各部の標準寸法は、ロングバー長さH1が3.6mm、セミロングバー長さH2が2.4mm、タイミングバー長さH3が1.2mm、バー幅W1及びバースペースW2が0.6mm、バーピッチPが1.2mmとなっており、バー長さが印刷文字と同程度であるため、文字等の背景に対しバーコードを正確に分離抽出することは困難である。
【0006】
本発明は、前記従来技術の課題を解決するもので、4-stateコードのようにピッチや大きさが背景と類似している場合でも、バーコード領域を正確に検出し復号化することのできる信頼性の高いバーコード読み取り装置を提供することを目的とする。
【0007】
【課題を解決するための手段】
上記課題を解決するために本発明は、バーコードを含む文書画像に対し、パターンにラベル付けを行い個々のパターンを分離し、各ラベル領域毎の特徴量と重心位置を検出するラベリング手段と、各ラベル領域の特徴量と重心位置に基づき所定の距離で隣り合うラベル領域を1つのグループに統合し、バーコード候補領域として検出する領域検出手段と、前記バーコード候補領域に含まれる個々のバーの特徴量から各バーの種類を識別し、バーコードを復号化する復号化手段とを設けたものである。
【0008】
これにより、文書中にバーコードと文字、図形が混在しても、任意位置、任意方向のバーコード領域を検出することができ、簡易でかつ信頼性の高いバーコード読み取り装置を実現できる。
【0009】
【発明の実施の形態】
本発明の請求項1記載の発明は、バーコードを含む文書画像に対しラベル付けを行い、各ラベル領域毎に特徴量と重心位置を求めるラベリング手段と、各ラベル領域の特徴量と重心位置に基づき所定の距離で隣り合うラベル領域をグループ化し、バーコード候補領域として検出する領域検出手段と、前記バーコード候補領域に含まれる各バーの特徴量から各バーの種類を識別し、バーコードを復号化する復号化手段とを具備するバーコード読み取り装置としたものであり、文字や図形の混在する画像中に任意位置、任意方向で存在するのバーコードを正確に復号化できるという作用を有する。
【0010】
本発明の請求項2記載の発明は、ラベリングの前に予めバーコード以外の微小な孤立点やピンホール、及びパターン周辺の凹凸を除去する微小図形除去手段を設けたもので、ラベル数を削減し処理を高速化するという作用を有する。
【0011】
本発明の請求項3記載の発明は、ラベリング時に隣接するラベルの同一性を検証し、異なるラベルの場合は古いラベルに書き換える処理を省略するようにしたもので、処理を高速化するという作用を有する。
【0012】
本発明の請求項4記載の発明は、各ラベル領域の図形的特徴量として、面積、周囲長、または外接矩形を検出するもので、パターンの大きさと形状を正確に判定できるという作用を有する。
【0013】
本発明の請求項5記載の発明は、復号化の際に各バーの面積と重心位置からバーの組み合わせを検出し復号化するもので、JANコードや4-stateコードなどの多様なコード形式のバーコードを復号化できるという作用を有する。
【0014】
本発明の請求項6記載の発明は、バーコードは、ロングバー、セミロングバー、及びタイミングバーの3種類からなる4-stateコードを対象とするもので、前記面積、周囲長または外接矩形の特徴量に基づき、正確にバーを識別できるという作用を有する。
【0015】
本発明の請求項7記載の発明は、パターンの特徴として面積に基づきバーの種類を識別することを特徴とするもので、1列に並ぶ各バーが上記3種類のバーのいずれに該当するかを正確に判定できるという作用を有する。
【0016】
本発明の請求項8記載の発明は、ロングバーまたはタイミングバーの重心を通る直線を求め、セミロングバーの重心が前記直線の分割する平面のいずれに含まれるかを検出するもので、バーコード内のセミロングバーの位相関係を正確に検出できるという作用を有する。
【0017】
以下、本発明の実施の形態について、図1から図10を用いて説明する。
(実施の形態1)
図1は、本発明の実施の形態1のバーコード読み取り装置のブロック結線図を示している。図1において、1はバーコードを含む文書を読み取り2値画像を生成する画像入力手段、2は2値画像内の微小なノイズやノッチを除去する微小図形除去手段、3はパターンにラベル付けを行い、各ラベル領域毎に面積と重心位置を求めるラベリング手段、4は各ラベル領域の面積と重心位置に基づき、所定の面積を有し所定の距離で隣り合う一連のパターンをバーコード候補領域として検出する領域判定手段、5はバーコード候補領域内の個々のバーの面積からバーの種類を判定しバーコードを復号化する復号化手段である。
【0018】
以上のように構成されたバーコード読み取り装置について、その動作を以下に具体的に説明する。本発明の実施の形態1では、画像入力にCCDラインセンサによるイメージスキャナを用い、走査線密度8本/mm程度で文書を読み取るものとし、バーコードとして図2に示した郵便処理用バーコード(4-stateコード)を用いるものとする。入力画像でのバーコード各部のサイズは、ロングバー長さh1=29画素、セミロングバー長さh2=19画素タイミングバー長さh3=10画素、バー幅w1=5画素、バースペースw2=5画素、ピッチp=10画素、程度となる。
【0019】
まず、画像入力手段1によりバーコードを含む文書を読み取り、バー部が値1、背景が値0をもつ2値画像を生成する。2値化は、固定閾値で行いプリスキャンにより文書の濃度ヒストグラムを求め、パターンと背景による双峰の谷部の閾値を選択し、入力画像を2値化する。
【0020】
次に、微小図形除去手段2について図3を用いて説明する。図3は、微小パターンの除去に用いる3×3画素の判定マスクの一例を示すもので、同図(a)は各画素位置の定義を示しており、以下具体例として、図3(b)は孤立点、図3(c)はパターン周辺のノッチ、図3(d)はパターン中のホールを検出するマスク例をそれぞれ示している。
【0021】
具体的な処理としては、例えば同図(b)及び(c)については中央画素の位置に値0を出力し、同図(d)については値1を出力する。すなわち2値画像を3×3窓でラスタ走査し、注目画素とその8近傍のビットパターンから注目画素の変換値を求め出力する。これらの処理はラインバッファとシフトレジスタによる窓走査と、LUT(ルック・アップ・テーブル)によるパターン判定で実現できるが、これらは一般的な技術であり説明は省略する。
【0022】
また、本発明の実施の形態1では、窓走査を4回反復して画像を変換し、奇数回目の処理は注目画素の値を1から0に変換し、偶数回目の処理では注目画素の値を0から1に変換する。図3では、変換するパターンの代表例を示したが、実際は(数1)及び(数2)で決定されるパターンに対し、注目画素の値を変換する。(数1)は奇数回目の走査において、(数2)は偶数回目の走査において変換するパターンの条件式をそれぞれ示している。
【0023】
【数1】
Figure 0003635829
【0024】
【数2】
Figure 0003635829
【0025】
以上の微小図形の除去により、2ないし3画素以内の孤立パターンが除去され、次に説明するラベル付けする個数および処理時間を削減することができる。
【0026】
次に、ラベリング手段3について、図4から図6を用いて説明する。図4は、ラベリング手段3における仮ラベルを付ける手順を示すフロー図、図5は仮ラベルを付けかえる手順を示すフロー図、図6は各ラベル領域の特徴量を登録する特徴量テーブルを示す。
【0027】
まず、図4を参照しながら仮ラベルを付ける手順について説明する。ステップ40においてラベルnの初期値に1を設定し、次にステップ42において入力画像の最初の走査位置につく。ステップ42は、図3(a)に示す注目位置d0の近傍の既走査領域すなわちd2、d3、d4、d5の画素位置を参照し、ラベルが付与されている画素があるかどうかを判定するステップで、Noの場合はステップ43へ進み、現在の注目位置にラベルnを付与し、さらにステップ44においてラベルnを1更新し、ステップ41に戻る。
【0028】
前記ステップ42の判定に関しYesの場合は、ステップ45の判定へ進み、注目位置近傍のラベルは全て同一かどうかを判定し、同一ラベルである場合はステップ46へ進み、それと同一のラベルを注目位置に与え、ステップ41へ戻る。ステップ45の判定に関しNoの場合は、ステップ47へ進み、既走査領域における最も古い(番号の小さい)ラベルを注目位置に与え、更にステップ48へ進む。
【0029】
ステップ48は、ラベルの同一性を記録するステップで、例えば分岐があるパターンに対し、走査が進むことにより枝が合流した場合に、本来は同一のラベルである所を異なるラベルが付与されているため、各々のラベルは同一であることを変換テーブルに記録する。変換テーブルは、[仮ラベル,変換フラグ,変換ラ番号,領域番号]の項目を記録するルックアップテーブルで、既走査領域の全てのラベルを同じラベル番号に統一するために、注目画素d0、d2、d3、d4、d5の画素位置のラベル番号に対し変換フラグをonにし、変換後のラベル番号を登録する。
【0030】
ステップ49の判定において走査終了ならば、次の図5のフローへ進み、そうでない場合はステップ41へ戻る。
【0031】
以上の手順により、画像中の全てのパターンに対し仮ラベルが与えられる。
次に、図5及び図6を用いて変換テーブルの書き換え、及びパターンの特徴量を求める処理について説明する。図5において、ステップ51から61までは変換テーブルの書き換え手順を示しており、ステップ62から67まではパターンの特徴量を求める手順を示している。
【0032】
まず、ステップ51において領域番号iに1を設定し、ステップ52で前記変換テーブルを1行ずつ読み込む。ステップ53の判定において、その仮ラベルと変換ラベルが等しいときはステップ54へ進み、等しくないときはステップ57を介してステップ52へ戻り変換テーブルの次の行を読む。ステップ54で領域番号として番号iを与えた後、ステップ55でその変換フラグをoffにする。続くステップ56で領域番号を1増大し、ステップ57で変換テーブルの処理終了のときはステップ58へ進み、終了でない場合は再びステップ52へ戻り同様の手順を繰り返す。
【0033】
ステップ58からは、変換フラグに基づいてラベルの同一化を行うもので、変換テーブルを1行ずつ読み込み、ステップ59の判定で、変換フラグがonの場合はステップ60へ進み、offの場合はステップ61を介してステップ58へ戻り変換テーブルにおいて次の行を読み込む。
【0034】
ステップ60においては、現在注目しているラベルの領域番号として、その変換ラベルの示す先の番号位置の領域番号と同じ番号を設定し、ステップ61に進む。ステップ61は、変換テーブルの処理終了のときはステップ62へ進み、終了でない場合は再びステップ58へ戻り同様の手順を繰り返す。
【0035】
以上の手順を変換テーブルの最後まで繰り返す事により、連続した領域番号をもつテーブルに変換される。
【0036】
ステップ62以降は、各領域の特徴量を求める手順で、まず図6に示す特徴量テーブルの各項を初期化(値0)し、以下仮ラベルのつけられた画像情報に基づき、各パターンの特徴量を求める。
【0037】
ステップ63で1画素読み込んだ後、ステップ64で現在の仮ラベルの番号をもとに前記変換テーブルを参照し、その領域番号をチェックする。
【0038】
ステップ65は、特徴量テーブルの該当位置に現在注目している画素の座標を加算するもので、領域番号iのX(i)及びY(i)に現在の画素のx座標及びy座標をそれぞれ加算し、個数s(i)を1インクリメントする。
【0039】
ステップ66の判定において、画像を最後まで処理した場合はステップ67へ進み、そうでない場合は再びステップ63に戻り同様の処理を繰り返す。
【0040】
ステップ67においては、図6に示す特徴量テーブルの全ての領域に対し重心位置として、X(i)/s(i)及びY(i)/s(i)を計算し、特徴量テーブルのxg(i)及びyg(i)に書き込む。
【0041】
以上の手順により、入力画像中の連結したパターンの特徴量、すなわち面積、重心位置が求められる。
【0042】
なお本発明の実施の形態1では特徴量として面積を求めたが、かわりにパターンの周囲長あるいはパターンの外接矩形を求め、以降の領域判定手段4においてこれらの特徴を用いて判定を行ってもよい。
【0043】
また、ラベリング手段3において、バーコードのバーは分岐の存在しない凸図形であることを利用し、上記ステップ51から61までを省略し、ステップ62以下は変換テーブルにおいて変換フラグがoffである番号の領域のみについて処理を行うことにより処理の高速化を図ることも可能である。
【0044】
次に、領域判定手段4について、図7及び図8を用いて説明する。図7は、領域判定手段4におけるグルーピング処理手順を示すフロー図、図8はグルーピング処理時に参照するグループテーブルを示しており、グループテーブルは構造体grとして定義する。
【0045】
図7において、まずステップ71で図6に示した特徴量テーブルから島領域の重心の座標xg、yg、及び面積sを1組ずつ読み込み、続いてステップ72で面積sが(数3)を満足するかどうかを判定する。すなわち、ロングバー、セミロングバー、タイミングバーのいずれであるかを判定するもので、許容度t1として(数3)のいずれの条件を満たすかを判定する。
【0046】
【数3】
Figure 0003635829
【0047】
上記いずれの条件も満たさないときは、再びステップ71へ戻り、いずれかの条件をみたす場合はステップ73の判定へ進む。
【0048】
ステップ73では、既存の全てのグループgr[0]からgr[k]について、flagが1すなわちグループとして有効な情報をもつグループに対して、現在の島領域の重心位置がそのグループのメンバーである島領域の重心位置と一定距離を有しているかどうかを判定する。すなわち重心間の距離dが(数4)で示すように、バーのピッチpに対して許容度t2で示す範囲に含まれるかどうかを判定する。
【0049】
【数4】
Figure 0003635829
【0050】
上記判定を全ての有効なグループに対して実施し、現在注目している島領域がいずれのグループに所属しているかが決定される。いずれのグループに対しても所属しない場合はステップ74へ進み、新たなグループgr[k+1]としてグループテーブルへ登録する。このとき有効フラグflagを1にセットし、候補フラグbar_flagを0、メンバーの総数memberに1を設定し、最初のグループとしてx[0]、y[0]、s[0]、及びbar[0]に重心のx座標、y座標、面積、及びバーの種別を登録する。バーの種別は、ロングバーが1、セミロングバーが2、タイミングバーが3とする。
【0051】
上記ステップ73の判定結果、ただ一つのグループに対して所属する場合はステップ75へ進み、メンバーの総数memberを1増加し、重心座標、面積、バーの種別を登録する。
【0052】
上記ステップ73の判定結果、複数のグループに対して所属する場合はステップ76へ進み、新たなグループgr[k+1]として複数のグループをマージする。すなわち、メンバーの総数memberには複数のグループのメンバーの合計に1増加した値を設定し、全てのメンバー及び現在注目している島領域の重心座標、面積、バーの種別を登録する。この場合、さらにステップ77へ進み、マージした複数のグループの有効フラグを0にリセットし無効とする。
【0053】
ステップ78では、特徴量テーブルのデータを全て処理したかどうか判定し、終了していない場合は再びステップ71へ戻り、終了した場合はステップ79へ進む。
【0054】
ステップ79においては、以上の処理で生成されたグループ全てに対しメンバーの総数のチェックを行い、そのグループがバーコード候補領域かどうかを判定する。バーコードのバーの総数をNとすると各グループのメンバーの総数memberがN以上の場合、そのグループの候補フラグbar_flagを1にセットし、そうでないグループは0にする。
【0055】
以上の処理により、バーコード候補領域とその領域に含まれるバーの重心座標と種別が検出される。
【0056】
次に復号化手段5について、図9及び図10を用いて説明する。図9は、復号化手段4におけるバーコードのデコード手順を示すフロー図、図10はセミロングバーのバーコードの中心線に対する位相関係を示す図である。
【0057】
図9において、まずステップ90で、前記グループテーブルから候補フラグが立っているバーコード候補領域のデータを読み込み、ステップ91で全メンバーの重心座標に基づき、全メンバーを包含する最小の外接矩形を求める。外接矩形とは、全メンバーのx座標の最小値xmin、最大値xmax、及びy座標の最小値ymin、最大値ymaxとすると、4つの座標(xmin,ymin)、(xmax,ymin)、(xmin,ymax)、(xmax,ymax)を頂点とする長方形である。この外接矩形のx方向の辺がy方向の辺以上の長さを有するとき、バーコードの中心軸とx軸のなす角が±45°以内であり、逆にx方向の辺の長さがy方向の辺の長さ未満であれば、バーコードの中心軸とy軸のなす角が±45°未満である。
【0058】
ステップ92では、グループのメンバーのうち前記領域判定手段4でロングバーあるいはタイミングバーと判定されたメンバーの点を通る回帰直線を求める。回帰直線の式は、バーコードの中心軸とx軸のなす角が±45°以内である場合、y=a+bxとしてa及びbを(数5)に従って求める。ロングバー、タイミングバーの総本数をnとすると
【0059】
【数5】
Figure 0003635829
【0060】
またバーコードの中心軸とy軸のなす角が、±45°未満である場合、x=c+dyとしてc及びdを(数6)に従って求める。
【0061】
【数6】
Figure 0003635829
【0062】
次にステップ93において、各メンバーの座標と前記回帰直線との距離を算出し、所定の値δとの比較判定を行い、δを越える場合はステップ94へ進み、δ以内の場合はステップ95へ進む。このとき点(x,y)と直線間の距離は次の計算により算出する。直線とx軸とのなす角が±45°以内の場合は(数5)に対応して(数7)により算出し、直線とy軸とのなす角が±45°以内の場合は(数6)に対応して(数8)により算出する。
【0063】
【数7】
Figure 0003635829
【0064】
【数8】
Figure 0003635829
【0065】
ステップ94においては、該当するメンバーは、直線から離れておりバーとはみなさないため、グループテーブルの該当するx、y、s、barの項目の値を−1にして無効とし、メンバー総数memberの値を1減らす。
【0066】
ステップ95では、全てのメンバーに対して前記直線との距離のチェッを行ったかどうかを判定し、終了した場合はステップ96へ進み、そうでない場合は再びステップ93の判定に戻る。
【0067】
ステップ96では、メンバーの総数がバーコードのバーの総本数と一致するかどうかを判定し、一致する場合はステップ97へ進み、一致しない場合はこのグループはバーコードではないと判断し、ステップ100へ進む。
【0068】
ステップ97においては、後のステップ99でバーコードを復号化するために、メンバーを回帰直線に沿って端から整列化する。この時前記直線がx軸となす角が±45°以内の場合は、各メンバーの点のx座標に関してソートし、y軸となす角が±45°未満の場合は、各メンバーの点のy座標に関してソートする。続くステップ98は、3種類のバーのうちのセミロングバーのバーコードの中心軸に対する位相関係を検出するステップであり、図10にその具体例を示す。
【0069】
図10は、バーコードの中心軸とy軸とのなす角が±45°未満である例を示すもので、セミロングバーの重心位置101(x1,y1)、102(x2,y2)、及び103(x3,y3)が中心軸のどちら側に存在するか(直線との位相関係)を検出する。この場合x1<c+d・y1、x2<c+d・y2、及びx3>c+d・y3であるので、点101と102は直線に対し負側、103は直線に対し正側に存在することが検出できる。
【0070】
ステップ99では、そのグループメンバーを端から検索し、バーの種別とセミロングバーの位相関係から、図示しないコード変換テーブルを参照し、バーコードを復号化する。続いてステップ100で候補グループを全てチェックしたかどうかを判定し、チェックを終了していない場合はステップ90に戻り次の候補グループに関して同様の処理を行い、そうでない場合は処理を終了する。
【0071】
なお、本発明の実施の形態1では、バーコードとして4-stateコードを対象に復号化したが、一般に広く使用されているJANコードを対象としても実現可能である。この場合、領域判定手段4におけるステップ72の面積判定により太バーか細バーかの種別を判定し、復号化手段5におけるステップ99にける位相検出にかわり、各メンバー間の距離を求めスペースの大小を判定することにより、バーとスペースの大小を検出すればよい。
【0072】
以上のように本発明の実施の形態1によれば、第1に、文書画像に含まれるパターンにラベリングし、一定間隔で並ぶ複数のラベル領域をグルーピングすることにより任意位置、任意方向のバーコードを復号化できるという効果が得られる。
【0073】
第2に、微小図形除去手段でラベリングの前に予めバーコード以外の微小なパターンを除去しラベル数を削減する事により、処理を高速化できるという効果が得られる。
【0074】
第3に、ラベリング時の隣接するラベルの同一性を検証において、ラベルの書き換え処理を省略する事により、処理が高速化できるという効果が得られる。
【0075】
第4に、各ラベル領域の図形的特徴量として、面積、周囲長、または外接矩形を検出する事により、領域判定手段におけるパターンの大きさと形状の判定が正確に行えるという効果が得られる。
【0076】
第5に、復号化の際に各バーの面積と重心位置からバーの組み合わせを検出する事により、JANコードや4-stateコードなどの多様なコード形式のバーコードを復号化できるという効果が得られる。
【0077】
第6に、バーコードは、ロングバー、セミロングバー、及びタイミングバーの3種類からなる4-stateコードを対象とし、面積、周囲長、または外接矩形のいずれかの特徴量に基づきバーの種類を正確に識別できるという効果が得られる。
【0078】
第7に、パターンの特徴として面積に基づきバーの種類を識別することを特徴とするもので、1列に並ぶ各バーが上記3種類のバーのいずれに該当するかを正確に判定できるという効果が得られる。
【0079】
本発明の請求項8記載の発明は、セミロングバーの位相関係を識別する際、ロングバーまたはタイミングバーの重心を通る直線を求め、セミロングバーの重心と前記直線の位置関係を検出する事により、簡易な方法で正確にバーコードを復号化できるという効果が得られる。
【0080】
【発明の効果】
以上のように本発明の効果は、入力文書画像に対しラベルリングし、各ラベル領域毎に特徴量と重心位置を求め、所定の特徴量を有し、かつ所定の距離で隣り合うラベル領域をグループ化し、バーコード候補領域として検出し、バーコード候補領域に含まれる各バーの特徴量から各バーの種類の識別と、位相関係を検出することにより、文字、図形を背景に含む文書画像中の任意位置かつ任意方向にバーコードが存在しても、簡易な構成で正確に復号化できる信頼性の高いバーコード読み取り装置が実現できる。
【図面の簡単な説明】
【図1】本発明の実施の形態1におけるバーコード読み取り装置のブロック結線図
【図2】同実施の形態1のバーコード読み取り装置における読み取り対象のバーコードを示す図
【図3】同実施の形態1のバーコード読み取り装置における微小図形除去手段の判定マスクを示す図
【図4】同実施の形態1のバーコード読み取り装置におけるラベリング手段の処理手順を示すフロー図
【図5】同実施の形態1のバーコード読み取り装置におけるラベリング手段の処理手順を示すフロー図
【図6】同実施の形態1のバーコード読み取り装置におけるラベリング手段によりラベルが付けられた領域の特徴量を登録する特徴量テーブルの例を示す図
【図7】同実施の形態1のバーコード読み取り装置における領域判定手段の処理手順を示すフロー図
【図8】同実施の形態1のバーコード読み取り装置における領域判定手段によりグループ化された領域のメンバーの特徴量を登録するグループテーブルの例を示す図
【図9】同実施の形態1のバーコード読み取り装置における復号化手段の処理手順を示すフロー図
【図10】同実施の形態1のバーコード読み取り装置における復号化手段によるバーの位相関係の検出を説明する図
【図11】従来例のブロック結線図
【符号の説明】
1 画像入力手段
2 微小図形除去手段
3 ラベリング手段
4 領域検出手段
5 復号化手段
21 ロングバー
22 セミロングバー
23 タイミングバー
901 画像入力端子
902 画信号記憶手段
903 2値化手段
904 2値レベル変化検出手段
905 黒膨張手段
906 黒収縮手段
907 回帰直線演算手段
908 読み出し座標演算手段
909 バーコード復号化手段

Claims (8)

  1. バーコードを含む文書画像に対しラベリングを行い、各ラベル領域毎の特徴量と重心位置を検出するラベリング手段と、各領域の特徴量と重心位置に基づき所定の距離で隣り合うラベル領域を1つのグループに統合し、バーコード候補領域として検出する領域検出手段と、前記バーコード候補領域に含まれる個々のバーの特徴量から各バーの種類を識別し、バーコードを復号化する復号化手段とを具備するバーコード読み取り装置。
  2. ラベリングを行う前に、予め微小パターンを画像から消去する微小図形除去手段を具備することを特徴とする請求項1記載のバーコード読み取り装置。
  3. ラベリング手段は、ラベルの同一性の検出による書き換えを必要としないラベル領域を検出することを特徴とする請求項1または2記載のバーコード読み取り装置。
  4. ラベリング手段は、特徴量として面積、周囲長、または外接矩形を検出することを特徴とする請求項1または3記載のバーコード読み取り装置。
  5. 復号化手段は、各バーの面積と重心位置に基づき復号化することを特徴とする請求項1乃至4のいずれかに記載のバーコード読み取り装置。
  6. バーコードは、JANコードまたはロングバー、セミロングバー、及びタイミングバーからなる郵便処理用4-stateコードであることを特徴とする請求項1乃至5のいずれかに記載のバーコード読み取り装置。
  7. 復号化手段は、各バーの面積から、ロングバー、セミロングバー、またはタイミングバーのいずれかであることを識別することを特徴とする請求項6記載のバーコード読み取り装置。
  8. 復号化手段は、ロングバー又はタイミングバーの重心を通る直線を求め、セミロングバーの重心位置が、前記直線が分割する平面のいずれの領域に含まれるかを検出することにより、セミロングバーの位相関係を識別することを特徴とする請求項7記載のバーコード読み取り装置。
JP32933596A 1996-12-10 1996-12-10 バーコード読み取り装置 Expired - Fee Related JP3635829B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP32933596A JP3635829B2 (ja) 1996-12-10 1996-12-10 バーコード読み取り装置
US08/987,110 US6070800A (en) 1996-12-10 1997-12-08 Bar code image processing apparatus capable of identifying position and direction of a bar code

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP32933596A JP3635829B2 (ja) 1996-12-10 1996-12-10 バーコード読み取り装置

Publications (2)

Publication Number Publication Date
JPH10171916A JPH10171916A (ja) 1998-06-26
JP3635829B2 true JP3635829B2 (ja) 2005-04-06

Family

ID=18220308

Family Applications (1)

Application Number Title Priority Date Filing Date
JP32933596A Expired - Fee Related JP3635829B2 (ja) 1996-12-10 1996-12-10 バーコード読み取り装置

Country Status (2)

Country Link
US (1) US6070800A (ja)
JP (1) JP3635829B2 (ja)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7387253B1 (en) 1996-09-03 2008-06-17 Hand Held Products, Inc. Optical reader system comprising local host processor and optical reader
US7304670B1 (en) * 1997-03-28 2007-12-04 Hand Held Products, Inc. Method and apparatus for compensating for fixed pattern noise in an imaging system
EP1014292B1 (en) * 1998-12-22 2003-05-02 Datalogic S.P.A. Method for automatic regulation of the characteristics of an optical code reading system
US6687385B1 (en) * 2000-11-22 2004-02-03 Xerox Corporation Method for steganographic encoding
US6778679B1 (en) * 2000-11-22 2004-08-17 Xerox Corporation Method for steganographic decoding
US7203361B1 (en) 2001-03-16 2007-04-10 Hand Held Products, Inc. Adaptive digitizer for optical reader
JP4157686B2 (ja) * 2001-05-15 2008-10-01 株式会社モノリス 画像符号化および復号のための方法および装置
US7331523B2 (en) 2001-07-13 2008-02-19 Hand Held Products, Inc. Adaptive optical image reader
US7050631B2 (en) * 2002-10-30 2006-05-23 Sick Auto Ident, Inc. Barcode detection system
US20040134988A1 (en) * 2003-01-09 2004-07-15 Hand Held Products, Inc. Analog-to-digital converter with automatic range and sensitivity adjustment
JP4905767B2 (ja) * 2006-02-10 2012-03-28 富士ゼロックス株式会社 二次元コード検出システムおよび二次元コード検出プログラム
JP4262276B2 (ja) * 2006-12-20 2009-05-13 キヤノン株式会社 画像処理装置、その制御方法、プログラム、記憶媒体
US7852519B2 (en) 2007-02-05 2010-12-14 Hand Held Products, Inc. Dual-tasking decoder for improved symbol reading
US8496177B2 (en) 2007-06-28 2013-07-30 Hand Held Products, Inc. Bar code reading terminal with video capturing mode
AU2007254619B2 (en) * 2007-12-21 2010-10-07 Canon Kabushiki Kaisha Barcode removal
JP4978460B2 (ja) * 2007-12-25 2012-07-18 富士ゼロックス株式会社 バーコード認識装置及びプログラム
CN101562691B (zh) * 2008-04-17 2010-12-08 鸿富锦精密工业(深圳)有限公司 图像处理装置及方法
TWI406557B (zh) * 2008-05-02 2013-08-21 Hon Hai Prec Ind Co Ltd 圖像處理裝置及方法
US8628015B2 (en) 2008-10-31 2014-01-14 Hand Held Products, Inc. Indicia reading terminal including frame quality evaluation processing
WO2010091020A2 (en) * 2009-02-04 2010-08-12 Datalogic Scanning, Inc. Systems and methods for selectively masking a scan volume of a data reader
US8587595B2 (en) 2009-10-01 2013-11-19 Hand Held Products, Inc. Low power multi-core decoder system and method

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0750496B2 (ja) * 1988-07-13 1995-05-31 松下電器産業株式会社 画信号処理装置
DE68914528T2 (de) * 1988-07-13 1994-11-10 Matsushita Electric Ind Co Ltd Bildsignalverarbeitungsvorrichtung für Strichkodebildsignale.
JPH0415774A (ja) * 1990-05-02 1992-01-21 Eastman Kodak Japan Kk バーコードリーダ
US5418862A (en) * 1992-08-10 1995-05-23 United Parcel Service Of America Method and apparatus for detecting artifact corners in two-dimensional images
EP0584559A3 (en) * 1992-08-21 1994-06-22 United Parcel Service Inc Method and apparatus for finding areas of interest in images
JPH0721300A (ja) * 1993-06-30 1995-01-24 At & T Global Inf Solutions Internatl Inc バーコード読取装置
JPH07114630A (ja) * 1993-10-19 1995-05-02 Matsushita Electric Ind Co Ltd イメージ処理機能付小型情報端末装置
JP2737635B2 (ja) * 1994-02-24 1998-04-08 住友金属工業株式会社 バーコードラベル読取装置
US5557091A (en) * 1994-04-15 1996-09-17 Krummel; Larry Method and system for bar code image processing
JPH07306907A (ja) * 1994-05-13 1995-11-21 Asahi Optical Co Ltd データシンボル読み取り装置
US5917945A (en) * 1994-06-15 1999-06-29 Metanetics Corporation Recognizing dataforms in image areas
JPH08155397A (ja) * 1994-12-09 1996-06-18 Hitachi Ltd 郵便物区分装置およびバーコード印刷装置
JPH08185521A (ja) * 1994-12-28 1996-07-16 Clarion Co Ltd 移動体カウント装置
JPH096891A (ja) * 1995-06-21 1997-01-10 Asahi Optical Co Ltd データシンボル読み取り装置およびデータシンボル読み取りシステム
US5742037A (en) * 1996-03-07 1998-04-21 Cognex Corp. Method and apparatus for high speed identification of objects having an identifying feature

Also Published As

Publication number Publication date
US6070800A (en) 2000-06-06
JPH10171916A (ja) 1998-06-26

Similar Documents

Publication Publication Date Title
JP3635829B2 (ja) バーコード読み取り装置
Lee et al. Automatic extraction of characters in complex scene images
JP4557433B2 (ja) 郵便番号読取り用の撮像エンジンおよび技術
EP1234273B1 (en) Multi-resolution label locator
EP0669593B1 (en) Two-dimensional code recognition method
US6742708B2 (en) Fiducial mark patterns for graphical bar codes
JP3591184B2 (ja) バーコード読み取り装置
US20020044689A1 (en) Apparatus and method for global and local feature extraction from digital images
JPH0687270B2 (ja) 線分の方向検出装置及びその方法
JPH08115397A (ja) 情報記録媒体、2次元コード、情報再生システム、及び情報再生方法
JP2002133426A (ja) 多値画像から罫線を抽出する罫線抽出装置
EP1416421B1 (en) Barcode detection system and corresponding method
US4891750A (en) Optical character recognition by forming and detecting matrices of geo features
US5164996A (en) Optical character recognition by detecting geo features
JPH0896059A (ja) バーコード読取装置
US6367698B1 (en) Bar code reader for decoding a four state bar code
JPH0512487A (ja) バーコード文字の光学的認識システム及び認識方法
IL98293A (en) A method for distinguishing between text and graphics
JP2005266907A (ja) バーコード検出切り出し方法及びその装置、並びにプログラムを格納したコンピュータ読み取り可能な記録媒体
KR100503724B1 (ko) 화상에서의 객체 탐색 방법
JP3268552B2 (ja) 領域抽出方法、宛名領域抽出方法、宛名領域抽出装置、及び画像処理装置
JP2002150213A (ja) バーコード読み取り装置
CN115272143A (zh) 一种条形码的视觉增强方法、装置、设备及存储介质
JP2001229339A (ja) バーコード読み取り装置
JP3580115B2 (ja) カスタマバーコード読取り郵便物等区分装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20041117

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20041214

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20041227

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080114

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090114

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090114

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100114

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110114

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110114

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120114

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130114

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees