JP2002269491A - バーコード認識方法および装置並びにプログラム - Google Patents
バーコード認識方法および装置並びにプログラムInfo
- Publication number
- JP2002269491A JP2002269491A JP2001065811A JP2001065811A JP2002269491A JP 2002269491 A JP2002269491 A JP 2002269491A JP 2001065811 A JP2001065811 A JP 2001065811A JP 2001065811 A JP2001065811 A JP 2001065811A JP 2002269491 A JP2002269491 A JP 2002269491A
- Authority
- JP
- Japan
- Prior art keywords
- bar
- barcode
- information
- width
- unit
- 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.)
- Granted
Links
Abstract
ドを正確に認識することのできるバーコード認識方法お
よび装置並びにプログラムを提供する。 【解決手段】画像データ中に含まれるバーコードを認識
するバーコード認識方法において、画像データからバー
コードを含む複数のライン情報を抽出し、抽出した複数
のライン情報のそれぞれに含まれるバー幅情報を集積
し、集積したバー幅情報に基づいてバーコードを認識す
る。集積は、ライン情報のそれぞれに含まれるバー幅情
報を対応付けし、対応付けられたバー幅情報毎に行われ
る。対応付けは、DPマッチング処理によて行う。
Description
方法および装置並びにプログラムに関し、特に、低品質
の画像に含まれるバーコードを認識するバーコード認識
方法および装置並びにプログラムに関する。
の発達に伴って、様々な文書が電子化されて、利用、保
存されている。例えば、銀行等の金融機関においては、
口座振替依頼書等の伝票や帳票を電子データ化し、その
電子データに基づいて業務を行っている場合がある。
キャナで読み取り、この読取画像に基づいて様々な処理
を施すことによって行われるが、この読取画像自体もデ
ータベース等に長期保存され、必要に応じて再利用され
ることがある。読取画像は、長期保存の際のデータベー
スの資源(ハードディスク等)の節約や処理速度の向上
等を目的として当該帳票を視覚により認識可能な程度の
解像度で読み取られるのが一般的である。
刷されていることが多く、これを利用して業務の効率化
が図られている。バーコードの利用は、通常、(紙の)
帳票に対するものであるが、電子データ化した帳票を再
利用する際にも、バーコードを利用することができれ
ば、より効率的に業務を行うことが可能となる。
上述のように視覚により認識可能な程度の解像度で読み
取られることが多いため、そのバーコード部分にノイズ
や欠落、つぶれ等が生じる等、バーコード自体が低品質
なものとなってしまう。これに対してバーコードは、周
知のようにバーの幅等を識別することによって、そのデ
ータを認識しているものである。そのため、バーコード
が低品質な場合、その認識時にエラーが多く発生してし
まうことになる。
ータ化された帳票等に含まれるバーコードは、低品質で
あることが多く、このバーコードを正確に認識して処理
を行うことは困難であった。
含まれる低品質なバーコードを正確に認識することので
きるバーコード認識方法および装置並びにプログラムを
提供することを目的とする。
ため、請求項1の発明は、画像データ中に含まれるバー
コードを認識するバーコード認識方法において、画像デ
ータからバーコードを含む複数のライン情報を抽出し、
該抽出した複数のライン情報のそれぞれに含まれるバー
幅情報を集積し、該集積したバー幅情報に基づいて前記
バーコードを認識することを特徴とする。
において、前記集積は、前記ライン情報のそれぞれに含
まれるバー幅情報を対応付けし、該対応付けられたバー
幅情報毎に行われることを特徴とする。そして、この構
成により、画像データに含まれるノイズやバーコード自
体のバーのつぶれ、かすれ、欠落等の影響を除去するこ
とが可能となる。
において、前記対応付けは、DPマッチング処理によっ
て行うことを特徴とする。
において、前記ライン情報の抽出は、前記画像データを
所定のしきい値を用いて2値化してから行い、前記バー
コードの認識に失敗した場合は、前記画像データを前記
しきい値とは別のしきい値で2値化し、該2値化した画
像データに基づいて、再度、前記バーコードの認識を行
うことを特徴とする。
において、前記集積したバー幅情報に基づいて、前記バ
ーコードを構成するバーの基準幅を算出し、該算出した
基準幅に基づいて前記バーコードを認識することを特徴
とする。そして、この構成により、画像データ中のバー
コードに傾きが生じていた場合でも、該傾きに応じた適
切な基準幅でバーコードの認識を行うことができる。
において、前記画像データは、バーコードが印刷された
帳票を読み取ることにより得られることを特徴とする。
含まれるバーコードを認識するバーコード認識装置にお
いて、画像データからバーコードを含む複数のライン情
報を抽出するライン情報抽出手段と、前記ライン情報抽
出手段が抽出した複数のライン情報のそれぞれに含まれ
るバー幅情報を取得するバー幅情報取得手段と、前記バ
ー幅情報が取得したバー幅情報を集積し、該集積したバ
ー幅情報に基づいて前記バーコードを構成する各バーの
幅を特定するバー幅特定手段と、前記バー幅特定手段が
特定したバー幅に基づいて前記バーコードを認識する認
識手段とを具備することを特徴とする。
において、前記バー幅情報特定手段は、前記バー幅情報
取得手段が取得したバー幅情報を前記ライン情報のそれ
ぞれに応じて対応付けし、該対応付けしたバー幅情報に
基づいて、前記バーコードを構成する各バーの幅を特定
することを特徴とする。
において、前記バー幅情報特定手段は、DPマッチング
処理によって前記対応付けを行うことを特徴とする。
明において、画像データを2値化する2値化手段をさら
に具備し、前記ライン情報抽出手段と前記バー幅情報取
得手段、前記バー幅特定手段、前記認識手段は、前記2
値化手段により所定のしきい値を用いて2値化された画
像データに基づいて前記各処理を行い、前記認識手段が
前記バーコードの認識に失敗した場合は、前記2値化手
段が前記画像データを前記しきい値とは別のしきい値で
2値化し、該2値化した画像データに基づいて、前記ラ
イン情報抽出手段と前記バー幅情報取得手段、前記バー
幅特定手段、前記認識手段が前記各処理を行うことを特
徴とする。
明において、前記バー幅特定手段が特定したバー幅情報
に基づいて、前記バーコードを構成するバーの基準幅を
算出する基準幅算出手段をさらに具備し、前記認識手段
は、前記基準幅算出手段が算出した基準幅に基づいて前
記バーコードを認識することを特徴とする。
を動作させ画像データ中に含まれるバーコードを認識す
るバーコード認識プログラムにおいて、画像データから
バーコードを含む複数のライン情報を抽出するステップ
と、前記ライン情報のそれぞれに含まれるバー幅情報を
集積し、該集積したバー幅情報に基づいて前記バーコー
ドを構成する各バーの幅を特定するステップと、前記特
定されたバー幅に基づいて前記バーコードを認識するス
テップとを具備することを特徴とする。
発明において、前記バー幅の特定は、前記ライン情報の
それぞれに含まれるバー幅情報を対応付けし、該対応付
けしたバー幅情報毎に行うことを特徴とする。
発明において、前記対応付けは、DPマッチング処理に
よって行われることを特徴とする。
発明において、前記集積したバー幅情報に基づいて、前
記バーコードを構成するバーの基準幅を算出し、該算出
した基準幅に基づいて前記バーコードを認識することを
特徴とする。
認識方法および装置並びにプログラムの一実施の形態に
ついて、添付図面を参照して詳細に説明する。
識装置の構成を示すブロック図である。
は、帳票画像取得部1と帳票処理部2、バー幅特定部
3、認識部4、バーコード辞書5を具備して構成され
る。また、バー幅特定部3は、2値化部31とバーコー
ドライン抽出部32、対応付け部33、バー幅算出部3
4を具備して構成され、認識部4は、スタートキャラク
タ検出部41とモジュール数算出部42、キャラクタ変
換部43、文字コード出力部44を具備して構成され
る。なお、このバーコード認識装置は、コンピュータお
よびスキャナ等の周辺装置をハードウェアとし、これら
を動作させるソフトウェアにより構成することもでき
る。
票を読み取って得た帳票画像を取得し、帳票処理部2
は、帳票画像取得部1が取得した帳票画像の罫線情報等
から帳票の種別を判定し、帳票画像内のバーコードが存
在する位置を特定する。なお、帳票処理部2は、必ずし
もバーコードの位置を特定する必要は無いが、バーコー
ドの位置を特定した方が後の処理が効率的に行えること
になる。
票画像を2値化し、バーコードライン抽出部32でバー
コード画像をライン毎に複数ライン抽出する。対応付け
部33は、バーコードライン抽出部32が抽出した複数
のラインから各バーの対応付けを行う。バー幅算出部3
4は、対応付け部33で対応付けされた各バーの幅を算
出する。このバー幅特定部3で、バーコードを複数ライ
ンで検出しているのは、帳票画像内の低解像度・低品質
のバーコード画像は、バーの欠落やかすれ、つぶれ等に
より、各ライン毎にバー幅が異なって検出される可能性
があるためである。なお、ここでの処理の詳細は後述す
る。
ー幅に基づいて、バーコードを認識する。この際、スタ
ートキャラクタ検出部41は、バーコードの開始位置を
示すスタートキャラクタを検出し、モジュール数算出部
42は、バーコードを構成する各バーのモジュール数を
算出する。キャラクタ変換部43は、モジュール数算出
部42が算出したモジュール数に基づいて、コードを特
定し、バーコード辞書5を参照して特定したコードを文
字コードに変換する。文字コード出力部44は、キャラ
クタ変換部43が変換した文字コードを出力する。な
お、認識部4における処理についても、詳細は後述す
る。
読み取られた帳票画像を取得するが、ここで取得する帳
票画像は、カラー画像、階調画像、2値画像のいずれで
あっても良い。帳票処理部2は、帳票画像取得部1が取
得した帳票画像からバーコードの位置を特定する等の処
理を行う。この処理は、例えば、帳票取得部1が図2に
示すような帳票画像を取得した場合には、帳票内の各罫
線の位置、形状等に基づいて帳票の種別を特定し、特定
した帳票の種別に応じて記憶している位置をバーコード
の存在位置とすることで行う。そして、帳票処理部2に
よりバーコードの位置が特定されると、バー幅特定部3
でのバー幅の特定、認識部4でのバーコードの認識が行
われる。なお、帳票処理部2でバーコードの位置が特定
できない場合であっても、バー幅特定部3でバーコード
を抽出することは可能である。
処理について説明するが、最初に処理全体の流れを説明
し、続いて各処理の詳細について説明する。
を示すフローチャートである。
像から帳票処理部2で所定の処理を施してバーコード画
像を取得する(ステップ101)、当該バーコード画像
がカラー画像若しくは階調画像であった場合には(ステ
ップ102でNO)、2値化部31が当該バーコード画
像を2値化するためのしきい値を算出し(ステップ10
3)、算出したしきい値に基づいて2値画像を作成する
(ステップ104)。一方、バーコード画像が2値画像
であった場合には(ステップ102でYES)、2値化
部31は、何も処理は行わない。
コードラインの抽出を行う(ステップ105)。バーコ
ードラインの抽出は、2値のバーコード画像をライン
(バーコードの走査方向)毎に処理を行い、バーコード
を含んでいるラインを抽出する。
イン抽出部32が抽出したバーコードラインから後の処
理に利用するための基本ラインを検出し(ステップ10
6)、検出した基本ラインを利用してバーコードライン
に含まれる各バーの対応付けを行う(ステップ10
7)。
部34が対応付けられた各バーの幅を算出し(ステップ
108)、認識部4がバーコードの認識処理を行う(ス
テップ109)。
すれば(ステップ110でYES)、そのまま処理を終
了するが、認識に失敗した場合には(ステップ110で
NO)、バーコード画像の2値化しきい値が変更可能で
あれば(ステップ111でYES)、ステップ103に
戻り、新たな2値化しきい値を算出して、同様の処理を
繰り返す。
の2値化を行うが、この2値化を行う際のしきい値の算
出(ステップ103)は、判別基準法を用いて行う。例
えば、図4(a)に示す階調画像(同図では、ディザ処
理を施した2値画像として表示している)をしきい値1
14(8ビット)で2値化した場合には、図4(b)に
示すような2値画像が得られる。このしきい値114
は、判別基準法により求めたものであるが、これを別の
しきい値に変更する場合(ステップ111でYESの場
合)には、クラス1(しきい値114よりも小さい値の
画素)の平均濃度値としきい値の間を3つに区切り、こ
の区切った値を新たなしきい値とする。ただし、最初に
変更するのは、区切り値のうちの114に近いものと利
用する。この場合、変更したしきい値は、90となり、
図4(c)に示すような2値画像が得られることにな
る。また、さらにしきい値の変更が必要な場合には、も
う1つの区切り値を用い、さらなる変更を行う場合に
は、クラス2(しきい値114よりも大きい値の画素)
の平均濃度値としきい値の間を3つに区切る値を利用す
る。なお、しきい値の算出方法は、他のどの方法を用い
ても良い。
バーコードライン抽出処理(ステップ105)の詳細に
ついて説明する。図5および図6は、バーコードライン
抽出処理の流れを示すフローチャートであり、図7は、
2値化されたバーコード画像の例を示した図である。
ーコード画像の各ラインの黒および白の塊数を算出す
る。算出する塊数は、黒および白の塊の数を示すもの
で、例えば、図7(a)に示すバーコード画像の1ライ
ン目(図中最上位のライン)は3、2乃至13ライン目
は17となる。
下、高頻度値とする)が全ライン数に占める割合を算出
する(ステップ202)。その結果、高頻度値が全ライ
ン数に占める割合が90%以上であった場合には(ステ
ップ203でYES)、「全ラインにバーコードが存在
する」と判定するとともに(ステップ204)、当該バ
ーコード画像には、「ノイズが含まれていない」と判定
する(ステップ205)。
90%未満であった場合には(ステップ203でN
O)、高頻度塊数±10の塊を有するラインを抽出する
(ステップ206)。そして、高頻度値が抽出ライン数
に占める割合を算出する(ステップ207)。その結
果、高頻度値が抽出ライン数に占める割合が90%以上
であった場合には(ステップ208でYES)、「高頻
度塊数のラインにバーコードが存在する」と判定すると
ともに(ステップ209)、当該バーコード画像には、
「ノイズが含まれていない」と判定する(ステップ20
5)。ただし、ステップ206で抽出するラインの範囲
には、下限が存在し、必ずしも高頻度塊数±10となる
とは限らない。これは、バーコードの性質上、バーの最
低数が決まっている(バーコードの種類により異なる)
ためであり、この数を下限として処理を行うことにな
る。
が90%未満であった場合には(ステップ208でN
O)、高頻度塊数から高頻度塊数−10の範囲の塊を有
する全てのラインの合計数が抽出ライン数に占める割合
を算出し(ステップ210)、その割合が90%以上で
あった場合には(ステップ211でYES)、「高頻度
塊数から高頻度塊数−10の範囲のラインにバーコード
が存在する」と判定するとともに(ステップ212)、
当該バーコード画像には、「ノイズが含まれている」と
判定する(ステップ213)。ただし、この場合にも範
囲(高頻度塊数−10)には下限がある。
範囲の塊を有する全てのラインの合計数が抽出ライン数
に占める割合が90%未満であった場合には(ステップ
211でNO)、高頻度塊数から高頻度塊数+10の範
囲の塊を有する全てのラインの合計数が抽出ライン数に
占める割合を算出し(ステップ214)、その割合が9
0%以上であった場合には(ステップ215でYE
S)、「高頻度塊数から高頻度塊数+10の範囲のライ
ンにバーコードが存在する」と判定するとともに(ステ
ップ216)、当該バーコード画像には、「ノイズが含
まれている」と判定する(ステップ213)。また、高
頻度塊数から高頻度塊数+10の範囲の塊を有する全て
のラインの合計数が抽出ライン数に占める割合が90%
未満であった場合には(ステップ215でNO)、「高
頻度塊数±10のラインにバーコードが存在する」と判
定するとともに(ステップ217)、当該バーコード画
像には、「ノイズが含まれている」と判定する(ステッ
プ213)。
示すバーコード画像を対象とした場合、高頻度値は17
であるが、その全ライン中に占める割合は、90%未満
(12/14)であるので(ステップ203でNO)、
7〜27の塊数を有するラインを抽出する(ステップ2
06)。ただし、上述した下限が存在する場合、例え
ば、下限が17であれば17〜27の塊数を有するライ
ンを抽出することになる。ここで抽出したラインは、全
て塊数が17のラインとなるので、高頻度値が抽出ライ
ンに占める割合は100%となり(ステップ208でY
ES)、高頻度塊数のライン、つまり、塊数17の2乃
至13ラインにバーコードが存在し(ステップ20
9)、ノイズがない(ステップ205)と判定される。
対象とした場合、高頻度値は17であるが、その全ライ
ン中に占める割合は、90%未満(7/14)であるの
で(ステップ203でNO)、7〜27の塊数を有する
ラインを抽出する(ステップ206)。ただし、上述し
た下限が存在する場合、例えば、下限が17であれば1
7〜27の塊数を有するラインを抽出することになる。
ここで抽出したラインは、2乃至13ライン目の12ラ
インとなるので、高頻度値が抽出ラインに占める割合は
90%未満(7/12)となる(ステップ208でN
O)。また、7〜17の塊数を有するライン数は7であ
り(ステップ211でNO)、17〜27の塊数を有す
るライン数は12、つまり、高頻度塊数から高頻度塊数
+10の範囲の塊を有する全てのラインの合計数が抽出
ライン数に占める割合が100%となるため(ステップ
215でYES)、17〜27の塊数を有するラインで
ある2乃至13ラインにバーコードが存在し(ステップ
216)、ノイズがある(ステップ213)と判定され
る。
は、抽出した各バーコードラインの情報を図8に示すよ
うな波形として対応付け部33に出力する。出力する波
形は、ノイズやバーの欠落、かすれ、つぶれ等が無かっ
た場合の波形を図8(a)に示すようなものとすれば、
正常な波形は、図8(b)に示すようなものとなる。こ
の図8(b)に示す波形は、バーの幅を示す値(各波
形)に多少の相違があるものの全体としては同様の傾向
を示し、波形A乃至Jが各々図8(a)に示すものに対
応する。
る場合には、出力される波形は、図8(c)に示すよう
なものとなる。この波形には、ノイズの影響により、図
8(a)に示すものとは対応しない波形Xが存在するこ
とになる。
場合には、出力される波形は、図8(d)に示すような
ものとなる。この波形には、バーの欠落の影響により、
図8(a)の波形Dに相当するものが欠落し、結果とし
て、波形C乃至Eに対応するはずの部分に、対応しない
波形Xが存在することになる。
る場合には、出力される波形は、図8(e)に示すよう
なものとなる。この波形には、バーのつぶれの影響によ
り、図8(a)の波形Iに相当するものがつぶれ、結果
として、波形H乃至Jに対応するはずの部分に、対応し
ない波形Xが存在することになる。
うに傾いていた場合であっても、出力される波形は、図
8(f)に示すように、バーの幅を示す値や、バーの位
置が異なるものの、全体としては同傾向の波形となる。
この場合、図8(a)に示したものと対応しないもの
は、波形Yのみとなる(波形Yは、波形Aと比較して、
その大きさが大きく異なるため)。
け処理について説明する。バーの対応付け処理では、図
8に示したバーコードラインの情報に基づいて、波形A
乃至Jをそれぞれ対応付ける。
ming:動的計画法)マッチングにより行う。これによ
り、バーコードライン内に存在するノイズやバーの欠
落、かすれ、つぶれ等を排除するとともに、バーコード
画像自体の傾きによるバーの位置づれをも排除する。
ず、基本ラインの検出(図3のステップ106参照)を
行う。
ライン抽出部32によるバーコードラインの抽出時に、
「ノイズなし」と判定された場合と、「ノイズあり」と
判定された場合とで異なる。
10に示すように、高頻度塊数のラインの中心のライン
であるライン61を基本ラインとする。
は、図11に示すように、各塊数のラインの中心のライ
ンであるライン63、64を基本ライン候補とする。ま
た、同じ塊数のラインが複数箇所に分離して存在する場
合は、そのラインの連続数が大きい方の中心ラインであ
るライン62を基本ライン候補とする。基本ライン候補
が決定されると、この基本ライン候補からDPマッチン
グにより、基本ラインを検出する。
すフローチャートである。まず、先に決定した基本ライ
ン候補の1つを基本情報に設定する(ステップ30
1)。続いて、基本ライン候補以外の未処理ラインの1
つを入力情報に設定する(ステップ302)。未処理ラ
インとは、以降のステップ303およびステップ304
の処理を実施していないラインである。基本情報と入力
情報を設定すると、DPマッチングにより基本情報と入
力情報の波形の合わせ込みを行い(ステップ303)、
その際に算出した距離値を合計する(ステップ30
4)。なお、ステップ303およびステップ304での
処理の詳細は後述する。そして、ステップ303および
ステップ304の処理は、基本ライン候補以外の全ての
ラインを入力情報として処理するまで繰り返す(ステッ
プ305でNO)。
情報として処理すると(ステップ305でYES)、別
の基本ライン候補を基本情報に設定し(ステップ306
でNO、ステップ301)、全ての基本ライン候補を基
本情報に設定して処理を行うと(ステップ306でYE
S)、これまでの処理で算出した距離値合計が最小の基
本ライン候補を基本ラインとして検出する(ステップ3
07)。
情報の波形の合わせ込み処理およびステップ304での
距離値合計処理について説明する。
波形の合わせ込み処理は、基本情報と入力情報の各波形
の距離値(類似度)を算出するもので、ここで算出した
各波形の距離値を波形全体の距離として合計したものが
ステップ304での距離値合計処理となる。
法について説明する。図13は、距離値の算出方法を説
明するための図である。
定する。この幅情報は、基本情報の各波形の幅を表すも
ので、−1,2,−2,2,−3,1...のような値
を設定する。この値の絶対値は、画素数を示しており、
正の数は黒画素を負の数は白画素を表している。また、
同様に縦軸に入力情報の幅情報を設定する。なお、基本
情報と入力情報の幅情報の数は、ノイズ等の影響がある
ため必ずしも一致しない。
各波形との距離値を求める。まず、入力情報の最初の波
形と基本情報の最初の波形の距離値は、各幅情報の差の
絶対値により求められる。例えば、入力情報の最初の波
形の幅情報が「−5」で、基本情報の最初の波形の幅情
報が「−1」であれば、両者の距離値は、その差の絶対
値である「4」となる。
の2番目の波形との距離値を求める。この距離値は、入
力情報の最初の波形と基本情報の最初の波形の距離値
に、入力情報の最初の波形と基本情報の2番目の波形の
幅情報の差の絶対値を加えた値となる。
3番目以降の波形との距離値を求めるが、これらの距離
値は、入力情報の最初の波形と基本情報の2番目の波形
の距離値と同様に、入力情報の最初の波形と基本情報の
m番目の波形の距離値=入力情報の最初の波形と基本情
報の(m−1)つ目の波形の距離値+入力情報の最初の
波形と基本情報のm番目の波形の幅情報の差の絶対値に
より求められる。
各波形との距離値を求める。基本情報の最初の波形と入
力情報の最初の波形の距離値は、各幅情報の差の絶対値
により求められる。基本情報の最初の波形と入力情報の
2番目以降の波形との距離値は、入力情報の最初の波形
と基本情報の2番目以降の波形の距離値と同様に、基本
情報の最初の波形と入力情報のn番目の波形の距離値=
基本情報の最初の波形と入力情報の(n−1)番目の波
形の距離値+基本情報の最初の波形と入力情報のn番目
の波形の幅情報の差の絶対値により求められる。
のm番目の波形の距離値を求める。ただし、ここでのn
とmは、2以上の整数である。まず、入力情報のn番目
の波形と基本情報のm番目の波形の幅情報の差の絶対値
(以下、絶対値nmと称する)を求める。続いて、ユー
クリッド距離とシティ距離を求める。ユークリッド距離
は、図14(a)に示すような距離であり、シティ距離
は、図14(b)および図14(c)に示すような距離
である。なお、以下では、図14(b)に示す距離をシ
ティ距離1、図14(c)に示す距離をシティ距離2と
する。
と基本情報(m−1)番目の距離値}+絶対値nm+絶
対値nm シティ距離1={入力情報のn番目の波形と基本情報
(m−1)番目の距離値}+絶対値nm シティ距離2={入力情報の(n−1)番目の波形と基
本情報m番目の距離値}+絶対値nm で求められる。
1、シティ距離2のうちの最小のものを入力情報のn番
目の波形と基本情報のm番目の波形の距離値とする。
した図14(d)に示すように、基本情報の幅情報が順
に−1,2,−2...、入力情報の幅情報が−5,
3,−2...であれば、入力情報の2番目の波形と基
本情報の2番目の波形の距離値(図中a点の位置)は、
その幅情報の差の絶対値が1であるから、 ユークリッド距離=4+1+1=6 シティ距離1=8+1=9 シティ距離2=11+1=12 となり、最小の6となる。
報の3番目の波形の距離値(図中b点の位置)は、その
幅情報の差の絶対値が5であるから、 ユークリッド距離=11+5+5=21 シティ距離1=6+5=11 シティ距離2=14+5=21 となり、最小の11となる。
の2番目の波形の距離値(図中c点の位置)は、その幅
情報の差の絶対値が4であるから、 ユークリッド距離=8+4+4=16 シティ距離1=9+4=13 シティ距離2=6+4=10 となり、最小の10となる。
報の3番目の波形の距離値(図中d点の位置)は、その
幅情報の差の絶対値が0であるから、 ユークリッド距離=6+0+0=6 シティ距離1=10+0=10 シティ距離2=11+0=11 となり、最小の6となる。
の波形と基本情報のm番目の波形の距離値を求め、入力
情報の最後の波形と基本情報の最後の波形の距離値(図
13中右上に×印で示す)まで求める処理が、ステップ
303での基本情報と入力情報の波形の合わせ込み処理
となる。また、ステップ304での距離値合計処理は、
ここで求めた距離値を合計する処理となる。
け処理(図3のステップ107参照)について説明す
る。
ノイズがある場合の基本ラインの検出と同様に、DPマ
ッチングにより、基本情報と入力情報の波形の合わせ込
みを行い、その結果から各波形の対応を取得する。
ッチング処理の流れを示すフローチャートである。
理では、まず、基本ライン以外の未処理ラインの1つを
入力情報に設定する(ステップ401)。未処理ライン
とは、以降のステップ402の処理を実施していないラ
インである。次に、基本ラインを基本情報に設定して、
基本情報と入力情報の波形の合わせ込みを行う(ステッ
プ402)。そして、基本情報と入力情報の波形の合わ
せ込み処理を基本ライン以外の全てのラインを入力情報
として処理するまで繰り返し(ステップ403でN
O)、基本ライン以外の全てのラインを入力情報として
処理すると(ステップ403でYES)、DPマッチン
グ処理を終了する。
入力情報のn番目の波形と基本情報のm番目の波形の距
離値がそれぞれ算出される。この結果を利用し、図16
(a)に×印で示す入力情報の最後の波形と基本情報の
最後の波形の距離値を示す位置から、図16(b)、図
16(c)、図16(d)に示す各方向のうち、距離値
が小さい方向に順次進んでいく。その結果、図16
(b)に示した方向では、その位置が示す入力情報のn
番目の波形と基本情報のm番目の波形が対応し、図16
(c)、図16(d)に示す方向では、その位置が示す
入力情報のn番目の波形と基本情報のm番目の波形は対
応しない。
1番目の波形と入力情報の1番目の波形が対応し、基本
情報の2番目の波形と入力情報の2番目の波形が対応す
るが、基本情報の3番目および4番目に対応する入力情
報の波形は存在しない。また、基本情報の5番目の波形
と入力情報の3番目の波形、基本情報の6番目の波形と
入力情報の4番目の波形等がそれぞれ対応する。
処理(図3のステップ108参照)について説明する。
バー幅算出部34は、対応付け部33により対応付けら
れた各バーコードラインの各バー幅を集計し、最も頻度
の高い幅を当該バーのバー幅として決定する。例えば、
各バーコードラインのあるバー幅が図17に示すよう
に、幅2のものが4ライン、幅3のものが7ライン、幅
4のものが1ラインであったとすれば、最も頻度の高い
幅3を当該バーのバー幅とする。
テップ109参照)について説明する。図18は、認識
部4による認識処理の流れを示すフローチャートであ
る。
検出部41が、予め設定したスタートキャラクタ検出範
囲からバーコードの始まりを示すスタートキャラクタを
検出する(ステップ501でYES、ステップ50
2)。スタートキャラクタ検出範囲は、例えば、図19
に示すように、バーコード画像の左端からT[mm]に
設定しておく、これを左端から順次走査してスタートキ
ャラクタを検出する。ただし、実際には、画像を走査す
るのではなく、バー幅特定部3で特定された情報(上述
の基本ラインの波形のバー幅を特定したバー幅に修正し
たもの)に基づいて行う。また、スタートキャラクタ検
出範囲を越えた場合であっても、最初に走査された黒バ
ーは、無条件にスタートキャラクタであるか否かをチェ
ックする。
ートキャラクタが検出されると(ステップ503でYE
S)、モジュール数算出部42が、モジュール化および
モジュール数の算出といったモジュール処理を行う(ス
テップ504)。モジュール化とは、バーコードを構成
する各バーの太さを分別する処理であり、このバーの太
さの段階を表す数値をモジュール数と呼ぶ。例えば、バ
ーコードの規格の1つであるJAN(JIS X 05
01)では、バーの太さを4段階で表し、1番細いバー
を1モジュールと呼び、順次、太くなるに従って、2モ
ジュール、3モジュール、4モジュールとなる。また、
JANでは、図20に示すように1キャラクタを4本の
バーで構成し、その合計モジュール数が7モジュールと
なるように規定されている。したがって、バー幅特定部
3で特定されたバー幅に1キャラクタの合計モジュール
数(JANでは7モジュール)を乗じた値を1キャラク
タの合計バー幅で除すことにより、モジュール数を算出
することができる。
05でYES)、、キャラクタ変換部43が1キャラク
タ分のモジュール数の組み合わせをバーコード辞書と照
らし合わせてキャラクタ(文字コード)に変換する(ス
テップ506)。
07でYES)、文字コード出力部44がチェックデジ
ットの計算を行い(ステップ509)、その計算結果と
バーコードが表現する最後の値とが一致すると(ステッ
プ509でYES)、バーコードの認識に成功したもの
として文字コードを出力する。
失敗があった場合には(ステップ503、505、50
7、509のいずれかでNO)、先に検出したスタート
キャラクタ若しくは最初のバー以外のバーが、スタート
キャラクタ検出範囲内にある限り、上述した各処理をも
う一度行う。スタートキャラクタとして検出すべきバー
がスタートキャラクタ検出範囲内に無い場合には(ステ
ップ501でNO)、当該バーコードをリジェクトして
(ステップ510)、認識処理を終了する。
たが、予め複数規格のバーコード辞書を備えておけば、
他の規格のバーコードであっても同様に処理することが
可能である。
ば、画像中に含まれるバーコードを認識する際に、バー
コードを含む全てのラインの情報に基づいて、バーコー
ドを構成する各バーの幅を特定するように構成したの
で、バーの欠落やかすれ、つぶれ等が存在したり、ノイ
ズが混合している可能性の高い低解像度若しくは低品質
の画像に含まれるバーコードを正確に認識することがで
き、バーコードを含む画像を有効に利用することが可能
となる。
を示すブロック図である。
る。
チャートである。
チャート(1)である。
チャート(2)である。
ある。
コードラインの情報を示した図である。
である。
である。
ートである。
である。
である。
の流れを示すフローチャートである。
る。
る。
チャートである。
の図である。
Claims (15)
- 【請求項1】 画像データ中に含まれるバーコードを認
識するバーコード認識方法において、 画像データからバーコードを含む複数のライン情報を抽
出し、該抽出した複数のライン情報のそれぞれに含まれ
るバー幅情報を集積し、該集積したバー幅情報に基づい
て前記バーコードを認識することを特徴とするバーコー
ド認識方法。 - 【請求項2】 前記集積は、 前記ライン情報のそれぞれに含まれるバー幅情報を対応
付けし、該対応付けられたバー幅情報毎に行われること
を特徴とする請求項1記載のバーコード認識方法。 - 【請求項3】 前記対応付けは、 DPマッチング処理によって行うことを特徴とする請求
項2記載のバーコード認識方法。 - 【請求項4】 前記ライン情報の抽出は、 前記画像データを所定のしきい値を用いて2値化してか
ら行い、 前記バーコードの認識に失敗した場合は、前記画像デー
タを前記しきい値とは別のしきい値で2値化し、該2値
化した画像データに基づいて、再度、前記バーコードの
認識を行うことを特徴とする請求項1記載のバーコード
認識方法。 - 【請求項5】 前記集積したバー幅情報に基づいて、前
記バーコードを構成するバーの基準幅を算出し、該算出
した基準幅に基づいて前記バーコードを認識することを
特徴とする請求項1記載のバーコード認識方法。 - 【請求項6】 前記画像データは、 バーコードが印刷された帳票を読み取ることにより得ら
れることを特徴とする請求項1記載のバーコード処理方
法。 - 【請求項7】 画像データ中に含まれるバーコードを認
識するバーコード認識装置において、 画像データからバーコードを含む複数のライン情報を抽
出するライン情報抽出手段と、 前記ライン情報抽出手段が抽出した複数のライン情報の
それぞれに含まれるバー幅情報を取得するバー幅情報取
得手段と、 前記バー幅情報が取得したバー幅情報を集積し、該集積
したバー幅情報に基づいて前記バーコードを構成する各
バーの幅を特定するバー幅特定手段と、 前記バー幅特定手段が特定したバー幅に基づいて前記バ
ーコードを認識する認識手段とを具備することを特徴と
するバーコード認識装置。 - 【請求項8】 前記バー幅情報特定手段は、 前記バー幅情報取得手段が取得したバー幅情報を前記ラ
イン情報のそれぞれに応じて対応付けし、該対応付けし
たバー幅情報に基づいて、前記バーコードを構成する各
バーの幅を特定することを特徴とする請求項7記載のバ
ーコード認識装置。 - 【請求項9】 前記バー幅情報特定手段は、 DPマッチング処理によって前記対応付けを行うことを
特徴とする請求項8記載のバーコード認識装置。 - 【請求項10】 画像データを2値化する2値化手段を
さらに具備し、 前記ライン情報抽出手段と前記バー幅情報取得手段、前
記バー幅特定手段、前記認識手段は、前記2値化手段に
より所定のしきい値を用いて2値化された画像データに
基づいて前記各処理を行い、 前記認識手段が前記バーコードの認識に失敗した場合
は、前記2値化手段が前記画像データを前記しきい値と
は別のしきい値で2値化し、該2値化した画像データに
基づいて、前記ライン情報抽出手段と前記バー幅情報取
得手段、前記バー幅特定手段、前記認識手段が前記各処
理を行うことを特徴とする請求項7記載のバーコード認
識装置。 - 【請求項11】 前記バー幅特定手段が特定したバー幅
情報に基づいて、前記バーコードを構成するバーの基準
幅を算出する基準幅算出手段をさらに具備し、 前記認識手段は、前記基準幅算出手段が算出した基準幅
に基づいて前記バーコードを認識することを特徴とする
請求項7記載のバーコード認識装置。 - 【請求項12】 コンピュータを動作させ画像データ中
に含まれるバーコードを認識するバーコード認識プログ
ラムにおいて、 画像データからバーコードを含む複数のライン情報を抽
出するステップと、 前記ライン情報のそれぞれに含まれるバー幅情報を集積
し、該集積したバー幅情報に基づいて前記バーコードを
構成する各バーの幅を特定するステップと、 前記特定されたバー幅に基づいて前記バーコードを認識
するステップとを具備することを特徴とするバーコード
認識プログラム。 - 【請求項13】 前記バー幅の特定は、 前記ライン情報のそれぞれに含まれるバー幅情報を対応
付けし、該対応付けしたバー幅情報毎に行うことを特徴
とする請求項12記載のバーコード認識プログラム。 - 【請求項14】 前記対応付けは、 DPマッチング処理によって行われることを特徴とする
請求項13記載のバーコード認識プログラム。 - 【請求項15】 前記集積したバー幅情報に基づいて、
前記バーコードを構成するバーの基準幅を算出し、該算
出した基準幅に基づいて前記バーコードを認識すること
を特徴とする請求項12記載のバーコード認識プログラ
ム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001065811A JP4089807B2 (ja) | 2001-03-08 | 2001-03-08 | バーコード認識方法および装置並びにプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001065811A JP4089807B2 (ja) | 2001-03-08 | 2001-03-08 | バーコード認識方法および装置並びにプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002269491A true JP2002269491A (ja) | 2002-09-20 |
JP4089807B2 JP4089807B2 (ja) | 2008-05-28 |
Family
ID=18924408
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001065811A Expired - Fee Related JP4089807B2 (ja) | 2001-03-08 | 2001-03-08 | バーコード認識方法および装置並びにプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4089807B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116629291A (zh) * | 2023-07-24 | 2023-08-22 | 深圳市驿格科技有限公司 | 基于计算机视觉的快递条码图像智能增强方法及系统 |
-
2001
- 2001-03-08 JP JP2001065811A patent/JP4089807B2/ja not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116629291A (zh) * | 2023-07-24 | 2023-08-22 | 深圳市驿格科技有限公司 | 基于计算机视觉的快递条码图像智能增强方法及系统 |
CN116629291B (zh) * | 2023-07-24 | 2024-02-06 | 深圳市驿格科技有限公司 | 基于计算机视觉的快递条码图像智能增强方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
JP4089807B2 (ja) | 2008-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5410611A (en) | Method for identifying word bounding boxes in text | |
JP3345350B2 (ja) | 文書画像認識装置、その方法、及び記録媒体 | |
Konidaris et al. | Keyword-guided word spotting in historical printed documents using synthetic data and user feedback | |
JP4504702B2 (ja) | 文書処理装置、文書処理方法、および文書処理プログラム | |
EP1598770B1 (en) | Low resolution optical character recognition for camera acquired documents | |
JP3445394B2 (ja) | 少なくとも二つのイメージセクションの比較方法 | |
US7120318B2 (en) | Automatic document reading system for technical drawings | |
Mehri et al. | Texture feature benchmarking and evaluation for historical document image analysis | |
JP2001167131A (ja) | 文書シグネチュアを使用する文書の自動分類方法 | |
US7233697B2 (en) | Character recognition device and a method therefor | |
Pinto et al. | Music score binarization based on domain knowledge | |
JP2007086954A (ja) | 文字認識処理装置、および文字認識処理方法、並びにコンピュータ・プログラム | |
US6944340B1 (en) | Method and apparatus for efficient determination of recognition parameters | |
JP3078318B2 (ja) | 文書からの予め定められたデータを位置決定することおよび抽出することを含む文字認識方法および装置 | |
Yin | Skew detection and block classification of printed documents | |
JP2000285190A (ja) | 帳票識別方法および帳票識別装置および記憶媒体 | |
Verma et al. | Removal of obstacles in Devanagari script for efficient optical character recognition | |
JP2008011484A (ja) | 文字図形列抽出装置,文字図形列抽出方法,その方法を実行するプログラム,そのプログラムを記録した記録媒体 | |
Afroge et al. | Bangla optical character recognition through segmentation using curvature distance and multilayer perceptron algorithm | |
CN109002821B (zh) | 一种基于连通域和切线斜率的网银盾数字识别方法 | |
JP4089807B2 (ja) | バーコード認識方法および装置並びにプログラム | |
US20030123730A1 (en) | Document recognition system and method using vertical line adjacency graphs | |
KR20090111202A (ko) | 한글의 기본 구성요소인 수평선, 수직선, 사선, 원의개수와 특성치를 이용한 한글인식 방법 및 장치 | |
Ajao et al. | Yoruba handwriting word recognition quality evaluation of preprocessing attributes using information theory approach | |
Aparna et al. | A complete OCR system development of Tamil magazine documents |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040609 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070403 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070410 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070606 |
|
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: 20080219 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080220 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4089807 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110307 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120307 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120307 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130307 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130307 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140307 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140307 Year of fee payment: 6 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |