JP5293853B1 - バーコード読取装置 - Google Patents

バーコード読取装置 Download PDF

Info

Publication number
JP5293853B1
JP5293853B1 JP2012074506A JP2012074506A JP5293853B1 JP 5293853 B1 JP5293853 B1 JP 5293853B1 JP 2012074506 A JP2012074506 A JP 2012074506A JP 2012074506 A JP2012074506 A JP 2012074506A JP 5293853 B1 JP5293853 B1 JP 5293853B1
Authority
JP
Japan
Prior art keywords
bar
character
width
allowable range
error
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
JP2012074506A
Other languages
English (en)
Other versions
JP2013206127A (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.)
Denso Wave Inc
Original Assignee
Denso Wave Inc
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 Denso Wave Inc filed Critical Denso Wave Inc
Priority to JP2012074506A priority Critical patent/JP5293853B1/ja
Application granted granted Critical
Publication of JP5293853B1 publication Critical patent/JP5293853B1/ja
Publication of JP2013206127A publication Critical patent/JP2013206127A/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】バーコードを構成する各バーに太りや細りが生じている場合であっても、これら太りや細りに起因する誤差を反映して正確に解読することが可能な構成を提供する。
【解決手段】バーコード読取装置1は、候補比率毎に定められた誤差算出式をそれぞれ備え、キャラクタの各バー幅の誤差を、当該キャラクタにおいて測定された各明色バーのバー幅測定値及び各暗色バーのバー幅測定値をパラメータとして、各候補比率に対応する各誤差算出式により各候補比率に対応させてそれぞれ求めている。そして、それら候補比率毎に、各モジュール種別における幅値の許容範囲を設定し、候補比率毎の許容範囲設定内容と、バー幅測定手段によって測定された各キャラクタにおける各明色バー及び各暗色バーの測定値とに基づいて、各キャラクタにおける各明色バー及び各暗色バーのモジュール種別を判定し、各キャラクタを解読している。
【選択図】図1

Description

本発明は、バーコード読取装置に関するものである。
現在、明色バーと暗色バーとが交互に配列されてなるバーコードを光学的に読み取る装置が様々に提供されており、その一例としては、例えば特許文献1のようなものがある。一般的にバーコードは、幅の異なる複数種類の明色基準モジュール及び幅の異なる複数種類の暗色基準モジュールから選ばれる所定数のバーによって構成されており、上記バーコード読取装置では、配列された所定数のバーの各幅を測定すると共に測定結果に基づいて配列パターンを特定することでコード内容を解読している。
特開2010−211561公報
ところで、上記のようなバーコード読取装置によって読み取られるバーコードは、明色バーや暗色バーが本来予定されているサイズ(例えば規格等によって定められた明色基準モジュール及び暗色基準モジュールのサイズ)となっていない場合があり、例えば、解像度の低いプリンタなどを用いた印刷によって形成された場合、或いはインクの滲みや掠れなどが発生している場合には、本来予定されている各基準モジュールの幅(基準幅)から太ったバー状態、或いは細ったバー状態でバーコードが形成されるようなケースもあり得る。このような太りや細りが生じているバーコードを読み取る場合、バーの太りや細りを無視して一般的な方法でデコードを行うと、バーコードが正確に解読できない虞があり、誤読や解読失敗を招くことが懸念される。
本発明は、上述した課題を解決するためになされたものであり、バーコードを構成する各バーに太りや細りが生じている場合であっても、これら太りや細りに起因する誤差を反映して正確に解読することが可能なバーコード読取装置を提供することを目的とする。
本発明は、幅の異なる複数種の明色基準モジュール及び幅の異なる複数種の暗色基準モジュールから選ばれる複数の明色バー及び複数の暗色バーによって構成されるキャラクタを複数配列してなるバーコードを読み取るバーコード読取装置であって、
読取対象となる前記バーコードは、当該バーコードを構成する各キャラクタにおいて、前記明色基準モジュールの幅の合計値と前記暗色基準モジュールの幅の合計値との比率が、予め定められた複数の候補比率の中から選ばれるいずれか一つの比率となるべきものであり、
前記バーコードを撮像可能な撮像手段と、
前記撮像手段によって前記バーコードが撮像されたときの撮像結果に基づいて、当該バーコードにおける各明色バー及び各暗色バーのバー幅を測定するバー幅測定手段と、
前記候補比率毎に定められた誤差算出式をそれぞれ備え、誤差算出対象となるキャラクタにおける各バー幅の誤差を、当該キャラクタにおいて前記バー幅測定手段によって測定された各明色バーのバー幅測定値及び各暗色バーのバー幅測定値をパラメータとして、各候補比率に対応する各誤差算出式により各候補比率に対応させてそれぞれ求める誤差算出手段と、
前記誤差算出手段によって算出された前記候補比率毎の各誤差に基づき、それら候補比率毎に、各モジュール種別における幅値の許容範囲を設定する許容範囲設定手段と、
前記許容範囲設定手段によって設定された前記候補比率毎の許容範囲設定内容と、前記バー幅測定手段によって測定された各キャラクタにおける各明色バー及び各暗色バーの測定値とに基づいて、各キャラクタにおける各明色バー及び各暗色バーのモジュール種別を判定し、各キャラクタを解読するキャラクタ解読手段と、
を備えたことを特徴とする。
請求項1の発明は、候補比率毎に定められた誤差算出式をそれぞれ備え、誤差算出対象となるキャラクタにおける各バー幅の誤差を、当該キャラクタにおいてバー幅測定手段によって測定された各明色バーのバー幅測定値及び各暗色バーのバー幅測定値をパラメータとして、各候補比率に対応する各誤差算出式により各候補比率に対応させてそれぞれ求めている。そして、このように算出された候補比率毎の各誤差に基づき、それら候補比率毎に、各モジュール種別における幅値の許容範囲を設定し、それら設定された候補比率毎の許容範囲設定内容と、バー幅測定手段によって測定された各キャラクタにおける各明色バー及び各暗色バーの測定値とに基づいて、各キャラクタにおける各明色バー及び各暗色バーのモジュール種別を判定し、各キャラクタを解読している。
この構成では、読取対象となるバーコードが特定の性質のものである場合(即ち、各キャラクタにおいて、明色基準モジュールの幅の合計値と暗色基準モジュールの幅の合計値との比率が、予め定められた複数の候補比率の中から選ばれるいずれか一つの比率となるようなバーコードの場合)に、各バーにどの程度の誤差が生じているかを仮定した上で、候補比率毎に各モジュール種別における幅値の許容範囲を設定することができる。そして、候補比率の中から各明色バー及び各暗色バーの測定値が許容範囲に合致するような比率を選び、且つ許容範囲に合致するようなデータ内容を選ぶようにすれば、各バーに太りや細りが生じていたとしても適切に解読できるようになる。
請求項2の発明では、誤差算出手段は、バーコードを構成するキャラクタの誤差を算出する際に、当該キャラクタにおける各暗色バーの各バー幅測定値からそれぞれ誤差Δを減算したときの各減算後測定値の総和をSbとし、当該キャラクタにおける各明色バーの各バー幅測定値に対しそれぞれ誤差Δを加算したときの各加算後測定値の総和をSwとし、当該キャラクタ内における暗色基準モジュールのモジュール総数をMbとし、当該キャラクタ内における明色基準モジュールのモジュール総数をMwとしたときに、候補比率毎に、以下の式、
Sb/Mb=Sw/Mw
を満たすΔを誤差として算出する。
この構成によれば、暗色バーにおいて同じ度合いで太りが生じやすく、明色バーにおいて同じ度合いで細りが生じやすいバーコードを読み取る場合に誤差をより正確に算出しやすくなり、ひいては、各キャラクタをより正確に解読しやすくなる。
請求項3の発明では、誤差算出手段は、バーコードを構成するキャラクタの誤差を算出する際に、当該キャラクタにおける各暗色バーの各バー幅測定値の総和をS1とし、当該キャラクタにおける各明色バーの各バー幅測定値の総和をS2とし、当該キャラクタ内における暗色基準モジュールのモジュール総数をMbとし、当該キャラクタ内における明色基準モジュールのモジュール総数をMwとしたときに、候補比率毎に、以下の式、
Δ=S1/(2×Mb)−S2/(2×Mw)
を満たすΔを誤差として算出する。
この構成によれば、暗色バーのサイズに比例するような程度で太りが生じやすく、明色バーのサイズに比例するような程度で細りが生じやすいバーコードを読み取る場合に誤差をより正確に算出しやすくなり、ひいては、各キャラクタをより正確に解読しやすくなる。
請求項4の発明は、明色基準モジュール及び暗色基準モジュールの配列についての異なる複数の配列パターンを有すると共に、各配列パターンに対してキャラクタ種別を対応付けて登録してなる登録手段を備え、キャラクタ解読手段は、バーコードを構成するキャラクタを解読する際に、許容範囲設定手段によって候補比率毎に定められる許容範囲設定内容に基づき、それら許容範囲設定内容毎に、当該キャラクタを構成する各暗色バー及び各明色バーのモジュール種別をそれぞれ求めて配列化し、それら配列パターンがいずれも登録手段に登録されていない場合には当該キャラクタの解読を失敗とする。
この構成によれば、異常バーコード(例えば大幅な太りや細りが生じているバーコード等)を読み取った場合に、誤解読を防ぎ、エラーを報知することができる。
請求項5の発明は、明色基準モジュール及び暗色基準モジュールの配列についての異なる複数の配列パターンを有すると共に、各配列パターンに対してキャラクタ種別を対応付けて登録してなる登録手段を備え、キャラクタ解読手段は、バーコードを構成するキャラクタを解読する際に、許容範囲設定手段によって候補比率毎に定められる許容範囲設定内容に基づき、それら許容範囲設定内容毎に、当該キャラクタを構成する各暗色バー及び各明色バーのモジュール種別をそれぞれ求めて配列化し、いずれかの許容範囲設定内容から得られた配列パターンが登録手段に登録されている場合、その許容範囲設定内容に対応する候補比率と、当該配列パターンに対応付けて登録されているキャラクタ種別における明色基準モジュールの幅の合計値と暗色基準モジュールの幅の合計値との比率とが整合していることを条件として当該キャラクタの解読を成功とする。
この構成によれば、各キャラクタをより正確に解読できるようになる。特に、登録された配列パターンに合致する配列パターンを解読したときの許容範囲設定内容は、いずれかの候補比率に基づいて誤差算出した上でその誤差を反映して許容範囲を設定したものであるため、その許容範囲設定内容の元になる候補比率と、解読されたキャラクタ種別における比率とが整合していることを条件として解読成功とすれば、誤読をより確実に防ぐことができる。
図1は、本発明の第1実施形態に係るバーコード読取装置を例示するブロック図である。 図2は、図1のバーコード読取装置で行われる読取処理の流れを例示するフローチャートである。 図3は、図2の読取処理における各キャラクタのデコード処理を例示するフローチャートである。 図4(A)は、バーコードの1キャラクタの構成を例示する説明図であり、図4(B)は、図4(A)のキャラクタの各バー幅の測定結果を例示する説明図である。 図5は、図4(A)のようなキャラクタにおいて暗色バーに太り(細り)が生じるときの本来の幅との誤差を説明する説明図である。 図6は、code128における各キャラクタ値のときの明色バー幅の総和及び暗色バーの総和との関係を説明する説明図である。 図7(A)は、暗色バーの幅(黒モジュール幅)についての許容範囲の設定方法を例示する説明図であり、図7(B)は、明色バーの幅(白モジュール幅)についての許容範囲の設定方法を例示する説明図である。 図8は、数2の算出結果を踏まえて候補比率毎に許容範囲を設定した具体例を示す説明図である。 図9は、図8のように設定された許容範囲に基づいて、各バーのモジュールサイズを特定し、キャラクタを判別する方法について説明する説明図である。 図10は、第2実施形態での誤差の想定方法を説明する説明図である。
[第1実施形態]
以下、本発明を具現化した第1実施形態について、図面を参照して説明する。
(全体構成)
まず、図1等を参照して本実施形態に係るバーコード読取装置の全体構成について説明する。図1に示すように、本実施形態に係るバーコード読取装置1は、バーコードBを読み取るコードリーダとして構成されるものであり、図示しないケースによって外郭が構成され、このケース内に各種電子部品が収容された構成をなしている。
このバーコード読取装置1は、主に、照明光源21、受光センサ23、フィルタ25、結像レンズ27等の光学系と、メモリ35、制御回路40、操作スイッチ42、液晶表示器46等のマイクロコンピュータ(以下「マイコン」という)系と、電源スイッチ41、電池49等の電源系と、から構成されている。なお、これらは、図略のプリント配線板に実装あるいはケース(図示略)内に内装されている。
光学系は、照明光源21、受光センサ23、フィルタ25、結像レンズ27等から構成されている。照明光源21は、照明光Lfを発光可能な照明光源として機能するもので、例えば、赤色のLEDとこのLEDの出射側に設けられる拡散レンズ、集光レンズ等とから構成されている。本実施形態では、受光センサ23を挟んだ両側に照明光源21が設けられており、ケースに形成された読取口(図示略)を介して読取対象物Rに向けて照明光Lfを照射可能に構成されている。この読取対象物Rとしては、例えば、樹脂材料、金属材料等の様々な対象が考えられ、このような読取対象物RにバーコードBが印刷、画像表示、ダイレクトマーキングなどによって形成されている。なお、以下の説明では、Code128として構成されるバーコードを例示するが他種のバーコードに置き換えてもよい。
受光センサ23は、読取対象物Rや情報コードDに照射されて反射した反射光Lrを受光可能に構成されるもので、例えば、C−MOSやCCD等の固体撮像素子である受光素子をライン状に並べたラインセンサ或いは2次元的に配列したエリアセンサが、これに相当する。この受光センサ23は、結像レンズ27を介して入射する入射光を受光面23aで受光可能に図略のプリント配線板に実装されている。なお、受光センサ23は、「撮像手段」の一例に相当する。
フィルタ25は、反射光Lrの波長相当以下の光の通過を許容し、当該波長相当を超える光の通過を遮断し得る光学的なローパスフィルタで、ケースに形成された読取口(図示略)と結像レンズ27との間に設けられている。これにより、反射光Lrの波長相当を超える不要な光が受光センサ23に入射することを抑制している。また、結像レンズ27は、例えば、鏡筒とこの鏡筒内に収容される複数の集光レンズとによって構成されており、本実施形態では、ケースに形成された読取口(図示略)に入射する反射光Lrを集光し、受光センサ23の受光面23aにバーコードBのコード画像を結像可能に構成されている。
マイコン系は、増幅回路31、A/D変換回路33、メモリ35、アドレス発生回路36、同期信号発生回路38、制御回路40、操作スイッチ42、LED43、ブザー44、液晶表示器46、通信インタフェース48等から構成されている。このマイコン系は、マイコン(情報処理装置)として機能し得る制御回路40及びメモリ35を中心として構成され、前述した光学系によって撮像されたバーコードBの画像信号をハードウェア的およびソフトウェア的に信号処理し得るものである。
光学系の受光センサ23から出力される画像信号(アナログ信号)は、増幅回路31に入力されることで所定ゲインで増幅された後、A/D変換回路33に入力され、アナログ信号からディジタル信号に変換される。そして、ディジタル化された画像信号、つまり画像データ(画像情報)は、メモリ35に入力され、当該メモリ35の画像データ蓄積領域に蓄積される。同期信号発生回路38は、受光センサ23およびアドレス発生回路36に対する同期信号を発生可能に構成されており、またアドレス発生回路36は、この同期信号発生回路38から供給される同期信号に基づいて、メモリ35に格納される画像データの格納アドレスを発生可能に構成されている。
メモリ35は、半導体メモリ装置で、例えばRAM(DRAM、SRAM等)やROM(EPROM、EEPROM等)がこれに相当する。このメモリ35のうちのRAMには、前述した画像データ蓄積領域のほかに、制御回路40が算術演算や論理演算等の各処理時に利用する作業領域や読取条件テーブルも確保可能に構成されている。またROMには、後述する読取処理等を実行可能な所定プログラムやその他、照明光源21、受光センサ23等の各ハードウェアを制御可能なシステムプログラム等が予め格納されている。
制御回路40は、バーコード読取装置1全体を制御可能なマイコンで、CPU、システムバス、入出力インタフェース等からなるものであり、情報処理機能を有している。この制御回路40には、内蔵された入出力インタフェースを介して種々の入出力装置(周辺装置)が接続されており、本実施形態の場合、電源スイッチ41、操作スイッチ42、LED43、ブザー44、液晶表示器46、通信インタフェース48等が接続されている。また、通信インタフェース48には、バーコード読取装置1の上位システムに相当するホストコンピュータHSTなどを接続できるようになっている。
電源系は、電源スイッチ41、電池49等により構成されており、制御回路40により管理される電源スイッチ41のオンオフによって、上述した各装置や各回路に、電池49から供給される駆動電圧の導通や遮断が制御されている。なお、電池49は、所定の直流電圧を発生可能な2次電池で、例えば、リチウムイオン電池等がこれに相当する。
(読取処理)
次に、図1のバーコード読取装置で行われる読取処理について説明する。
図2に示す読み取り処理は、例えばユーザによる所定操作や電源投入などをトリガとして開始されるものであり、まず、受光センサ23によってバーコードBを撮像すると共に、そのバーコードBのコード画像を取得し、メモリ35に記憶する(S1)。
S1の処理の後には、得られたバーコードBのコード画像からキャラクタを抽出し、当該キャラクタの解読を行う(S2)。なお、S2の解読処理は、キャラクタ毎に順番に行われる処理である。このS2のキャラクタ解読処理は、例えば図3のような流れで行われる。この処理では、まず、着目しているキャラクタ(即ち、S2での読取対象のキャラクタ)の各バー(各明色バー及び各暗色バー)のバー幅を取得する。図4(A)は、図3の処理での解読対象となるキャラクタの一例を示すものであり、S2での読取対象(解読対象)がコード画像内におけるこのようなキャラクタ画像である場合、このキャラクタ画像を構成する各暗色バーBaのバー幅B1,B2,B3を測定すると共に、各明色バーSp(スペース)のバー幅S1,S2,S3を測定する。このとき、着目しているキャラクタ画像における1キャラクタ分の幅pも測定する。なお、図4(B)は、このような測定によって得られた各バー幅(B1,B2,B3,S1,S2,S3)及びキャラクタ幅pの値を例えば画素数によって示すものである。
なお、本実施形態では、制御回路40がバー幅測定手段の一例に相当し、受光センサ23(撮像手段)によってバーコードBが撮像されたときの撮像結果に基づいて、当該バーコードBにおける各明色バー及び各暗色バーのバー幅を測定するように機能する。
S11の処理の後には、モジュール幅差(想定される誤差Δ)の算出を行う(S12)。ここで、誤差Δの考え方について説明する。例えば、図4(A)のようなキャラクタ画像が読取対象である場合、このキャラクタ画像は、各暗色バーの部分がインクの滲みなどにより本来の幅(暗色バーが暗色基準モジュールのいずれかに正確に対応した値であり、明色バーが明色基準モジュールのいずれかに正確に対応した値である場合の幅)よりもΔだけ太りが生じていると予想しておくことができる(なお、実際には、暗色バーに細りが生じていても、Δが負の値となるので対応は可能である)。この場合、Δの値は、例えば以下の数1の式によって算出することができる。なお、数2、数3及び以下の説明では、暗モジュール合計数を暗モジュール数とも称する。また、明モジュール合計数を明モジュール数とも称する。
Figure 0005293853
ここで数1の考え方を説明する。それには、まず、読取対象となるバーコードBについて説明する。本実施形態では、バーコードBとしてcode128を用いており、このcode128のバーコードは、幅の異なる複数種の明色基準モジュール及び幅の異なる複数種の暗色基準モジュールから選ばれる複数の明色バー及び複数の暗色バーによって構成されるキャラクタを複数配列してなるバーコードである。具体的には、明色バーの候補は、明色の単位モジュール(明色の1モジュール)と、この単位モジュールの2倍幅、3倍幅、4倍幅のモジュールが明色バーの候補(明色基準モジュール)となっており、明色バーはこれら4種類の明色基準モジュールから選ばれるようになっている。同様に、暗色バーの候補は、暗色の単位モジュール(暗色の1モジュール)と、この単位モジュールの2倍幅、3倍幅、4倍幅のモジュールが暗色バーの候補(暗色基準モジュール)となっている。
更に、code128のバーコードの各キャラクタは、各キャラクタのキャラクタ値と、キャラクタを構成する暗色バーの幅(暗色基準モジュールの幅)の総和(B1+B2+B3)と、キャラクタを構成する明色バーの幅(明色基準モジュールの幅)の総和(S1+S2+S3)との関係が図6のようになっている。つまり、この種のバーコードは、バーコードを構成する各キャラクタにおいて、明色基準モジュールの幅の総和(合計値)と暗色基準モジュールの幅の総和(合計値)との比率が、予め定められた複数の候補比率(図6の例では、4:7、6:5、8:3の3種類の候補比率)の中から選ばれるいずれか一つの比率となるように構成されている。
一方、図5を参照して説明すると、本来の正規形状(規格の形状)では、暗色バーの1モジュール幅(候補となる複数の暗色基準モジュールの内の単位モジュールの幅)と明色バーの1モジュール幅(候補となる複数の明色基準モジュールの内の単位モジュールの幅)とは等しくなるため、以下の数2の式が成り立つ。なお、単位モジュールの幅は、幅合計をモジュール数で除することで求められる。
Figure 0005293853
そして、上述のように、code128のバーコードの各キャラクタは、図6のように明色基準モジュールの幅の合計値と暗色基準モジュールの幅の合計値との比率が4:7、6:5、8:3のいずれかになるため、明モジュール数+暗モジュール数は、いずれのキャラクタでも11となる。従って、数2を変形して以下の数3とし、(明モジュール数+暗モジュール数)に11を代入することで、数1の式を得ることができる。
Figure 0005293853
そして、S12の処理では、対象となるキャラクタの明暗比率(明色基準モジュールの幅の合計値と暗色基準モジュールの幅の合計値との比率)が、上述の6:5、4:7、8:3のそれぞれであると仮定して、各比率を数1に適用したときのΔをそれぞれ算出する。図4(B)の測定値を数1に代入したときについて、比率が4:7のとき、6:5のとき、8:3のときの値を以下の数4でそれぞれ求めている。数4では、4:7のときの誤差をΔ4−7としており、この値は53となっている。また、6:5のときの誤差をΔ6−5としており、この値は−13となっている。また、8:3のときの誤差をΔ8−3この値は−80となっている。
Figure 0005293853
本実施形態では、図3の処理を行い得る制御回路40が誤差算出手段の一例に相当し、候補比率毎(上述のような、4:7、6:5、8:3のそれぞれ)に定められた誤差算出式をそれぞれ備え(即ち、数1を各候補比率に適用できるようになっており)、誤差算出対象となるキャラクタにおける各バー幅の誤差を、当該キャラクタにおいてバー幅測定手段によって測定された各明色バーのバー幅測定値S1、S2、S3及び各暗色バーのバー幅測定値B1、B2、B3をパラメータとして、各候補比率に対応する各誤差算出式(即ち、数1を各候補比率に適用した各式)により各候補比率に対応させてそれぞれ求めるように機能しており、具体的には、候補比率毎(上述の4:7、6:5、8:3の比率毎)に、数2を満たすΔを算出している。即ち、バーコードBを構成するキャラクタの誤差Δを算出する際に、当該キャラクタにおける各暗色バーの各バー幅測定値B1,B2,B3からそれぞれ誤差Δを減算したときの各減算後測定値の総和をSb(即ち、Sb=(B1−Δ)+(B2−Δ)+(B3−Δ))とし、当該キャラクタにおける各明色バーの各バー幅測定値S1,S2,S3に対しそれぞれ誤差Δを加算したときの各加算後測定値の総和をSw(即ち、Sw=(S1+Δ)+(S2+Δ)+(S3+Δ))とし、当該キャラクタ内における暗色基準モジュールのモジュール総数をMbとし、当該キャラクタ内における明色基準モジュールのモジュール総数をMwとしたときに、候補比率毎に、Sb/Mb=Sw/Mwを満たすΔを誤差として算出している。
図3に戻って説明を続けると、S12の処理の後にはS13の処理を行う。S13の処理では、図7(A)のように暗色バーの測定値の許容範囲を設定すると共に、図7(B)のように明色バーの測定値の許容範囲を設定する。図7(A)において、Biは、コード画像における暗色バーの測定値であり、図4(A)に示すB1、B2、B3などが候補となる。また、図7(B)において、Siは、コード画像における明色バーの測定値であり、図4(A)に示すS1、S2、S3などが候補となる。また、pは、図4(A)のようなキャラクタ全体幅の測定値である。暗色バーの測定値の許容範囲は、例えば単位モジュールについては、キャラクタ全体幅の測定値pに第1の係数(1.5)を乗じた値に対してモジュール数(11)を除した値に数1で測定される誤差Δを加算した値が閾値(第1の閾値)となっており、測定値(Bi)がこの第1閾値以下(或いは未満)であれば暗色バーの単位モジュールの許容範囲に含まれるとしている。なお、誤差Δは上述のように候補比率毎に算出されるため、許容範囲も候補比率毎に算出されることになる。暗色バーに関し、単位モジュールの2倍のモジュール(2モジュール)の許容範囲も同様である。ここでは、キャラクタ全体幅の測定値pに第2の係数(2.5)を乗じた値に対してモジュール数(11)を除した値に数1で測定される誤差Δを加算した値が閾値(第2の閾値)となっており、測定値(Bi)が第1閾値以上であり(或いは第1閾値を超え)、第2閾値以下(或いは未満)であれば暗色バーの2モジュールの許容範囲に含まれるとしている。暗色バーに関し、単位モジュールの3倍のモジュール(3モジュール)の許容範囲、単位モジュールの4倍のモジュール(4モジュール)の許容範囲も同様に設定される。
また、明色バーの測定値の許容範囲も同様であり、例えば単位モジュールについては、キャラクタ全体幅の測定値pに第1の係数(1.5)を乗じた値に対してモジュール数(11)を除した値に数1で測定される誤差Δを減算した値が閾値(第1の閾値)となっており、測定値(Si)がこの第1閾値以下(或いは未満)であれば暗色バーの単位モジュールの許容範囲に含まれるとしている。なお、誤差Δは上述のように候補比率毎に算出されるため、許容範囲も候補比率毎に算出されることになる。明色バーに関し、単位モジュールの2倍のモジュール(2モジュール)の許容範囲も同様である。ここでは、キャラクタ全体幅の測定値pに第2の係数(2.5)を乗じた値に対してモジュール数(11)を除した値に数1で測定される誤差Δを減算した値が閾値(第2の閾値)となっており、測定値(Si)が第1閾値以上であり(或いは第1閾値を超え)、第2閾値以下(或いは未満)であれば明色バーの2モジュールの許容範囲に含まれるとしている。明色バーに関し、単位モジュールの3倍のモジュール(3モジュール)の許容範囲、単位モジュールの4倍のモジュール(4モジュール)の許容範囲も同様に設定される。
図7(A)、図7(B)のような設定内容に基づいて候補比率毎に許容範囲を定めた例が図8である。図8において表の上段では、比率4:7の場合の誤差Δ(53)に基づいて、図7(A)、図7(B)のように明暗各モジュールの場合の許容範囲を定めている。即ち、比率4:7の場合の許容範囲としては、暗色1モジュールの場合の許容範囲(黒1mod)は暗色バーの測定幅が202以下、暗色2モジュールの場合の許容範囲(黒2mod)は暗色バーの測定幅が203以上302以下、暗色3モジュールの場合の許容範囲(黒3mod)は暗色バーの測定幅が303以上402以下、暗色4モジュールの場合の許容範囲(黒4mod)は暗色バーの測定幅が403以上となっている。同様に、明色1モジュールの場合の許容範囲(白1mod)は明色バーの測定幅が96以下、明色2モジュールの場合の許容範囲(白2mod)は明色バーの測定幅が97以上196以下、明色3モジュールの場合の許容範囲(白3mod)は明色バーの測定幅が197以上296以下、明色4モジュールの場合の許容範囲(白4mod)は明色バーの測定幅が297以上となっている。また、図8において表の中段では、比率6:5の場合の誤差Δ(−13)に基づく許容範囲の同様の設定例を示しており、図8において表の下段では、比率8:3の場合の誤差Δ(−80)に基づく許容範囲の同様の設定例を示している。
本実施形態では、制御回路40が許容範囲設定手段の一例に相当し、誤差算出手段によって算出された候補比率毎の各誤差に基づき、それら候補比率毎に、各モジュール種別における幅値の許容範囲を設定するように機能する。
図3のS13にて許容範囲(しきい値)が設定された後には、図3の読取処理で対象となっているキャラクターのデコードを行う(S14)。具体的には、候補比率毎にキャラクターの解読を試みる。例えば、図4(A)(B)のような例の場合、4:7、6:5、8:3の各候補比率に対して設定された図8の上段、中段、下段のような許容範囲(各モジュールについての許容範囲)と、図4(B)のような測定値(図4(A)のキャラクタを構成する各暗色バー及び各明色バーの測定値)に基づき、各候補比率毎に、各暗色バー及び各明色バーの各測定値がいずれのモジュールの許容範囲に含まれるかを特定する処理を行い、各暗色バー及び各明色バーを特定された許容範囲のモジュールとする。
例えば、4:7の候補比率に対して設定された図8上段のような各許容範囲では、幅B1の暗色バーは暗色2モジュール(黒2mod)と特定され、幅S1の明色バーは明色3モジュール(白3mod)と特定され、幅B2の暗色バーは暗色1モジュール(黒1mod)と特定され、幅S2の明色バーは明色2モジュール(白2mod)と特定され、幅B3の暗色バーは暗色1モジュール(黒1mod)と特定され、幅S3の明色バーは明色2モジュール(白2mod)と特定される。この場合、「231212」という幅値の結果が得られ、code128では値が「11」のキャラクタであることが特定できる。このように該当キャラクタが存在する場合には、S15にてYesに進み、デコード結果である「231212」の比率(暗色バーの総和と明色バーの総和の比率)が、そのデコード結果を特定した許容範囲に対応する候補比率(即ち、成功したデコード結果の解読根拠となった候補比率)に合致しているか否かを判定する(S17)。「231212」の判定結果は、4:7の候補比率の許容範囲に基づいて得られたものであり、「231212」は、比率が4:7であるため、合致しているといえる。従って、S17でYesに進み、そのキャラクタのデコード結果が「231212」(即ち、値「11」のキャラクタ)であることを確定する(S18)。なお、S15において、該当キャラクタが存在しない場合には、S15にてNoに進む。この場合、当該キャラクタのデコードを失敗とする。また、S15にて該当キャラクタが存在していると判断されたものの、そのキャラクタの比率が判定根拠となった候補比率と異なっている場合にはS17にてNoに進む。この場合も、当該キャラクタはデコード失敗となる。そして、このような図3の処理を全キャラクタに対して行い、全てのキャラクタの解読が終了した場合にはS3にてYesに進み、デコード結果を出力する。なお、図2では図示を省略しているが、S2でいずれかのキャラクタの解読が失敗した場合にはエラー報知などを行うようにしてもよい。
本実施形態では、制御回路40がキャラクタ解読手段の一例に相当し、許容範囲設定手段によって設定された候補比率毎の許容範囲設定内容と、バー幅測定手段によって測定された各キャラクタにおける各明色バー及び各暗色バーの測定値とに基づいて、各キャラクタにおける各明色バー及び各暗色バーのモジュール種別を判定し、各キャラクタを解読するように機能する。
また、メモリ35が登録手段の一例に相当し、図6のようなデータ(明色基準モジュール及び暗色基準モジュールの配列についての異なる複数の配列パターンの各々に対し、キャラクタ種別を対応付けて登録したデータ)を記憶するように機能する。
本実施形態では、読取対象となるバーコードが特定の性質のものである場合(即ち、各キャラクタにおいて、明色基準モジュールの幅の合計値と暗色基準モジュールの幅の合計値との比率が、予め定められた複数の候補比率の中から選ばれるいずれか一つの比率となるようなバーコードの場合)に、各バーにどの程度の誤差が生じているかを仮定した上で、候補比率毎に各モジュール種別における幅値の許容範囲を設定することができる。そして、候補比率の中から各明色バー及び各暗色バーの測定値が許容範囲に合致するような比率を選び、且つ許容範囲に合致するようなデータ内容を選ぶようにすれば、各バーに太りや細りが生じていたとしても適切に解読できるようになる。
また、キャラクタ解読手段に相当する制御回路40は、バーコードBを構成するキャラクタを解読する際に、許容範囲設定手段によって候補比率毎に定められる許容範囲設定内容に基づき、図9のように、それら許容範囲設定内容毎に当該キャラクタを構成する各暗色バー及び各明色バーのモジュール種別をそれぞれ求めて配列化している。そして、図3のS15Noのように、それら配列パターンがいずれもメモリ35(登録手段)に登録されていない場合には当該キャラクタの解読を失敗としている。この構成によれば、異常バーコード(例えば大幅な太りや細りが生じているバーコード等)を読み取った場合に、誤解読を防ぎ、例えばエラーを報知等の対応を行うことができる。
一方、いずれかの許容範囲設定内容から得られた配列パターンがメモリ35(登録手段)に登録されている場合、その許容範囲設定内容に対応する候補比率と、当該配列パターンに対応付けて登録されているキャラクタ種別における明色基準モジュールの幅の合計値と暗色基準モジュールの幅の合計値との比率とが整合していることを条件としてS17でYesに進むように当該キャラクタの解読を成功としている。
この構成によれば、各キャラクタをより正確に解読できるようになる。特に、登録された配列パターンに合致する配列パターンを解読したときの許容範囲設定内容は、いずれかの候補比率に基づいて誤差算出した上でその誤差を反映して許容範囲を設定したものであるため、その許容範囲設定内容の元になる候補比率と、解読されたキャラクタ種別における比率とが整合していることを条件として解読成功とすれば、誤読をより確実に防ぐことができる。
[他の実施形態]
本発明は上記記述及び図面によって説明した実施形態に限定されるものではなく、例えば次のような実施形態も本発明の技術的範囲に含まれる。
上記実施形態では、図5のように暗色バーに一律に太り(細り)が生じていると想定して、各候補比率毎に数1のような演算式により誤差Δを算出していたが、候補比率毎の誤差の算出方法はこれに限られない。例えば、図10のように、暗色バーにおいて、モジュールのサイズに比例した太り(細り)が生じているものとして誤差を算出してもよい。この場合、単位モジュールの誤差をΔとし、2モジュールの誤差は2倍の2Δ、3モジュールの場合の誤差は3倍の3Δ、4モジュールの場合の誤差は4倍の4Δとする。そして、以下の数5の式が成り立つことになる。そして、この数5を変形することで、数6のように単位モジュールの誤差Δを求めることができる。なお、本実施形態では、数1の式を数6の式に変更する点のみが異なり、それ以外は第1実施形態と同様である。この数6の式に、各候補比率を適用することで、各候補比率における誤差Δ(この場合は、単位モジュールの場合の誤差)を算出することができ、この誤差Δに基づいて第1実施形態と同様にS13以降の処理を行えばよい。
Figure 0005293853
Figure 0005293853
この実施形態でも、制御回路40が誤差算出手段の一例に相当し、バーコードBを構成するキャラクタの誤差を算出する際に、当該キャラクタにおける各暗色バーの各バー幅測定値の総和をS1(図4等の例ではB1+B2+B3)とし、当該キャラクタにおける各明色バーの各バー幅測定値の総和をS2(図4等の例ではS1+S2+S3)とし、当該キャラクタ内における暗色基準モジュールのモジュール総数(暗モジュール数)をMbとし、当該キャラクタ内における明色基準モジュールのモジュール総数(明モジュール数)をMwとしたときに、候補比率毎に、Δ=S1/(2×Mb)−S2/(2×Mw)を満たすΔを誤差(単位モジュールの誤差)として算出する(この式は数6と同様である)。
この構成によれば、暗色バーのサイズに比例するような程度で太りが生じやすく、明色バーのサイズに比例するような程度で細りが生じやすいバーコードを読み取る場合に誤差をより正確に算出しやすくなり、ひいては、各キャラクタをより正確に解読しやすくなる。
1…バーコード読取装置
23…受光センサ(撮像手段)
35…メモリ(登録手段)
40…制御回路(バー幅測定手段、誤差算出手段、許容範囲設定手段、キャラクタ解読手段)
B…バーコード
Ba…暗色バー
Sp…明色バー

Claims (5)

  1. 幅の異なる複数種の明色基準モジュール及び幅の異なる複数種の暗色基準モジュールから選ばれる複数の明色バー及び複数の暗色バーによって構成されるキャラクタを複数配列してなるバーコードを読み取るバーコード読取装置であって、
    読取対象となる前記バーコードは、当該バーコードを構成する各キャラクタにおいて、前記明色基準モジュールの幅の合計値と前記暗色基準モジュールの幅の合計値との比率が、予め定められた複数の候補比率の中から選ばれるいずれか一つの比率となるべきものであり、
    前記バーコードを撮像可能な撮像手段と、
    前記撮像手段によって前記バーコードが撮像されたときの撮像結果に基づいて、当該バーコードにおける各明色バー及び各暗色バーのバー幅を測定するバー幅測定手段と、
    前記候補比率毎に定められた誤差算出式をそれぞれ備え、誤差算出対象となるキャラクタにおける各バー幅の誤差を、当該キャラクタにおいて前記バー幅測定手段によって測定された各明色バーのバー幅測定値及び各暗色バーのバー幅測定値をパラメータとして、各候補比率に対応する各誤差算出式により各候補比率に対応させてそれぞれ求める誤差算出手段と、
    前記誤差算出手段によって算出された前記候補比率毎の各誤差に基づき、それら候補比率毎に、各モジュール種別における幅値の許容範囲を設定する許容範囲設定手段と、
    前記許容範囲設定手段によって設定された前記候補比率毎の許容範囲設定内容と、前記バー幅測定手段によって測定された各キャラクタにおける各明色バー及び各暗色バーの測定値とに基づいて、各キャラクタにおける各明色バー及び各暗色バーのモジュール種別を判定し、各キャラクタを解読するキャラクタ解読手段と、
    を備えたことを特徴とするバーコード読取装置。
  2. 前記誤差算出手段は、前記バーコードを構成する前記キャラクタの誤差を算出する際に、当該キャラクタにおける各暗色バーの各バー幅測定値からそれぞれ誤差Δを減算したときの各減算後測定値の総和をSbとし、当該キャラクタにおける各明色バーの各バー幅測定値に対しそれぞれ誤差Δを加算したときの各加算後測定値の総和をSwとし、当該キャラクタ内における前記暗色基準モジュールのモジュール総数をMbとし、当該キャラクタ内における前記明色基準モジュールのモジュール総数をMwとしたときに、前記候補比率毎に、以下の式、
    Sb/Mb=Sw/Mw
    を満たすΔを誤差として算出することを特徴とする請求項1に記載のバーコード読取装置。
  3. 前記誤差算出手段は、前記バーコードを構成する前記キャラクタの誤差を算出する際に、当該キャラクタにおける各暗色バーの各バー幅測定値の総和をS1とし、当該キャラクタにおける各明色バーの各バー幅測定値の総和をS2とし、当該キャラクタ内における前記暗色基準モジュールのモジュール総数をMbとし、当該キャラクタ内における前記明色基準モジュールのモジュール総数をMwとしたときに、前記候補比率毎に、以下の式、
    Δ=S1/(2×Mb)−S2/(2×Mw)
    を満たすΔを誤差として算出することを特徴とする請求項1に記載のバーコード読取装置。
  4. 前記明色基準モジュール及び前記暗色基準モジュールの配列についての異なる複数の配列パターンを有すると共に、各配列パターンに対してキャラクタ種別を対応付けて登録してなる登録手段を備え、
    前記キャラクタ解読手段は、前記バーコードを構成する前記キャラクタを解読する際に、前記許容範囲設定手段によって前記候補比率毎に定められる許容範囲設定内容に基づき、それら許容範囲設定内容毎に、当該キャラクタを構成する各暗色バー及び各明色バーのモジュール種別をそれぞれ求めて配列化し、それら配列パターンがいずれも前記登録手段に登録されていない場合には当該キャラクタの解読を失敗とすることを特徴とする請求項1から請求項3のいずれか一項に記載のバーコード読取装置。
  5. 前記明色基準モジュール及び前記暗色基準モジュールの配列についての異なる複数の配列パターンを有すると共に、各配列パターンに対してキャラクタ種別を対応付けて登録してなる登録手段を備え、
    前記キャラクタ解読手段は、前記バーコードを構成する前記キャラクタを解読する際に、前記許容範囲設定手段によって前記候補比率毎に定められる許容範囲設定内容に基づき、それら許容範囲設定内容毎に、当該キャラクタを構成する各暗色バー及び各明色バーのモジュール種別をそれぞれ求めて配列化し、いずれかの許容範囲設定内容から得られた配列パターンが前記登録手段に登録されている場合、その許容範囲設定内容に対応する前記候補比率と、当該配列パターンに対応付けて登録されているキャラクタ種別における前記明色基準モジュールの幅の合計値と前記暗色基準モジュールの幅の合計値との比率とが整合していることを条件として当該キャラクタの解読を成功とすることを特徴とする請求項1から請求項4のいずれか一項に記載のバーコード読取装置。
JP2012074506A 2012-03-28 2012-03-28 バーコード読取装置 Expired - Fee Related JP5293853B1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012074506A JP5293853B1 (ja) 2012-03-28 2012-03-28 バーコード読取装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012074506A JP5293853B1 (ja) 2012-03-28 2012-03-28 バーコード読取装置

Publications (2)

Publication Number Publication Date
JP5293853B1 true JP5293853B1 (ja) 2013-09-18
JP2013206127A JP2013206127A (ja) 2013-10-07

Family

ID=49396734

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012074506A Expired - Fee Related JP5293853B1 (ja) 2012-03-28 2012-03-28 バーコード読取装置

Country Status (1)

Country Link
JP (1) JP5293853B1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6476626B2 (ja) * 2014-07-23 2019-03-06 株式会社リコー 指示体判定装置、座標入力装置、指示体判定方法、座標入力方法、及びプログラム
JP6114320B2 (ja) * 2015-02-16 2017-04-12 株式会社ウェルキャット コード読取学習システム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1091715A (ja) * 1996-09-19 1998-04-10 Nec Eng Ltd バーコード読取装置
JP4257132B2 (ja) * 2003-02-21 2009-04-22 富士通株式会社 バーコード読取装置およびバーコード読取方法

Also Published As

Publication number Publication date
JP2013206127A (ja) 2013-10-07

Similar Documents

Publication Publication Date Title
JP2004234318A (ja) 二次元情報コード、二次元情報コードの表示方法、二次元情報コードの生成方法、二次元情報コードの読取方法
JP4968093B2 (ja) 光学的情報読取装置
JP5904077B2 (ja) 情報コード及び情報コードの読取システム
JP5293853B1 (ja) バーコード読取装置
JP2019175033A (ja) 情報コード及び情報コード読取装置
JP4175358B2 (ja) 光学情報読取装置
JP4466522B2 (ja) 光学情報読取装置
JP2011008574A (ja) 光学的情報読取装置
JP5888199B2 (ja) バーコード読取装置
JP5007960B2 (ja) 光学的情報読取装置
JP7024665B2 (ja) 情報コード、情報コード生成方法、情報コード生成装置及び情報コード読取システム
JP5267323B2 (ja) 二次元コード読取装置
JP5104557B2 (ja) 光学的情報読取装置
JP5359858B2 (ja) 情報コード及び情報コードの生成方法
JP5780192B2 (ja) 情報コード読取装置
JP2011197856A (ja) 光学的情報読取装置
JP5810997B2 (ja) 二次元コード読み取り装置
JP5786783B2 (ja) 情報コード読取装置
JP5240124B2 (ja) 光学的情報読取装置
JP5282559B2 (ja) 情報コード読取装置
JP4378491B2 (ja) コード画像出力装置
JP5724771B2 (ja) 光学的情報読取装置
JP5218281B2 (ja) 情報コード読取装置
JP2023015764A (ja) 情報コード読取装置及び情報コード読取システム
JP2019062499A (ja) コード認識装置、コード認識方法及びコード認識プログラム

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130527

R150 Certificate of patent or registration of utility model

Ref document number: 5293853

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees