(57)【特許請求の範囲】
【請求項１】
撮像素子を用いて撮像されたバーコードを認識するバーコード認識装置であって、
狭小バーと狭小スペースとを備えた基準バーコードの波形にレスポンス関数を適用した模擬波形を演算し、この模擬波形と前記基準バーコードを撮像した基準撮像波形とが一致するように前記レスポンス関数のパラメータを変化させて、前記撮像素子の分解能を演算する分解能演算手段と、
前記バーコードを撮像した撮像波形を取得するバーコード波形取得手段と、
前記バーコード波形取得手段で取得した撮像波形のピーク値同士の中点座標を用いて、前記バーコードのバー及びスペースの幅を算出する幅算出手段と、
前記幅算出手段で算出された幅の画素数と、前記分解能演算手段で演算された前記分解能の値と、前記分解能演算手段で一致するように変化させたパラメータを適用した前記レスポンス関数とを用いて、前記バーコードに使用される複数のキャラクタのエレメントパターンを作成するエレメントパターン作成手段と、
前記バーコード波形取得手段で取得した撮像波形と、前記エレメントパターン作成手段で作成したエレメントパターンとを比較して、最適なキャラクタを選択するキャラクタ選択手段と
を備えることを特徴とするバーコード認識装置。
【請求項２】
前記バーコード波形取得手段で取得された撮像波形は、前記分解能演算手段で一致するように変化させたパラメータを用いて、補正されることを特徴とする請求項１に記載のバーコード認識装置。
【請求項３】
前記基準撮像波形のピーク値同士の中点座標を用いて前記狭小バーと前記狭小スペースとの幅を測定する狭小幅測定手段を備え、
前記分解能演算手段は、前記模擬波形の狭小幅と前記撮像波形の狭小幅とが一致するように前記パラメータを変化させる
ことを特徴とする請求項１に記載のバーコード認識装置。
【請求項４】
撮像素子を用いて撮像されたバーコードを認識するバーコード認識装置であって、
前記バーコードを撮像した撮像波形を取得するバーコード波形取得手段と、
前記バーコード波形取得手段で取得した撮像波形のピーク値同士の中点座標を用いて、前記バーコードのバー及びスペースの幅を算出する幅算出手段と、
前記幅算出手段が算出した幅より演算されたキャラクタの画素数とレスポンス関数とを用いて、複数のキャラクタのエレメントパターンを作成するエレメントパターン作成手段と、
前記エレメントパターン作成手段で作成された複数のエレメントパターンと、前記撮像波形とを比較することによりキャラクタを選択するキャラクタ選択手段と
を備えることを特徴とするバーコード認識装置。
【請求項５】
前記レスポンス関数のパラメータは、前記キャラクタ選択手段で復号された復元キャラクタのエレメント幅と、前記幅算出手段により算出された幅とが一致するように更新されたものであることを特徴とする請求項４に記載のバーコード認識装置。
【請求項６】
前記バーコードは、読取バー本数が特定されており、
前記撮像波形は、バー及びスペースの数を前記読取バー本数に対応させるように、輝度変化の少ない部分が削除されたものであることを特徴とする請求項４又は請求項５に記載のバーコード認識装置。
【請求項７】
前記バーコードは、読取バー本数が不特定であり、
前記撮像波形は、ノイズ量Ｎｓの２倍程度以上の値を有する最大欠陥エレメントとして、この値以上のコントラスト差が生じている部分を有効な山／谷と判断したものであることを特徴とする請求項４又は請求項５に記載のバーコード認識装置。
【請求項８】
前記バーコードは、一次元バーコード又は二次元バーコードであることを特徴とする請求項１乃至請求項７の何れか１項に記載のバーコード認識装置。
【請求項９】
撮像素子により撮像されたバーコードをコンピュータに認識させるバーコード認識プログラムであって、
狭小バーと狭小スペースとを備えた基準バーコードの波形にレスポンス関数を適用した模擬波形を演算し、この模擬波形と前記基準バーコードを撮像した基準撮像波形とが一致するように前記レスポンス関数のパラメータを変化させて、前記撮像素子の分解能を演算する分解能演算ステップと、
前記バーコードを撮像した前記撮像素子の撮像波形を取得するバーコード波形取得ステップと、
前記バーコード波形取得ステップで取得した撮像波形のピーク値同士の中点座標とを用いて、前記バーコードのバー及びスペースの幅を算出する幅算出ステップと、
前記幅算出ステップで算出された幅の画素数と、前記分解能演算ステップで演算された前記分解能の値と、前記分解能演算手段で一致するように変化させたパラメータを適用した前記レスポンス関数とを用いて、前記バーコードに使用される複数のキャラクタのエレメントパターンを作成するエレメントパターン作成ステップと、
前記バーコード波形取得ステップで取得した撮像波形と、前記エレメントパターン作成ステップで作成したエレメントパターンとを比較して、最適なキャラクタを選択するキャラクタ選択ステップと
を前記コンピュータに実行させることを特徴とするバーコード認識プログラム。
【請求項１０】
撮像素子により撮像されたバーコードをコンピュータに認識させるバーコード認識プログラムであって、
前記バーコードを撮像した前記撮像素子の撮像波形を取得するバーコード波形取得ステップと、
前記バーコード波形取得ステップで取得した撮像波形のピーク値同士の中点座標を用いて、前記バーコードのバー及びスペースの幅を算出する幅算出ステップと、
前記幅算出ステップが算出した幅より演算されたキャラクタの画素数とレスポンス関数とを用いて、複数のキャラクタのエレメントパターンを作成するエレメントパターン作成ステップと、
前記エレメントパターン作成ステップで作成された複数のエレメントパターンと、前記撮像波形とを比較することによりキャラクタを選択するキャラクタ選択ステップと
を前記コンピュータに実行させることを特徴とするバーコード認識プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、バーコード認識装置、及びバーコード認識プログラムに関する。
【背景技術】
【０００２】
従来、バーコードの読み取りには、レーザ発振器、リニアＣＣＤ、及び専用のハードウェアを用いて、高解像度の画像を取得し、また、専用の照明装置を搭載するなどの工夫が行われていた。
近年、バーコードは、Code128(EAN-128)などのモジュール幅が０．１６ｍｍ程度で印刷される高密度のものが一般的にも使われるようになった。これらのバーコードは、モジュール幅が細密なため、高解像度で品質のよい撮像機器が必要である。
一方、現代においては、携帯端末カメラやＷｅｂカメラなど、汎用スキャナ、デジタルカメラなど安価な装置での読取要求が発生している。このため、安価で低解像度の撮像機器で撮像しても正確なバーコード認識をおこなうことができる技術が求められている。
【０００３】
特許文献１には、バーコードのノイズ分除去のために使用されるローパスフィルタが開示され、特許文献２には、認識の失敗時に閾値をリトライする技術が開示され、特許文献３には、複数の解像度での画像を登録しておき、低い解像度での画像が入力されても比較検証することができる技術が開示されている。
【０００４】
また、非特許文献１には、バーコード復号手順が具体的に開示されており、最大反射率をＲｍａｘとし、最小反射率をＲｍｉｎとしたとき、全域的しきい値Ｇ＝（Ｒｍａｘ＋Ｒｍｉｎ）／２より上にある各々の領域はスペースとみなし、それぞれの領域内の最大反射率をスペース反射率Ｒｓとしている。また、全域的しきい値より下にある領域はバーとみなし、それぞれの領域内の最小反射率をバー反射率Ｒｂとしている。
また、エレメントエッジは、走査反射率波形の隣り合う二つの領域のＲｓとＲｂとの中間点を交差する点を位置すると規定されている。すなわち、エレメントエッジは、反射率が（Ｒｓ＋Ｒｂ）／２となる点である。なお、エレメントとは、バーコードの黒、又は白のバーを指しており、エレメントエッジは黒、白の境界部分のことを指す。
【特許文献１】特開２００６−２３８３５４号公報
【特許文献２】特開２００２−２６９４９１号公報
【特許文献３】特開２００７−３６８３６号公報
【非特許文献１】規格番号ＪＩＳ  Ｘ  ０５２０、規格名称  「バーコードシンボル印刷品質の評価仕様−１次元シンボル」
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、汎用カメラデバイスは、レンズ等の光学部品を用いているので、解像度不足やピンボケなどが生じる。すなわち、汎用カメラデバイスを用いてバーコードを撮像した場合は、図１の汎用画像走査反射率波形例に示すように、全域的しきい値ＧＴ＝（Ｒｍａｘ＋Ｒｍｉｎ）／２を用いて、バー、スペースの区別を行う場合は、バーが幅広であり、スペースが狭小であるときに、バーよりも高い値に全域的しきい値がくることがあり、バー、スペースの区別が困難になるという課題がある。
また、図２の画像走査反射率波形例（エレメントエッジ）は、スペース間が狭小な例を示しており、解像度不足、ピンボケのため画像信号がバーコードの濃淡に追従しておらず丸みを帯びている。図２のエレメントエッジｅｅ１，ｅｅ２は、実際のバーコードのエッジ（Ｒｓ＋Ｒｂ）／２の位置とは異なる場合が発生し、正しく復号できなくなる課題がある。
【０００６】
本発明は、前記課題を解決するためになされたものであり、撮像素子による分解能の低下の影響を低減することができるバーコード認識装置、及びバーコード認識プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
前記課題を解決するため、本発明の一の手段は、撮像素子を用いて撮像されたバーコードを認識するバーコード認識装置であって、狭小バーと狭小スペースとを備えた基準バーコードの波形にレスポンス関数を適用した模擬波形を演算し、この模擬波形（例えば、Ｐ［ｎ］）と前記基準バーコードを撮像した基準撮像波形とが一致するように前記レスポンス関数のパラメータ（例えば、ピント特性ｕ）を変化させて、前記撮像素子の分解能を演算する分解能演算手段と、前記バーコードを撮像した撮像波形を取得するバーコード波形取得手段（例えば、第二撮像手段）と、前記バーコード波形取得手段で取得した撮像波形（例えば、走査反射率波形）のピーク値同士の中点座標（（Ｒｓ＋Ｒｂ）／２）を用いて、前記バーコードのバー及びスペースの幅を算出する幅算出手段と、前記幅算出手段で算出された幅の画素数と、前記分解能演算手段で演算された前記分解能の値と、前記分解能演算手段で一致するように変化させたパラメータを適用した前記レスポンス関数とを用いて、前記バーコードに使用される複数のキャラクタのエレメントパターンを作成するエレメントパターン作成手段と、前記バーコード波形取得手段で取得した撮像波形と、前記エレメントパターン作成手段で作成したエレメントパターンとを比較して、最適なキャラクタを選択するキャラクタ選択手段とを備えることを特徴とする。
【０００８】
本発明の他の手段は、撮像素子を用いて撮像されたバーコードを認識するバーコード認識装置であって、前記バーコードを撮像した撮像波形を取得するバーコード波形取得手段と、前記バーコード波形取得手段で取得した撮像波形のピーク値同士の中点座標を用いて、前記バーコードのバー及びスペースの幅を算出する幅算出手段と、前記幅算出手段が算出した幅より演算されたキャラクタの画素数とレスポンス関数とを用いて、複数のキャラクタのエレメントパターンを作成するエレメントパターン作成手段と、前記エレメントパターン作成手段で作成された複数のエレメントパターンと、前記撮像波形とを比較することによりキャラクタを選択するキャラクタ選択手段とを備えることを特徴とする。このとき、前記レスポンス関数のパラメータは、前記キャラクタ選択手段で復号された復元キャラクタのエレメント幅と、前記幅算出手段により算出された幅とが略一致するように更新されたものであることが好ましい。
【発明の効果】
【０００９】
本発明によれば、撮像素子による分解能の低下の影響を低減することができる。
【発明を実施するための最良の形態】
【００１０】
（第１実施形態）
図３は、本発明の第１実施形態のバーコード認識装置の構成図である。
バーコード認識装置１００は、スキャナ２００に接続されるものであり、入力Ｉ／Ｆ１０と、制御部１２と、表示部１４と、記憶部２０とを備えている。
スキャナ２００は、撮像素子であるＣＣＤ２１０と照明装置２２０とを備え、照明装置２２０により照明されたバーコードをＣＣＤ２１０が撮像するようになっている。
また、バーコード認識装置１００は、基準バーコード３００が記載されている測定シートをスキャナ２００が読み取り、ＣＣＤ２１０の解像度等を決定するピント特性を測定する処理と、この測定されたピント特性を用いて、読取対象のバーコードを撮像した撮像画像を補正する処理とを実行するように構成されている。
【００１１】
入力Ｉ／Ｆ１０は、制御部１２により制御され、ＣＣＤ２１０が出力する影像出力を入力する。表示部１４は、ＣＲＴ（Cathode Ray Tube）、ＬＣＤ（Liquid Crystal Display）により構成され、バーコードの認識結果を表示する。
制御部１２は、ＣＰＵ（Central Processing Unit）、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）等により構成され、記憶部２０に記憶されているプログラムを実行する。なお、バーコード認識装置１００がＰＣ（Personal  Computer）により構成される場合には、ＲＯＭにイニシャルプログラムローダが記憶されており、ＨＤＤ（Hard Disc Drive）に記憶されたＯＳ（Operating  System）及びプログラムがＲＡＭに展開されて実行される。
【００１２】
記憶部２０は、画像メモリ２２と、ＣＴＦ（Contrast Transfer Function）領域２４と、ピント特性ｕ領域２６と、ノイズ特性領域２８と、バーコードのエレメントパターンが記憶されるキャラクタ辞書３０と、制御部１２に実行させるプログラムの領域とを備えている。このプログラムは、第一撮像手段４２と、分解能演算手段５０と、第二撮像手段６０と、エレメント幅算出手段７０と、エレメントパターン作成手段８０と、キャラクタ選択手段８５と、表示手段９０とを備える。
【００１３】
第一撮像手段４２は、スキャナ２００から測定シートの基準バーコード３００を事前に読み取り、読み取った基準バーコード３００の画像データを画像メモリ２２に記憶する。分解能演算手段５０は、狭小幅測定手段５２と、ピント特性演算手段５４と、ＣＴＦ・ノイズ測定手段５６とを備える。
【００１４】
図４（ａ）は、測定シートに記載されている基準バーコード３００の一例である。
基準バーコード３００は、バー幅やスペース幅が正確であり、十分に太く黒い、幅広バー３１１、白い狭小スペース３１２、黒い狭小バー３１３、及び十分に広く白い、幅広スペース３１４を備えている。狭小スペース３１２、及び狭小バー３１３は、読取対象となるバーコードの最小モジュール幅と同値以下の幅となっている。
【００１５】
図４（ｂ）は、基準バーコード３００に対応するＣＣＤ２１０の撮像出力であり、画像メモリ２２に格納される走査反射率波形を示す。
ここでＲは画像上のバーコードの位置における反射率である。
幅広バー３１１に対応する反射率Ｒｂ０は、幅広黒バー３１１の中心付近のノイズＮｂを含む輝度の平均値で反射率零とする。幅広スペース３１４に対応する反射率Ｒｓ０は、幅広スペース３１４の中心付近のノイズＮｓを含む輝度の平均値で反射率１００％とする。しかしながら、解像度不足やピンぼけのために図４（ｂ）に示すようななまった波形になるため、狭小スペース３１２に対応する反射率は、１００％にならずＲｓ１であり、狭小バー３１３に対応する反射率は零にならずＲｂ１である。
反射率が（Ｒｓ１＋Ｒｂ１）／２となる点が、狭小スペース３１２と狭小バー３１３とのエレメントエッジ３２０（図４（ｂ））である。このため、このエレメントエッジ３２０は、スキャナ特性測定用媒体例の図４（ａ）の狭小スペース３１２と狭小バー３１３とのエレメントエッジ３１６と一致させている。
【００１６】
一方、幅広バー３１１と狭小スペース３１２とのエレメントエッジを図４（ｂ）より算出した場合、反射率が（Ｒｓ１＋Ｒｂ０）／２の点３２１となる。この点は、幅広バー３１１と狭小スペース３１２のエレメントエッジ３１５とは異なっている。すなわち、狭小幅測定手段５２は、図４（ｂ）の走査反射率波形から狭小スペース３１２の幅を点３２１と点３２０との間隔として算出する。この間隔は、本来の狭小スペース３１２の幅よりも大きな値として算出される。
同様に、狭小バー３１３と幅広スペース３１４とのエレメントエッジを図４（ｂ）より算出すると点３２２となる。狭小幅測定手段５２は、図４（ｂ）の走査反射率波形から狭小バー３１３の幅を点３２０と点３２２との間隔として算出する。この間隔は、本来の狭小バー３１３の幅よりも大きな値として算出される。
【００１７】
ピント特性演算手段５４は、（１）式を用いて、レスポンス関数である走査反射率Ｐ［ｎ］を演算し、バーエッジ（Ｒｓ＋Ｒｂ）／２を算出し、図４（ｂ）で測定された狭小スペースの幅（３２１から３２０までの間隔）、狭小バーの幅（３２０から３２２までの間隔）に略一致するようなピント特性「ｕ」を演算する。
u
P[n]＝ｆ×Σ(p[n+i]×((u-|i|）/u)2)      ・・・（１）
i= -u
ただし、u=0の場合は、P[n]＝p[n]
ｆ  固定値、
ｕ  ピント特性（分解能、レスポンス関数のパラメータ）
P[n]  ｎ画素目の算出される反射率
p[n]  基準バーコードのｎ画素目の輝度  （幅広バーを０、幅広スペースを１００とする）
【００１８】
ここで、ピント特性ｕは、「ある画素の輝度がそこから何画素目まで影響するか」という意味である。なお、シグマで（ｎ＋ｉ）を（ｎ−ｕ）から（ｎ＋ｕ）まで変化させるようになっているが、ｎは画素の位置である。言い換えると、「ピント特性ｕは、画素ｎから何画素離れると影響がなくなるか」の意味となる。
例えば、狭小スペース３１２が２．５画素の場合、ｐ［０］＝１００、ｐ［１］＝１００、ｐ［２］＝５０、ｐ［３］＝０、・・・・である。
なお、i＝−ｕ、０、＋ｕのときは、次のようになる。
ｉ＝−ｕ  のとき、  (（ｕ−ｕ)／ｕ）２＝０
ｉ＝０    のとき、  １
ｉ＝＋ｕ  のとき、  (（ｕ−ｕ）)／ｕ）２＝０
ｎは、測定部分すべてが範囲である。
【００１９】
ＣＴＦ・ノイズ測定手段５６は、（２）式を用いて、バー、スペースのコントラスト特性ＣＴＦを演算する。
ＣＴＦ＝(Ｒｓ１−Ｒｂ１)／（Ｒｓ０−Ｒｂ０）  ・・・・・(２)
ＣＴＦは、１に近づくほど間隔が狭いバーコードでもコントラスト特性がよく、０に近づくほどコントラスト特性が悪くなることを示す。
また、ＣＴＦ・ノイズ測定手段５６は、図４（ｂ）のＮｓ，Ｎｂをノイズ特性として測定する。Ｎｓはスペース(白)部分の輝度の変化量、Ｎｂはバー(黒)部分の輝度の変化量とする。そして、ＣＴＦ・ノイズ測定手段５６は、算出・測定された、ピント特性「ｕ」、ＣＴＦ、ノイズ特性Ｎｓ，Ｎｂをスキャナ部１の特性値として記憶部２０の記憶領域２４，２６，２８に記憶する。
【００２０】
第二撮像手段６０は、スキャナ２００のＣＣＤ２１０から読取対象のバーコードの影像出力を入力Ｉ／Ｆ１０を介して取得し、画像データを画像メモリ２２に記憶する。エレメント幅算出手段７０は、バー・スペース判断手段７２と、コントラスト演算手段７４とを備え、コントラスト差の閾値Ｓ１及び画素数Ｎを格納する。
【００２１】
コントラスト演算手段７４は、演算された波形の最大反射率と最低反射率との差分に（２）式で算出され、ＣＴＦ領域２４に登録されているＣＴＦの値をバーとスペースとのコントラスト差の閾値Ｓ１とする。また、ノイズなどを考慮して、コントラスト演算手段７４は、閾値Ｓ１から記憶部２０のノイズ特性領域２８に記憶されている輝度の変化量Ｎｓ，Ｎｂを減算して、この値をバーとスペースとのコントラスト差の閾値Ｓ２を記憶する。閾値Ｓ１と閾値Ｓ２との関係は、以下のようになる。
Ｓ２＝（Ｓ１−（Ｎｓ／（Ｒｓ０−Ｒｂ０））＋（Ｎｂ／（Ｒｓ０−Ｒｂ０）））
【００２２】
バー・スペース判断手段７２は、走査反射率波形の各頂点（山、谷部分）にて、算出したコントラスト差の閾値Ｓ２以上のコントラスト差が生じている部分を有効な山、谷と判断し、山部分をスペース(白)、谷部分をバー(黒)として判断する。そして、エレメント幅算出手段７０は、判断されたスペース、バーの走査反射率波形より（Ｒｓ＋Ｒｂ）／２となるエレメントエッジを求め各スペース、バーの幅を算出する。
【００２３】
エレメントパターン作成手段８０は、１スペース、バーの幅より演算されたキャラクタの画素数と、ピント特性ｕとを用いて、エレメントパターンを作成する。
バーコードは、幾つかのバーとスペースとを組み合わせて１キャラクタを構成している。例えば、Code-128 の場合、１キャラクタは４種類の太さの３本のバーと３本のスペースとで構成され、１１モジュールで表現される。したがって、バーコード全体幅やエレメント幅算出手段７０が算出した各スペース、バーの幅より１キャラクタの画素数Ｎｃを求めることができる。
【００２４】
キャラクタ選択手段８５は、バーコードを１キャラクタ毎に復号する。
記憶部２０のキャラクタ辞書３０には、読取対象のバーコードに対応したキャラクタ毎のエレメントパターン構成（バー比率）と対応する復号値（コード）とが登録されている。読み取られたバーコードの１キャラクタの画素数Ｎｃより、キャラクタ辞書３０に登録されている各キャラクタに対するエレメントパターン構成の画素数を算出し、記憶部２０に登録されているピント特性ｕを用いて、キャラクタに対するエレメントパターン構成のバー、スペースを（１）式を用いて走査反射率波形を作成し、エレメントエッジを算出してエレメントパターン構成を作り直す。このとき、キャラクタの前後のスペースやバーは実際に算出されたエレメント幅を用いる。
【００２５】
例えば、辞書に格納された任意のキャラクタは、バー、スペースの比率（バー比率）が「１：２：３：１：２：２」であり、算出されたキャラクタ当りの画素数Ｎｃが２２画素であり、復号キャラクタの前のスペース：４画素、後ろのバー：６画素であれば、[４：２：４：６：２：４：４：６]として、（１）式を用いて走査反射率波形を作成し、この走査反射率波形から「２：４：６：２：４：４」部分を算出する。
【００２６】
辞書にはバー比率「１：２：３：１：２：２」と、これに対応する「コード」とが登録されており、取得された画像の１キャラクタ当りの画素数より「２：４：６：２：４：４」と拡張し、バー(黒)を０とし、スペース（白）を１００として、登録されたピント特性ｕを用いて、（１）式を適用（取得したｕの値を用いる）し、波形を作成してバーエッジを算出しバーエッジ間の間隔にて、辞書を補正する。
さらに、補正された辞書と実画像上から測定されるバー幅とをマッチングを行う。これにより、スキャナ部１によって取得される画像特性用の各キャラクタに対するエレメントパターン構成を作成できる。
【００２７】
キャラクタ選択手段８５は、エレメント幅算出手段７０が算出した各エレメント幅をエレメントパターン作成手段８０で算出した各キャラクタに対するエレメントパターン構成と比較して最も近いキャラクタを選択することによりキャラクタ毎に復号を行う。
【００２８】
次に、図５，図７のフローチャートを参照して、動作を説明する。
図５は、基準バーコードを用いてスキャナ特性を測定するためのフローチャートであり、図７は、測定対象のバーコードを復号する復号手順を示すフローチャートである。
図５のルーチンは、スキャナ２００に測定シートを設置して、基準バーコードの映像出力を受信するときに起動させるものである。
第一撮像手段４２は、測定シートの読み込みを入力Ｉ／Ｆを介してスキャナ２００に行わせ、読み取った画像を画像メモリ２２に記憶する（Ｓ１）。そして、狭小幅測定手段５２は、画像メモリ２２に記憶された基準バーコード３００のバー・スペース幅を測定する（Ｓ２）。そして、ピント特性演算手段５４は、（１）式を満たすピント特性ｕを演算する。例えば、基準バーコードの理想的な状態（（１）式ｕ＝０）に対して、所定のｕの値において（１）式を適用した画像を、ｕの値を変更させながら、スキャナ２００で読み取った画像と最も近くなる状態となった際のｕの値を採用する。例えば、理想的な画像データを論理的に作成して（１）式を適用し、スキャナ２００で取った画像に近くなるようなｕの値を採用する。（Ｓ３）。ＣＴＦ・ノイズ測定手段５６は、コントラスト（ＣＴＦ）、及びノイズを測定する（Ｓ４）。そして、分解能演算手段５０は、ピント特性ｕ、ＣＴＦ，及びノイズ等のスキャナ特性を領域２４，２６，２８に記憶し、終了する。
【００２９】
図６は、ＪＩＳ  Ｘ  ０５２０に記載されている「走査反射率波形の詳細」であり、スキャナ２００で取得した映像出力の例を示す。図６の縦軸は反射率［％］であり、横軸は位置を示す。全域しきい値ＧＴと比較して、反射率が高い箇所をスペースとして判断し、低い箇所をバーとして判断されている。また、左端の位置に反射率約８０％のクワイエットゾーンのエッジ１から反射率が低下し最初のバーが存在し、複数のスペースとバーとが存在しており、右端にクワイエットゾーンが存在している。ここで、最大反射率がＲｍａｘであり、最小反射率がＲｍｉｎであり、エッジ４の最小エッジコントラストがＥＣｍｉｎであり、最大エレメント反射率の非均一性がＥＲＮｍａｘである。なお、エレメント反射率非均一性とは、最高山部の反射率と最低山部の反射率との差である。
【００３０】
図７のルーチンは、スキャナ２００に読取対象物を設置して、測定対象のバーコードの映像出力を受信するときに起動させるものである。
第二撮像手段６０は、測定対象物の読み取りを入力Ｉ／Ｆを介してスキャナ２００に行わせ、読み取った画像を画像メモリ２２に記憶する（Ｓ１０）。
エレメント幅算出手段７０は、バー・スペースを判断し（Ｓ１１）、画像メモリ２２に記憶された画像に基づいてバー・スペースのエレメント幅を算出する（Ｓ１２）。そして、エレメントパターン作成手段８０は、エレメント幅、ピント特性ｕ、及び（１）式を用いて、シンボルキャラクタをスキャナ特性に変換する（Ｓ１３）。そして、キャラクタ選択手段８５は、スキャナ特性に変換された全シンボルキャラクタとＳ１２で算出したエレメント幅とをマッチングして、キャラクタを選択する（Ｓ１４）。
【００３１】
ここで、キャラクタの選択とは、Ｓ１２で算出された各エレメント幅とＳ１３で算出したエレメントパターン構成のエレメント幅との差分で判断したり、バーとスペースのペアを用いてＳ１２で測定された各エレメント幅とＳ１３で算出したエレメント幅との差分で判断したりすることにより可能である。ただし、一定以上の差分が発生する場合は復号失敗とする。
【００３２】
以上のＳ１３，Ｓ１４をバーコード内のキャラクタすべて完了するまで繰り返し（Ｓ１５）、すべてのキャラクタを復号できた場合は、バーコード規格でのチェックデジットなどのチェックを行い問題が無ければ復号成功とする。
【００３３】
そして、全キャラクタの選択が終了したか否かを判定する（Ｓ１５）。全キャラクタの選択が終了した場合には（Ｓ１５でＹｅｓ）、復号成功であり、このルーチンが終了する。これにより、表示手段９０が表示処理を実行する。
一方、全キャラクタの選択が終了していない場合には（Ｓ１５でＮｏ）、処理がＳ１３に戻り、他のシンボルキャラクタの変換処理が実行される。
【００３４】
以上説明したように本実施形態によれば、従来の方式では解像度不足などの画質上の問題で復号できなかった詳細かつ細密なバーコードでもピント特性を測定し、スキャナの特性に合わせて復号処理することができ詳細なバーコードを復号可能となる。
【００３５】
（第２実施形態）
第１実施形態では、基準バーコード３００を用いてスキャナ特性を事前に評価してから、読取対象のバーコードを読み取っていたが、事前にスキャナ特性を評価せずに、高密度なバーコードを読み取ることができる。
図８は、第２実施形態の記憶部２０ｂの構成図である。記憶部２０ｂは、第二撮像手段（撮像手段）６０と、ノイズ量測定手段４１０と、バー・スペース判断手段４２０と、幅算出手段４３０と、キャラクタ復元手段４５０と、表示手段９０と、画像メモリ２２と、キャラクタ辞書３０とを備え、キャラクタ復元手段４５０は、全キャラクタ変換手段４６０と、キャラクタ選択手段４７０と、ピント特性変更手段４８０とを備える。なお、画像メモリ２２と、キャラクタ辞書３０と、第二撮像手段６０と、表示手段９０と、バーコード認識装置を構成する他の構成要素１０，１２，１４は、図３と同様である。
【００３６】
第二撮像手段６０は、スキャナ２００（図３）のＣＣＤ２１０から読取対象のバーコードの画像信号を入力Ｉ／Ｆ１０（図３）を介して取得し、画像メモリ２２に記憶する。
ノイズ量測定手段４１０は、画像メモリ２２に記憶された画像データより走査反射率波形を作成し、クワイエットゾーン（図６）にてノイズ量（Ｎｓ）を測定する。
バー・スペース判断手段４２０は、ノイズ量Ｎｓの２倍程度以上の値を有するエレメントをエレメント内の最大ノイズとして、バー・スペース判断手段４２０は、走査反射率波形の各頂点(山、谷部分)にて、算出したコントラスト差のＮｓの２倍以上のコントラスト差が生じている部分を有効な山／谷と判断し、山部分をスペース(白)、谷部分をバー(黒)として判断する。
図１にノイズ量（Ｎｓ）とコントラスト差のＮｓの２倍以上のコントラスト差が生じている部分を有効な山／谷部分の例を示す。
【００３７】
幅算出手段４３０は、上述のようにして判断された山部分のスペース(白)、谷部分のバー(黒)について、スペース、バーの走査反射率波形より（Ｒｓ＋Ｒｂ）／２となるエレメントエッジを求め各スペース、バーの幅を算出する。
【００３８】
全キャラクタ変換手段４６０は、各スペース、バーの幅より演算されたキャラクタの画素数と、ピント特性ｕと、（１）式とを用いて、全シンボルキャラクタをスキャナ特性に従い変換する。なお、ピント特性ｕは、初期値を０とし、逐次、値が増加させられる。
キャラクタ選択手段４７０は、幅算出手段４３０により算出された各スペース、バーの幅と、全キャラクタ変換手段４６０により変換されたキャラクタとを比較することにより、バーコードを１キャラクタ毎に復号する。
【００３９】
ピント特性変更手段４８０は、キャラクタ選択手段４７０により復号されたキャラクタのエレメント幅と、幅算出手段４３０により算出されたエレメント幅との差分が一定以上ある場合はマッチング失敗と判断して、ピント特性ｕの値を更新する。一方、ピント特性変更手段４８０は、差分が一定値未満である場合はマッチング成功と判断して、表示手段９０に復号されたキャラクタを表示させる。
【００４０】
次に、図９のフローチャートを参照して、バーコード復号手順動作を説明する。
第二撮像手段６０は、スキャナ２００（図１）に測定対象物を設置し、ＣＣＤ２１０が撮像したバーコード画像を画像メモリ２２に格納する（Ｓ２０）。
そして、ノイズ量測定手段４１０は、クワイエットゾーン（図６）にてノイズ量Ｎｓを測定する（Ｓ２１）。
【００４１】
バー・スペース判断手段４２０は、ノイズ量Ｎｓの２倍程度以上の値をコントラスト差判断の閾値とし、算出したコントラスト差の閾値以上のコントラスト差が生じている部分を有効な山、谷と判断し、山部分をスペース(白)、谷部分をバー(黒)として判断する（Ｓ２２）。
【００４２】
また、読取対象のバーコードが限定(指定)されていて、バー本数が明確な場合は、バー・スペース判断手段４２０は、走査反射率波形の山、谷の差分が少ないものから削除し、目的のバー本数になるようにすることにより、山部分をスペース(白)、谷部分をバー(黒)として判断する（Ｓ２２）。そして、幅算出手段４３０は、スペースとバーとの幅であるエレメント幅を算出する（Ｓ２３）。
【００４３】
次に、全キャラクタ変換手段４６０は、測定されていないピント特性ｕを０に設定し（Ｓ２４）、算出されたエレメント幅を用いて、全シンボルキャラクタをスキャナ特性に従い変換する（Ｓ２５）。キャラクタ選択手段４７０は、全シンボルキャラクタとエレメント幅とをマッチングして、キャラクタ毎に復号を実行する（Ｓ２６）。
但し、キャラクタ選択手段４７０は、幅算出手段４３０が算出したエレメント幅と全キャラクタ変換手段４６０が算出した各エレメント幅との差分が一定以上あるか否かを判断して、マッチング失敗か否かを判断する（Ｓ２７）。
【００４４】
ピント特性が不適合であり、マッチングが失敗した場合は（Ｓ２７で失敗）、ピント特性変更手段４８０は、ピント特性値ｕを更新（大きく）して（Ｓ２８）、Ｓ２５の処理に戻る。一方、マッチング成功したピント特性値ｕが存在した時点でピント特性値ｕを確定とし（Ｓ２７で成功）、全キャラクタが終了したか否かを判断する（Ｓ２９）。全キャラクタ終了で復号完了となる（Ｓ２９でＹｅｓ）。一方、全キャラクタが終了しない場合は（Ｓ２９でＮｏ）、Ｓ２５の処理に戻る。
なお、Ｓ２９において、一定以上、ピント特性を更新しても適合するピント特性が存在しない場合は、復号失敗とする。
【００４５】
以上のように、ピント特性ｕをボケていない値（ｕ＝０）からボケている値に変化させながら、バーコード復号処理を行うことにより、事前にスキャナ特性を測定しない場合も、従来の方式では解像度不足などの画質上の問題で復号できなかった詳細なバーコードでもバーコードを復号可能となる。
【００４６】
（変形例）
本発明は前記した実施形態に限定されるものではなく、例えば以下のような変形が可能である。
前記各実施形態は、一次元バーコードで説明したが、二次元バーコードでも適用可能である。
【図面の簡単な説明】
【００４７】
【図１】汎用画像走査反射率波形例である。
【図２】画像走査反射率波形例である。
【図３】本発明の第１実施形態のバーコード認識装置の構成図である。
【図４】測定シートに記載されている基準バーコード、及びこれに対応するＣＣＤの撮像出力の一例である。
【図５】第１実施形態のフローチャートである。
【図６】走査反射率波形を説明するための詳細図である。
【図７】第２実施形態の他のフローチャートである。
【図８】本発明の第２実施形態の記憶部の構成図である。
【図９】バーコード復号手順動作を説明するためのフローチャートである。
【符号の説明】
【００４８】
１０ 入力Ｉ／Ｆ
１２ 制御部
１４ 表示部
２０，２０ａ，２０ｂ 記憶部
２２ 画像メモリ
２４ ＣＴＦ領域
２６ ピント特性ｕ領域
２８ ノイズ特性領域
３０ キャラクタ辞書（バー比率、コード）
４２ 第一撮像手段
５０ 分解能演算手段
５２ 狭小幅測定手段
５４ ピント特性演算手段
５６ ＣＴＦ・ノイズ測定手段
６０ 第二撮像手段（バーコード波形取得手段）
７０ エレメント幅算出手段
７２ バー・スペース判断手段
７４ コントラスト演算手段
８０ エレメントパターン作成手段
８５ キャラクタ選択手段
９０ 表示手段
１００ バーコード認識装置
２００ スキャナ
２１０ ＣＣＤ（撮像素子）
２２０ 照明装置
３００ 基準バーコード（測定シート）
４１０ ノイズ量測定手段
４２０ バー・スペース判断手段
４３０ 幅算出手段
４５０ キャラクタ復元手段
４６０ 全キャラクタ変換手段
４７０ キャラクタ選択手段
４８０ ピント特性変更手段
【図２】
0005255335.tif 000002
【図３】
0005255335.tif 000003
【図４】
0005255335.tif 000004
【図５】
0005255335.tif 000005
【図６】
0005255335.tif 000006
【図７】
0005255335.tif 000007
【図８】
0005255335.tif 000008
【図９】
0005255335.tif 000009
【図１】
0005255335.tif 000010