JP5255335B2 - バーコード認識装置、及びバーコード認識プログラム - Google Patents
バーコード認識装置、及びバーコード認識プログラム Download PDFInfo
- Publication number
- JP5255335B2 JP5255335B2 JP2008157593A JP2008157593A JP5255335B2 JP 5255335 B2 JP5255335 B2 JP 5255335B2 JP 2008157593 A JP2008157593 A JP 2008157593A JP 2008157593 A JP2008157593 A JP 2008157593A JP 5255335 B2 JP5255335 B2 JP 5255335B2
- Authority
- JP
- Japan
- Prior art keywords
- barcode
- waveform
- width
- imaging
- character
- 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.)
- Active
Links
Description
近年、バーコードは、Code128(EAN-128)などのモジュール幅が0.16mm程度で印刷される高密度のものが一般的にも使われるようになった。これらのバーコードは、モジュール幅が細密なため、高解像度で品質のよい撮像機器が必要である。
一方、現代においては、携帯端末カメラやWebカメラなど、汎用スキャナ、デジタルカメラなど安価な装置での読取要求が発生している。このため、安価で低解像度の撮像機器で撮像しても正確なバーコード認識をおこなうことができる技術が求められている。
また、エレメントエッジは、走査反射率波形の隣り合う二つの領域のRsとRbとの中間点を交差する点を位置すると規定されている。すなわち、エレメントエッジは、反射率が(Rs+Rb)/2となる点である。なお、エレメントとは、バーコードの黒、又は白のバーを指しており、エレメントエッジは黒、白の境界部分のことを指す。
また、図2の画像走査反射率波形例(エレメントエッジ)は、スペース間が狭小な例を示しており、解像度不足、ピンボケのため画像信号がバーコードの濃淡に追従しておらず丸みを帯びている。図2のエレメントエッジee1,ee2は、実際のバーコードのエッジ(Rs+Rb)/2の位置とは異なる場合が発生し、正しく復号できなくなる課題がある。
図3は、本発明の第1実施形態のバーコード認識装置の構成図である。
バーコード認識装置100は、スキャナ200に接続されるものであり、入力I/F10と、制御部12と、表示部14と、記憶部20とを備えている。
スキャナ200は、撮像素子であるCCD210と照明装置220とを備え、照明装置220により照明されたバーコードをCCD210が撮像するようになっている。
また、バーコード認識装置100は、基準バーコード300が記載されている測定シートをスキャナ200が読み取り、CCD210の解像度等を決定するピント特性を測定する処理と、この測定されたピント特性を用いて、読取対象のバーコードを撮像した撮像画像を補正する処理とを実行するように構成されている。
制御部12は、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)等により構成され、記憶部20に記憶されているプログラムを実行する。なお、バーコード認識装置100がPC(Personal Computer)により構成される場合には、ROMにイニシャルプログラムローダが記憶されており、HDD(Hard Disc Drive)に記憶されたOS(Operating System)及びプログラムがRAMに展開されて実行される。
基準バーコード300は、バー幅やスペース幅が正確であり、十分に太く黒い、幅広バー311、白い狭小スペース312、黒い狭小バー313、及び十分に広く白い、幅広スペース314を備えている。狭小スペース312、及び狭小バー313は、読取対象となるバーコードの最小モジュール幅と同値以下の幅となっている。
ここでRは画像上のバーコードの位置における反射率である。
幅広バー311に対応する反射率Rb0は、幅広黒バー311の中心付近のノイズNbを含む輝度の平均値で反射率零とする。幅広スペース314に対応する反射率Rs0は、幅広スペース314の中心付近のノイズNsを含む輝度の平均値で反射率100%とする。しかしながら、解像度不足やピンぼけのために図4(b)に示すようななまった波形になるため、狭小スペース312に対応する反射率は、100%にならずRs1であり、狭小バー313に対応する反射率は零にならずRb1である。
反射率が(Rs1+Rb1)/2となる点が、狭小スペース312と狭小バー313とのエレメントエッジ320(図4(b))である。このため、このエレメントエッジ320は、スキャナ特性測定用媒体例の図4(a)の狭小スペース312と狭小バー313とのエレメントエッジ316と一致させている。
同様に、狭小バー313と幅広スペース314とのエレメントエッジを図4(b)より算出すると点322となる。狭小幅測定手段52は、図4(b)の走査反射率波形から狭小バー313の幅を点320と点322との間隔として算出する。この間隔は、本来の狭小バー313の幅よりも大きな値として算出される。
u
P[n]=f×Σ(p[n+i]×((u-|i|)/u)2) ・・・(1)
i= -u
ただし、u=0の場合は、P[n]=p[n]
f 固定値、
u ピント特性(分解能、レスポンス関数のパラメータ)
P[n] n画素目の算出される反射率
p[n] 基準バーコードのn画素目の輝度 (幅広バーを0、幅広スペースを100とする)
例えば、狭小スペース312が2.5画素の場合、p[0]=100、p[1]=100、p[2]=50、p[3]=0、・・・・である。
なお、i=−u、0、+uのときは、次のようになる。
i=−u のとき、 ((u−u)/u)2=0
i=0 のとき、 1
i=+u のとき、 ((u−u))/u)2=0
nは、測定部分すべてが範囲である。
CTF=(Rs1−Rb1)/(Rs0−Rb0) ・・・・・(2)
CTFは、1に近づくほど間隔が狭いバーコードでもコントラスト特性がよく、0に近づくほどコントラスト特性が悪くなることを示す。
また、CTF・ノイズ測定手段56は、図4(b)のNs,Nbをノイズ特性として測定する。Nsはスペース(白)部分の輝度の変化量、Nbはバー(黒)部分の輝度の変化量とする。そして、CTF・ノイズ測定手段56は、算出・測定された、ピント特性「u」、CTF、ノイズ特性Ns,Nbをスキャナ部1の特性値として記憶部20の記憶領域24,26,28に記憶する。
S2=(S1−(Ns/(Rs0−Rb0))+(Nb/(Rs0−Rb0)))
バーコードは、幾つかのバーとスペースとを組み合わせて1キャラクタを構成している。例えば、Code-128 の場合、1キャラクタは4種類の太さの3本のバーと3本のスペースとで構成され、11モジュールで表現される。したがって、バーコード全体幅やエレメント幅算出手段70が算出した各スペース、バーの幅より1キャラクタの画素数Ncを求めることができる。
記憶部20のキャラクタ辞書30には、読取対象のバーコードに対応したキャラクタ毎のエレメントパターン構成(バー比率)と対応する復号値(コード)とが登録されている。読み取られたバーコードの1キャラクタの画素数Ncより、キャラクタ辞書30に登録されている各キャラクタに対するエレメントパターン構成の画素数を算出し、記憶部20に登録されているピント特性uを用いて、キャラクタに対するエレメントパターン構成のバー、スペースを(1)式を用いて走査反射率波形を作成し、エレメントエッジを算出してエレメントパターン構成を作り直す。このとき、キャラクタの前後のスペースやバーは実際に算出されたエレメント幅を用いる。
さらに、補正された辞書と実画像上から測定されるバー幅とをマッチングを行う。これにより、スキャナ部1によって取得される画像特性用の各キャラクタに対するエレメントパターン構成を作成できる。
図5は、基準バーコードを用いてスキャナ特性を測定するためのフローチャートであり、図7は、測定対象のバーコードを復号する復号手順を示すフローチャートである。
図5のルーチンは、スキャナ200に測定シートを設置して、基準バーコードの映像出力を受信するときに起動させるものである。
第一撮像手段42は、測定シートの読み込みを入力I/Fを介してスキャナ200に行わせ、読み取った画像を画像メモリ22に記憶する(S1)。そして、狭小幅測定手段52は、画像メモリ22に記憶された基準バーコード300のバー・スペース幅を測定する(S2)。そして、ピント特性演算手段54は、(1)式を満たすピント特性uを演算する。例えば、基準バーコードの理想的な状態((1)式u=0)に対して、所定のuの値において(1)式を適用した画像を、uの値を変更させながら、スキャナ200で読み取った画像と最も近くなる状態となった際のuの値を採用する。例えば、理想的な画像データを論理的に作成して(1)式を適用し、スキャナ200で取った画像に近くなるようなuの値を採用する。(S3)。CTF・ノイズ測定手段56は、コントラスト(CTF)、及びノイズを測定する(S4)。そして、分解能演算手段50は、ピント特性u、CTF,及びノイズ等のスキャナ特性を領域24,26,28に記憶し、終了する。
第二撮像手段60は、測定対象物の読み取りを入力I/Fを介してスキャナ200に行わせ、読み取った画像を画像メモリ22に記憶する(S10)。
エレメント幅算出手段70は、バー・スペースを判断し(S11)、画像メモリ22に記憶された画像に基づいてバー・スペースのエレメント幅を算出する(S12)。そして、エレメントパターン作成手段80は、エレメント幅、ピント特性u、及び(1)式を用いて、シンボルキャラクタをスキャナ特性に変換する(S13)。そして、キャラクタ選択手段85は、スキャナ特性に変換された全シンボルキャラクタとS12で算出したエレメント幅とをマッチングして、キャラクタを選択する(S14)。
一方、全キャラクタの選択が終了していない場合には(S15でNo)、処理がS13に戻り、他のシンボルキャラクタの変換処理が実行される。
第1実施形態では、基準バーコード300を用いてスキャナ特性を事前に評価してから、読取対象のバーコードを読み取っていたが、事前にスキャナ特性を評価せずに、高密度なバーコードを読み取ることができる。
図8は、第2実施形態の記憶部20bの構成図である。記憶部20bは、第二撮像手段(撮像手段)60と、ノイズ量測定手段410と、バー・スペース判断手段420と、幅算出手段430と、キャラクタ復元手段450と、表示手段90と、画像メモリ22と、キャラクタ辞書30とを備え、キャラクタ復元手段450は、全キャラクタ変換手段460と、キャラクタ選択手段470と、ピント特性変更手段480とを備える。なお、画像メモリ22と、キャラクタ辞書30と、第二撮像手段60と、表示手段90と、バーコード認識装置を構成する他の構成要素10,12,14は、図3と同様である。
ノイズ量測定手段410は、画像メモリ22に記憶された画像データより走査反射率波形を作成し、クワイエットゾーン(図6)にてノイズ量(Ns)を測定する。
バー・スペース判断手段420は、ノイズ量Nsの2倍程度以上の値を有するエレメントをエレメント内の最大ノイズとして、バー・スペース判断手段420は、走査反射率波形の各頂点(山、谷部分)にて、算出したコントラスト差のNsの2倍以上のコントラスト差が生じている部分を有効な山/谷と判断し、山部分をスペース(白)、谷部分をバー(黒)として判断する。
図1にノイズ量(Ns)とコントラスト差のNsの2倍以上のコントラスト差が生じている部分を有効な山/谷部分の例を示す。
キャラクタ選択手段470は、幅算出手段430により算出された各スペース、バーの幅と、全キャラクタ変換手段460により変換されたキャラクタとを比較することにより、バーコードを1キャラクタ毎に復号する。
第二撮像手段60は、スキャナ200(図1)に測定対象物を設置し、CCD210が撮像したバーコード画像を画像メモリ22に格納する(S20)。
そして、ノイズ量測定手段410は、クワイエットゾーン(図6)にてノイズ量Nsを測定する(S21)。
但し、キャラクタ選択手段470は、幅算出手段430が算出したエレメント幅と全キャラクタ変換手段460が算出した各エレメント幅との差分が一定以上あるか否かを判断して、マッチング失敗か否かを判断する(S27)。
なお、S29において、一定以上、ピント特性を更新しても適合するピント特性が存在しない場合は、復号失敗とする。
本発明は前記した実施形態に限定されるものではなく、例えば以下のような変形が可能である。
前記各実施形態は、一次元バーコードで説明したが、二次元バーコードでも適用可能である。
12 制御部
14 表示部
20,20a,20b 記憶部
22 画像メモリ
24 CTF領域
26 ピント特性u領域
28 ノイズ特性領域
30 キャラクタ辞書(バー比率、コード)
42 第一撮像手段
50 分解能演算手段
52 狭小幅測定手段
54 ピント特性演算手段
56 CTF・ノイズ測定手段
60 第二撮像手段(バーコード波形取得手段)
70 エレメント幅算出手段
72 バー・スペース判断手段
74 コントラスト演算手段
80 エレメントパターン作成手段
85 キャラクタ選択手段
90 表示手段
100 バーコード認識装置
200 スキャナ
210 CCD(撮像素子)
220 照明装置
300 基準バーコード(測定シート)
410 ノイズ量測定手段
420 バー・スペース判断手段
430 幅算出手段
450 キャラクタ復元手段
460 全キャラクタ変換手段
470 キャラクタ選択手段
480 ピント特性変更手段
Claims (10)
- 撮像素子を用いて撮像されたバーコードを認識するバーコード認識装置であって、
狭小バーと狭小スペースとを備えた基準バーコードの波形にレスポンス関数を適用した模擬波形を演算し、この模擬波形と前記基準バーコードを撮像した基準撮像波形とが一致するように前記レスポンス関数のパラメータを変化させて、前記撮像素子の分解能を演算する分解能演算手段と、
前記バーコードを撮像した撮像波形を取得するバーコード波形取得手段と、
前記バーコード波形取得手段で取得した撮像波形のピーク値同士の中点座標を用いて、前記バーコードのバー及びスペースの幅を算出する幅算出手段と、
前記幅算出手段で算出された幅の画素数と、前記分解能演算手段で演算された前記分解能の値と、前記分解能演算手段で一致するように変化させたパラメータを適用した前記レスポンス関数とを用いて、前記バーコードに使用される複数のキャラクタのエレメントパターンを作成するエレメントパターン作成手段と、
前記バーコード波形取得手段で取得した撮像波形と、前記エレメントパターン作成手段で作成したエレメントパターンとを比較して、最適なキャラクタを選択するキャラクタ選択手段と
を備えることを特徴とするバーコード認識装置。 - 前記バーコード波形取得手段で取得された撮像波形は、前記分解能演算手段で一致するように変化させたパラメータを用いて、補正されることを特徴とする請求項1に記載のバーコード認識装置。
- 前記基準撮像波形のピーク値同士の中点座標を用いて前記狭小バーと前記狭小スペースとの幅を測定する狭小幅測定手段を備え、
前記分解能演算手段は、前記模擬波形の狭小幅と前記撮像波形の狭小幅とが一致するように前記パラメータを変化させる
ことを特徴とする請求項1に記載のバーコード認識装置。 - 撮像素子を用いて撮像されたバーコードを認識するバーコード認識装置であって、
前記バーコードを撮像した撮像波形を取得するバーコード波形取得手段と、
前記バーコード波形取得手段で取得した撮像波形のピーク値同士の中点座標を用いて、前記バーコードのバー及びスペースの幅を算出する幅算出手段と、
前記幅算出手段が算出した幅より演算されたキャラクタの画素数とレスポンス関数とを用いて、複数のキャラクタのエレメントパターンを作成するエレメントパターン作成手段と、
前記エレメントパターン作成手段で作成された複数のエレメントパターンと、前記撮像波形とを比較することによりキャラクタを選択するキャラクタ選択手段と
を備えることを特徴とするバーコード認識装置。 - 前記レスポンス関数のパラメータは、前記キャラクタ選択手段で復号された復元キャラクタのエレメント幅と、前記幅算出手段により算出された幅とが一致するように更新されたものであることを特徴とする請求項4に記載のバーコード認識装置。
- 前記バーコードは、読取バー本数が特定されており、
前記撮像波形は、バー及びスペースの数を前記読取バー本数に対応させるように、輝度変化の少ない部分が削除されたものであることを特徴とする請求項4又は請求項5に記載のバーコード認識装置。 - 前記バーコードは、読取バー本数が不特定であり、
前記撮像波形は、ノイズ量Nsの2倍程度以上の値を有する最大欠陥エレメントとして、この値以上のコントラスト差が生じている部分を有効な山/谷と判断したものであることを特徴とする請求項4又は請求項5に記載のバーコード認識装置。 - 前記バーコードは、一次元バーコード又は二次元バーコードであることを特徴とする請求項1乃至請求項7の何れか1項に記載のバーコード認識装置。
- 撮像素子により撮像されたバーコードをコンピュータに認識させるバーコード認識プログラムであって、
狭小バーと狭小スペースとを備えた基準バーコードの波形にレスポンス関数を適用した模擬波形を演算し、この模擬波形と前記基準バーコードを撮像した基準撮像波形とが一致するように前記レスポンス関数のパラメータを変化させて、前記撮像素子の分解能を演算する分解能演算ステップと、
前記バーコードを撮像した前記撮像素子の撮像波形を取得するバーコード波形取得ステップと、
前記バーコード波形取得ステップで取得した撮像波形のピーク値同士の中点座標とを用いて、前記バーコードのバー及びスペースの幅を算出する幅算出ステップと、
前記幅算出ステップで算出された幅の画素数と、前記分解能演算ステップで演算された前記分解能の値と、前記分解能演算手段で一致するように変化させたパラメータを適用した前記レスポンス関数とを用いて、前記バーコードに使用される複数のキャラクタのエレメントパターンを作成するエレメントパターン作成ステップと、
前記バーコード波形取得ステップで取得した撮像波形と、前記エレメントパターン作成ステップで作成したエレメントパターンとを比較して、最適なキャラクタを選択するキャラクタ選択ステップと
を前記コンピュータに実行させることを特徴とするバーコード認識プログラム。 - 撮像素子により撮像されたバーコードをコンピュータに認識させるバーコード認識プログラムであって、
前記バーコードを撮像した前記撮像素子の撮像波形を取得するバーコード波形取得ステップと、
前記バーコード波形取得ステップで取得した撮像波形のピーク値同士の中点座標を用いて、前記バーコードのバー及びスペースの幅を算出する幅算出ステップと、
前記幅算出ステップが算出した幅より演算されたキャラクタの画素数とレスポンス関数とを用いて、複数のキャラクタのエレメントパターンを作成するエレメントパターン作成ステップと、
前記エレメントパターン作成ステップで作成された複数のエレメントパターンと、前記撮像波形とを比較することによりキャラクタを選択するキャラクタ選択ステップと
を前記コンピュータに実行させることを特徴とするバーコード認識プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008157593A JP5255335B2 (ja) | 2008-06-17 | 2008-06-17 | バーコード認識装置、及びバーコード認識プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008157593A JP5255335B2 (ja) | 2008-06-17 | 2008-06-17 | バーコード認識装置、及びバーコード認識プログラム |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2009301463A JP2009301463A (ja) | 2009-12-24 |
JP2009301463A5 JP2009301463A5 (ja) | 2011-06-16 |
JP5255335B2 true JP5255335B2 (ja) | 2013-08-07 |
Family
ID=41548265
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008157593A Active JP5255335B2 (ja) | 2008-06-17 | 2008-06-17 | バーコード認識装置、及びバーコード認識プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5255335B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5576812B2 (ja) * | 2011-02-16 | 2014-08-20 | オリンパス株式会社 | 画像処理装置、画像処理方法、画像処理プログラム、及び、撮像装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3275598B2 (ja) * | 1994-12-27 | 2002-04-15 | オムロン株式会社 | パターン読取り装置および取引処理装置 |
JP2000172776A (ja) * | 1998-12-10 | 2000-06-23 | Olympus Optical Co Ltd | 2値化回路 |
-
2008
- 2008-06-17 JP JP2008157593A patent/JP5255335B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2009301463A (ja) | 2009-12-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4911340B2 (ja) | 二次元コード検出システムおよび二次元コード検出プログラム | |
US20070272755A1 (en) | Two-directional bar code symbol and its encoding & decoding method | |
US10726539B2 (en) | Image processing apparatus, image processing method and storage medium | |
JP5262869B2 (ja) | 画像処理システム、画像処理サーバ、mfp及び画像処理方法 | |
KR20080019637A (ko) | 패턴 검출을 위한 이미지 처리 | |
US8503734B2 (en) | Detecting image detail level | |
US8538191B2 (en) | Image correction apparatus and method for eliminating lighting component | |
US8494282B2 (en) | Blur estimation | |
Munoz-Mejias et al. | A low-complexity pre-processing system for restoring low-quality QR code images | |
JP5703520B2 (ja) | バーコード画像のボケ修正を行う方法、端末、およびコンピュータ可読記録媒体 | |
US10460142B2 (en) | Barcode identification method for improving decoding reliability by correcting image distortion | |
JP5255335B2 (ja) | バーコード認識装置、及びバーコード認識プログラム | |
US8452115B2 (en) | Method and apparatus for designing restoration filter, and method and apparatus for restoring image using the restoration filter | |
JP4182937B2 (ja) | 撮影装置、撮影装置の画像処理方法及びプログラム | |
US9116854B2 (en) | Method of evaluating image correlation with speckle patter | |
JP4335229B2 (ja) | Qrコード認識装置、qrコード認識装置の制御方法、qrコード認識装置制御プログラムおよびそれを記録したコンピュータ読み取り可能な記録媒体 | |
JP5121685B2 (ja) | バーコード読取装置、バーコード読取プログラム、バーコード読取方法 | |
JPH05161002A (ja) | 原稿読み取り装置 | |
JP5002670B2 (ja) | 画像処理装置及び画像読取装置 | |
US7451931B2 (en) | Detecting barcodes on two-dimensional images using frequency domain data | |
JP2009175845A (ja) | 画像処理装置、ペン・デバイスおよびプログラム | |
JP5127687B2 (ja) | バーコード読取装置、バーコード読取プログラム、バーコード読取方法 | |
TWI595426B (zh) | 條碼解碼方法 | |
JP4355305B2 (ja) | 画像処理装置、コンピュータプログラム、及び記録媒体 | |
JP4422128B2 (ja) | 2値画像の階調補正処理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110425 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110425 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20121228 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130108 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130308 |
|
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: 20130402 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130419 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5255335 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: 20160426 Year of fee payment: 3 |