JP5660465B2 - 光学的情報読取装置 - Google Patents

光学的情報読取装置 Download PDF

Info

Publication number
JP5660465B2
JP5660465B2 JP2011205026A JP2011205026A JP5660465B2 JP 5660465 B2 JP5660465 B2 JP 5660465B2 JP 2011205026 A JP2011205026 A JP 2011205026A JP 2011205026 A JP2011205026 A JP 2011205026A JP 5660465 B2 JP5660465 B2 JP 5660465B2
Authority
JP
Japan
Prior art keywords
pixel
score
value
pixels
low
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
Application number
JP2011205026A
Other languages
English (en)
Other versions
JP2013068980A (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 JP2011205026A priority Critical patent/JP5660465B2/ja
Publication of JP2013068980A publication Critical patent/JP2013068980A/ja
Application granted granted Critical
Publication of JP5660465B2 publication Critical patent/JP5660465B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Description

本発明は、撮像した情報コードを二値化することで当該情報コードを光学的に読み取る光学的情報読取装置に関するものである。
従来、撮像した情報コードを二値化することで当該情報コードを光学的に読み取る光学的情報読取装置に関する技術として、下記特許文献1に開示される二値化処理装置が知られている。この装置では、撮像された濃淡画像から文字画像を画素単位ごとに二値化する場合には、多値における画像の予測値と実際値との差分および2値における画像の予測値をパラメータとして二値化する画素におけるしきい値を適宜に変動させることによって、文字線分の直線性を保持した二値化処理を実施している。
特開2003−060908号公報
ところで、バーコードや二次元コードのような複数の明色パターンおよび暗色パターンからなる情報コードを光学的に読み取るには、そのパターン(セル)が明色パターンおよび暗色パターンのいずれであるかを判定する二値化処理が重要である。二次元コードには誤り訂正が含まれるため、多少の誤りがあっても読み取ることができるが、撮像された二次元コードがボケたりコード全体が低コントラストであると誤りが増大してしまい、読み取りに失敗する場合がある。
従来は、照明ムラや部分的な低コントラスト画像を読取るために、上記特許文献1に示す二値化方法や部分的な濃度ヒストグラム分布から小領域での局所二値化や適応的二値化処理といった方法で二値化処理をおこなっていた。しかしながら、いずれの二値化処理でも小領域の適正サイズが実際の読み取る画像に一致しないと極端に二値化精度が悪化するという問題があった。また、画像の多くの濃度分布を確認する必要がある場合には、演算量が増大することから、光学的情報読取装置における読み取りフィーリングが悪化するという問題があった。また、このようなフィーリングの悪化を避けるためには、高速処理を可能とする高価な演算装置が必要になるという問題があった。
本発明は、上述した課題を解決するためになされたものであり、その目的とするところは、撮像した情報コードを複雑な処理を行うことなく高精度に二値化し得る光学的情報読取装置を提供することにある。
上記目的を達成するため、請求項1に記載の光学的情報読取装置は、複数の明色パターンおよび暗色パターンが配列されてなる情報コード(C)を撮像する撮像手段(28)と、前記撮像手段によって撮像された撮像画像に対して所定の閾値と比較することで、当該撮像画像を構成する各画素を明色領域および暗色領域のいずれかに区分け可能な二値化手段(40)と、前記二値化手段により区分けされた複数の前記明色領域および前記暗色領域のうち前記情報コードに対応するコード画像を構成する前記明色領域および前記暗色領域の配列に基づいて、当該情報コードをデコードするデコード手段(40)と、を備える光学的情報読取装置(10)であって、前記二値化手段は、前記撮像手段によって撮像された撮像画像のうち少なくとも前記コード画像が含まれる対象画像(Po)に対して、当該対象画像よりも低い解像度の画素から構成される低解像度画像(Pa)を生成する低解像度画像生成手段(40)と、前記低解像度画像を構成する各画素の輝度値をそれぞれ測定する輝度値測定手段(40)と、前記低解像度画像を構成する各画素のうち所定数を囲うスコア算出枠(S,Sk)を設定し、このスコア算出枠を所定画素ずつ移動させてその移動ごとに当該スコア算出枠内に位置する各画素の輝度値の枠内平均値を算出し、このスコア算出枠内に位置する各画素のうち前記枠内平均値を基準に、前記明色領域および前記暗色領域のいずれか一方の領域に判定される画素に対して一定のスコア値を加算し他方の領域に判定される画素に対して前記一定のスコア値を加算しないことで、前記低解像度画像を構成する全ての画素にて総スコア値をそれぞれ算出する総スコア値算出手段(40)と、前記一方の領域とみなされる程度に前記総スコア値が高い高スコア画素(Pw)とこの画素の近くに位置し前記他方の領域とみなされる程度に前記総スコア値が低い低スコア画素(Pb)との中間位置での前記所定の閾値を、これら両画素の輝度値の平均値に等しくする設定を、少なくとも複数箇所の前記高スコア画素のうちの一部について実施することで、前記所定の閾値を複数箇所設定する閾値設定手段(40)と、前記対象画像を構成する各画素を、前記閾値設定手段により設定された前記複数箇所の閾値に基づいて、前記明色領域および前記暗色領域のいずれかに区分けする区分手段(40)と、を備えることを特徴とする。
請求項2に記載の発明は、請求項1に記載の光学的情報読取装置において、前記総スコア値算出手段は、前記所定数を囲うスコア算出枠を含めてそれぞれ囲う画素の数が異なる2種以上のスコア算出枠(Sk)を設定し、これら各スコア算出枠をそれぞれ移動させて当該各スコア算出枠内に位置する各画素のうち前記一方の領域に判定される画素に対して前記一定のスコア値を加算することで、前記低解像度画像を構成する全ての画素にて前記総スコア値をそれぞれ算出することを特徴とする。
請求項3に記載の発明は、請求項2に記載の光学的情報読取装置において、前記総スコア値算出手段は、前記2種以上のスコア算出枠を設定し、これら各スコア算出枠をそれぞれ移動させて、これらスコア算出枠内の中央に位置する1または2以上の画素のうち前記枠内平均値を基準に前記一方の領域に判定される画素に対して一定のスコア値を加算することで、前記低解像度画像を構成する全ての画素にて前記総スコア値をそれぞれ算出することを特徴とする。
請求項4に記載の発明は、請求項1〜3のいずれか一項に記載の光学的情報読取装置において、前記閾値設定手段は、前記高スコア画素および前記低スコア画素の位置と輝度値とに基づいて前記所定の閾値を求めるための二値化基準点を設定し、前記区分手段は、前記対象画像を構成する各画素を、当該対象画素の近くに位置する2以上の前記二値化基準点に基づいて設定される閾値に基づいて、前記明色領域および前記暗色領域のいずれかに区分けすることを特徴とする。
請求項5に記載の発明は、請求項1〜4のいずれか一項に記載の光学的情報読取装置において、前記閾値設定手段は、前記高スコア画素とこの画素の近くに位置する前記低スコア画素との中間位置での前記所定の閾値を、これら両画素の輝度値の平均値に等しくする設定を、全ての前記高スコア画素および全ての前記低スコア画素について実施することで、前記所定の閾値を複数箇所設定することを特徴とする。
請求項6に記載の発明は、請求項1〜4のいずれか一項に記載の光学的情報読取装置において、前記閾値設定手段は、前記高スコア画素とこの画素に対して所定の方向にて近くに位置する前記低スコア画素との中間位置での前記所定の閾値を、これら両画素の輝度値の平均値に等しくする設定を、少なくとも複数の前記総スコア値が高い画素のうちの一部について実施することで、前記所定の閾値を複数箇所設定することを特徴とする。
請求項7に記載の発明は、請求項1〜6のいずれか一項に記載の光学的情報読取装置において、前記閾値設定手段は、前記中間位置とその位置に設定される閾値とを関連付けた閾値マップを作成し、前記区分手段は、前記対象画像を構成する各画素を、前記閾値設定手段により設定された前記閾値マップに基づいて、前記明色領域および前記暗色領域のいずれかに区分けすることを特徴とする。
お、上記各括弧内の符号は、後述する実施形態に記載の具体的手段との対応関係を示すものである。
請求項1の発明では、撮像された撮像画像を構成する各画素を明色領域および暗色領域のいずれかに区分け可能な二値化手段は、上記対象画像に対して低解像度画像が生成されその各画素の輝度値がそれぞれ測定されると、総スコア値算出手段により、スコア算出枠を所定画素ずつ移動させてその移動ごとに当該スコア算出枠内に位置する各画素のうち枠内平均値を基準に明色領域および暗色領域のいずれか一方の領域に判定される画素に対して一定のスコア値を加算することで、上記低解像度画像を構成する全ての画素にて総スコア値をそれぞれ算出する。そして、閾値設定手段により、高スコア画素とこの画素の近くに位置する低スコア画素との中間位置での所定の閾値を、これら両画素の輝度値の平均値に等しくする設定を、少なくとも複数箇所の高スコア画素のうちの一部について実施することで、所定の閾値が複数箇所設定されると、区分手段により、上記対象画像を構成する各画素が、閾値設定手段により設定された複数箇所の閾値に基づいて、明色領域および暗色領域のいずれかに区分けされる。
これにより、例えば、上記一方の領域として明色領域に判定される画素に対して一定のスコア値を加算する場合には、上記低解像度画像のうち明色領域の可能性が高い画素は総スコア値が高くなり、逆に暗色領域の可能性が高い画素は総スコア値が低くなる。この場合、明色領域の可能性が高い高スコア画素が複数存在することとなり、これら各高スコア画素のうちの少なくとも一部とその近くに位置する暗色領域の可能性が高い低スコア画素とのそれぞれの中間位置での所定の閾値が、複数箇所設定される。このように設定される複数箇所の閾値は、周囲の画素のうち信頼性が高い画素の明暗が上記中間位置ごとに反映されて設定されるので、上記対象画像内での照度ムラ等の影響が緩和されて、複数箇所の閾値を高精度に設定することができる。
したがって、上述のように設定された複数箇所の閾値に基づいて、コード画像の各画素をそれぞれ明色領域および暗色領域のいずれかに区分けすることで、撮像した情報コードを複雑な処理を行うことなく高精度に二値化することができる。
請求項2の発明では、それぞれ囲う画素の数が異なる2種以上のスコア算出枠、例えば枠サイズが3×3の枠や5×5の枠などを用いて総スコア値をそれぞれ算出するため、1つの枠のみを移動させてスコア値を加算する場合と比較して、周囲の画素の明暗がより反映されて各閾値が設定されるので、二値化に関する精度をさらに向上させることができる。
請求項3の発明では、上述のように2種以上のスコア算出枠(枠サイズが3×3の枠や5×5の枠など)が設定されると、これら各スコア算出枠をそれぞれ移動させて、これらスコア算出枠内の中央に位置する1または2以上の画素のうち枠内平均値を基準に一方の領域に判定される画素に対して一定のスコア値が加算されて、総スコア値がそれぞれ算出される。このように、移動先のスコア算出枠内の全ての画素にスコア値を加算することなく中央に位置する1または2以上の画素にのみスコア値を加算するようにしてもよい。
請求項4の発明では、区分手段により、上記対象画像を構成する各画素が、当該対象画素の近くに位置する2以上の二値化基準点に基づいて設定される閾値に基づいて、明色領域および暗色領域のいずれかに区分けされるため、1つの閾値のみに基づいて区分けされる場合と比較して、二値化に関する精度を向上させることができる。
請求項5の発明では、閾値設定手段により、高スコア画素とこの画素の近くに位置する低スコア画素との中間位置での所定の閾値を、これら両画素の輝度値の平均値に等しくする設定を、全ての高スコア画素および全ての低スコア画素について実施することで、所定の閾値が複数箇所設定される。これにより、設定される閾値の数が多くなるので、二値化に関する精度をさらに向上させることができる。
請求項6の発明では、閾値設定手段により、高スコア画素とこの画素に対して所定の方向にて近くに位置する低スコア画素との中間位置での所定の閾値を、これら両画素の輝度値の平均値に等しくする設定を、少なくとも複数の高スコア画素のうちの一部について実施することで、所定の閾値が複数箇所設定される。これにより、設定される閾値の数を適度に限定して二値化に関する処理負荷を軽減することができる。
請求項7の発明では、閾値設定手段により、高スコア画素および低スコア画素の中間位置とその位置に設定される閾値とを関連付けた閾値マップが作成され、区分手段により、上記対象画像を構成する各画素が、上記閾値マップに基づいて、明色領域および暗色領域のいずれかに区分けされる。このように作成される閾値マップに基づいて、区分けすべき画素の位置から区分けに用いる閾値が採用されるので、多くの閾値が様々な位置に設定される場合でも、上記対象画像を構成する各画素を容易に明色領域および暗色領域のいずれかに区分けすることができる。
第1実施形態に係る光学的情報読取装置の電気的構成を示すブロック図である。 第1実施形態における読取処理の流れを例示するフローチャートである。 図2中の二値化処理のサブルーチンを例示するフローチャートである。 図4(A)は、対象画像を示す説明図であり、図4(B)は、図4(A)に示す対象画像を低解像度化した低解像度画像を示す説明図である。 図4(B)に示す低解像度画像を構成する各画素の輝度値を示す説明図である。 図6(A)は、中心が画素(3,3)に位置するスコア算出枠を示す説明図であり、図6(B)は、図6(A)に位置するスコア算出枠で算出したスコア値を示す説明図であり、図6(C)は、中心が画素(4,3)に位置するスコア算出枠を示す説明図であり、図6(D)は、図6(C)に位置するスコア算出枠で算出したスコア値を加算した状態を示す説明図である。 図4(B)に示す低解像度画像Paを構成する各画素での総スコア値を示す説明図である。 総スコア値に重み付けるするための係数を説明する説明図である。 図7に示す低解像度画像の一部を高信頼度画素と低信頼度画素とに分類した状態を示す説明図である。 図9に示す高信頼度画素から算出されるエッジを説明する説明図であり、図10(A)は、X方向のエッジが設定された状態を示し、図10(B)は、X方向のエッジおよびY方向のエッジが設定された状態を示す。 図10(B)から求められる各基準位置をドットとして示す説明図である。 図11に示す二値化基準点に基づいて設定される各分割エリアの設定状態を説明する説明図である。 低解像度画像に対して設定されるグリッドの一部を例示する説明図である。 閾値が二値化基準点の基準輝度値に等しく設定される一部のブロックを示す説明図である。 各二値化基準点に基づいてブロックの閾値を設定する設定方法を説明する説明図である。 第2実施形態における二値化処理のサブルーチンを例示するフローチャートである。
[第1実施形態]
以下、本発明の第1実施形態に係る光学的情報読取装置について図を参照して説明する。図1は、第1実施形態に係る光学的情報読取装置10の電気的構成を示すブロック図である。
図1に示すように、光学的情報読取装置10は、物品に付されたバーコードなどの一次元コードや二次元コード等、複数の白色パターン(明色パターン)および黒色パターン(暗色パターン)が配列されてなる情報コードを光学的に読み取る装置として構成されている。この光学的情報読取装置10は、図示しないケースの内部に回路部20が収容されてなるものであり、回路部20は、主に、照明光源21、受光センサ28、結像レンズ27等の光学系と、メモリ35、制御回路40、トリガースイッチ42等のマイクロコンピュータ(以下「マイコン」という)系と、から構成されている。
光学系は、投光光学系と、受光光学系とに分かれている。投光光学系を構成する照明光源21は、照明光Lfを発光可能な照明光源として機能するもので、例えば、赤色のLEDとこのLEDの出射側に設けられるレンズとから構成されている。なお、図1では、バーコードCが付された読取対象Rに向けて照明光Lfを照射する例を概念的に示している。
受光光学系は、受光センサ28、結像レンズ27、反射鏡(図示略)などによって構成されている。受光センサ28は、バーコードC等に照射されて反射した反射光Lrを受光可能に構成されるもので、例えば、C−MOSやCCD等の固体撮像素子である受光素子を2次元に配列したエリアセンサが、これに相当する。この受光センサ28は、結像レンズ27を介して入射する入射光を受光可能にプリント配線板(図示略)に実装されている。なお、受光センサ28は、特許請求の範囲に記載の「撮像手段」の一例に相当し得る。
結像レンズ27は、外部から読取口13を介して入射する入射光を集光して受光センサ28の受光面28aに像を結像可能な結像光学系として機能するものである。本実施形態では、照明光源21から照射された照明光LfがバーコードCにて反射した後、この反射光Lrを結像レンズ27で集光し、受光センサ28の受光面28aにコード像を結像させている。
マイコン系は、増幅回路31、A/D変換回路33、メモリ35、アドレス発生回路36、同期信号発生回路38、制御回路40、トリガースイッチ42、キー操作部43、液晶表示器46、通信インタフェース48等から構成されている。
光学系の受光センサ28から出力される画像信号(アナログ信号)は、増幅回路31に入力され所定ゲインで増幅された後、A/D変換回路33に入力されると、アナログ信号からディジタル信号に変換される。そして、ディジタル化された画像信号、つまり画像データ(画像情報)は、生成されてメモリ35に入力されると、所定のコード画像情報格納領域に蓄積される。なお、同期信号発生回路38は、受光センサ28およびアドレス発生回路36に対する同期信号を発生可能に構成されており、またアドレス発生回路36は、この同期信号発生回路38から供給される同期信号に基づいて、メモリ35に格納される画像データの格納アドレスを発生可能に構成されている。
メモリ35は、半導体メモリ装置で、例えばRAM(DRAM、SRAM等)やROM(EPROM、EEPROM等)がこれに相当する。このメモリ35のうちのRAMには、上述したコード画像情報格納領域のほかに、制御回路40が算術演算や論理演算等の各処理時に利用する作業領域や読取条件テーブルも確保可能に構成されている。またROMには、後述する読取処理や解析処理等を実行可能な所定プログラムやその他、照明光源21、受光センサ28等の各ハードウェアを制御可能なシステムプログラム等が予め格納されている。
制御回路40は、光学的情報読取装置10全体を制御可能なマイコンによって構成されており、CPU、システムバス、入出力インタフェース等を有すると共に、情報処理機能を備えており、メモリ35とともに情報処理装置を構成している。本実施形態では、制御回路40に対し、トリガースイッチ42、キー操作部43、液晶表示器46、通信インタフェース48等が接続されている。
トリガースイッチ42は、バーコード等の読取対象に対して照射光を照射する際に押圧操作されるスイッチであって、この押圧操作に応じた信号が制御回路40に入力されるように構成されている。キー操作部43は、複数個の操作ボタンを備えており、使用者のキー操作に応じた操作信号が制御回路40に入力されるように構成されている。液晶表示器46は、制御回路40によって表示内容が制御されるように構成されている。通信インタフェース48は、外部装置と通信するためのインタフェースであり、当該外部装置と有線通信を行う有線通信部、或いは無線通信を行う無線通信部、若しくはこれら両方を備えた構成をなしている。
次に、このように構成される光学的情報読取装置10の制御回路40にて実行される読取処理について、図を用いて説明する。図2は、第1実施形態における読取処理の流れを例示するフローチャートである。図3は、図2中の二値化処理のサブルーチンを例示するフローチャートである。図4(A)は、対象画像Poを示す説明図であり、図4(B)は、図4(A)に示す対象画像Poを低解像度化した低解像度画像Paを示す説明図である。図5は、図4(B)に示す低解像度画像Paを構成する各画素の輝度値を示す説明図である。図6(A)は、中心が画素(3,3)に位置するスコア算出枠Sを示す説明図であり、図6(B)は、図6(A)に位置するスコア算出枠Sで算出したスコア値を示す説明図であり、図6(C)は、中心が画素(4,3)に位置するスコア算出枠Sを示す説明図であり、図6(D)は、図6(C)に位置するスコア算出枠Sで算出したスコア値を加算した状態を示す説明図である。図7は、図4(B)に示す低解像度画像Paを構成する各画素での総スコア値を示す説明図である。図8は、総スコア値に重み付けるするための係数Kwを説明する説明図である。図9は、図7に示す低解像度画像Paの一部を高信頼度画素と低信頼度画素とに分類した状態を示す説明図である。図10は、図9に示す高信頼度画素から算出されるエッジを説明する説明図であり、図10(A)は、X方向のエッジExが設定された状態を示し、図10(B)は、X方向のエッジExおよびY方向のエッジEyが設定された状態を示す。図11は、図10(B)から求められる各基準位置をドットとして示す説明図である。図12は、図11に示す二値化基準点に基づいて設定される各分割エリアの設定状態を説明する説明図である。図13は、低解像度画像Paに対して設定されるグリッドGの一部を例示する説明図である。図14は、閾値が二値化基準点の基準輝度値に等しく設定される一部のブロックを示す説明図である。図15は、各二値化基準点に基づいてブロックB(x,y)の閾値Val(x,y)を設定する設定方法を説明する説明図である。
本実施形態では、例えば使用者が所定操作(例えば、トリガースイッチ42のオン操作)を行うことで、図2に示す読取処理が開始され、ステップS101に示す撮像処理がなされる。この処理では、まず制御回路40が同期信号を基準に照明光源21に発光信号を出力し、当該発光信号を受けた照明光源21が、LEDを発光させて照明光Lfを照射する。すると、情報コードCに照射された照明光Lfが反射し、その反射光Lrが読取口13を介して結像レンズ27に入射する。そして、受光センサ28の受光面28aには結像レンズ27によって情報コードCの像、つまりコード画像が結像される。これにより、受光センサ28を構成する各受光素子が露光され、それら各受光素子から情報コードCを含めた像に応じた受光信号がそれぞれ出力される。これら受光信号は、情報コードC1を含めた撮像画像データを構成するものであり、この撮像画像データはメモリ35に一時的に記憶される。
次に、ステップS103に示す二値化処理のサブルーチンが実行される。このサブルーチンでは、まず、図3のステップS201に示す低解像度画像生成処理がなされる。この処理では、ステップS101にて撮像された撮像画像のうち、情報コードと判定され得る領域を含めた対象画像が抽出されて、この対象画像に対して当該対象画像よりも低い解像度の画素から構成される低解像度画像が生成される。例えば、図4(A)に例示するように画素数が450×450である対象画像Poが抽出されると、この対象画像Poよりも低い解像度の画素、例えば28×28の画素数から構成される低解像度画像Paが生成される。なお、二値化処理のサブルーチンを実行する制御回路40は、特許請求の範囲に記載の「二値化手段」の一例に相当し、低解像度画像生成処理を実行する制御回路40は、特許請求の範囲に記載の「低解像度画像生成手段」の一例に相当し得る。
続いて、ステップS203に示す輝度値測定処理がなされ、上述のように生成された低解像度画像Paを構成する各画素の輝度値がそれぞれ測定される。例えば、図4(B)に例示する低解像度画像Paでは、各画素の輝度値は、図5に例示するように、それぞれ測定される。なお、本実施形態では、輝度値は、0〜255で示され、白色に近づくほど、すなわち、明色度合いが高くなるほど数値が高くなり、黒色に近づくほど、すなわち、暗色度合いが高くなるほど数値が低くなる。なお、輝度値測定処理を実行する制御回路40は、特許請求の範囲に記載の「輝度値測定手段」の一例に相当し得る。
次に、ステップS205に示すスコア算出枠設定処理がなされ、低解像度画像Paを構成する各画素のうち所定数を囲うスコア算出枠が、低解像度画像Paの左上に設定される。例えば、図5に例示するように各輝度値が算出された低解像度画像Paに対して、枠サイズが5×5からなるスコア算出枠Sが、低解像度画像Paの左上に設定される。なお、スコア算出枠Sは、枠サイズが5×5の枠として設定されることに限らず、例えば、枠サイズが3×3の枠、9×9の枠などのように正方形状の枠として設定されてもよいし、例えば、枠サイズが5×7の枠などのように長方形状の枠として設定されてもよい。
続いて、ステップS207に示すスコア値加算処理がなされる。この処理では、スコア算出枠S内に位置する各画素の輝度値の枠内平均値が相加平均により算出され、この枠内平均値と当該スコア算出枠S内に位置する各画素の輝度値とがそれぞれ比較される。そして、枠内平均値よりも大きな輝度値の画素に対して、明色領域である可能性が高いとして一定のスコア値、例えば1が加算される。一方、残りの枠内平均値以下の輝度値の画素に対しては、暗色領域である可能性が高いことから、スコア値は加算されない。
具体的には、図6(A)に例示するように、中心が画素(3,3)に位置するスコア算出枠S内に位置する各画素の輝度値の枠内平均値が162として算出されると、図6(B)に例示するように、この枠内平均値よりも大きな輝度値の画素のみに対して、一定のスコア値として1が加算される。この場合、枠内平均値以下の輝度値の画素には一定のスコア値が加算されずに、0のままとなる。
次に、ステップS209に示す判定処理によりスコア算出枠Sの移動が終了したか否かについて判定される。ここで、スコア算出枠Sが後述するように低解像度画像Paの右下まで移動していない場合には、スコア算出枠Sの移動が終了していないとして(S209でNo)、ステップS211に示すスコア算出枠移動処理がなされる。この処理では、スコア算出枠Sが所定画素、例えば1画素分だけ右方向に移動するように設定される。なお、スコア算出枠Sが右端まで移動すると、例えば、そこから左端に移動した後に1画素分だけ下方向に移動するように設定される。
そして、再び上記スコア値加算処理がなされ、移動後のスコア算出枠S内での枠内平均値と当該スコア算出枠S内に位置する各画素の輝度値とをそれぞれ比較し、枠内平均値よりも大きな輝度値の画素に対して上記一定のスコア値1が加算される。
具体的には、図6(C)に例示するように、移動したことで中心が画素(4,3)に位置するスコア算出枠S内に位置する各画素の輝度値の枠内平均値が141として算出されると、図6(D)に例示するように、この枠内平均値よりも大きな輝度値の画素のみに対して、一定のスコア値として1が加算される。このため、2度とも明色領域として判定される画素では、スコア値がさらに1加算されて総スコア値が2になり、2度とも暗色領域として判定される画素では、総スコア値が0になる。一方、2度のスコア値加算処理で異なる判定がなされる画素では、総スコア値が1になる。
そして、スコア算出枠Sの移動が終了していないことから(S209でNo)、再び上記スコア算出枠移動処理がなされて、中心が画素(5,3)に位置するスコア算出枠Sについて、再び上記スコア値加算処理がなされる。このようなスコア算出枠Sの移動と移動先でのスコア値加算処理とを繰り返して当該スコア算出枠Sを満遍なく移動させて、最終移動先に位置するスコア算出枠Sについて、上記スコア値加算処理がなされると、低解像度画像Paを構成する各画素についての総スコア値の算出が終了する。なお、スコア算出枠設定処理、スコア値加算処理およびスコア算出枠移動処理を実行する制御回路40は、特許請求の範囲に記載の「総スコア値算出手段」の一例に相当し得る。
図7は、上述のように算出された各総スコア値を、対応する画素上に表示して示しており、総スコア値が25に近い画素ほど明色領域の可能性が高い画素であり、総スコア値が0に近い画素ほど暗色領域の可能性が高い画素であることがわかる。一方、総スコア値が25および0の中間値の値に近い画素は、スコア算出枠Sの位置によって明色領域と判定される場合や暗色領域と判定される場合がある画素であり、信頼性が低い画素であることがわかる。なお、5×5からなるスコア算出枠Sを採用するため、総スコア値の最大値が25に設定されているが、異なる種類のスコア算出枠を採用する場合には、このスコア算出枠が囲う画素数に応じて、総スコア値の最大値が変化することとなる。
なお、単なるスコア算出枠Sの移動では、低解像度画像Paを構成する各画素のうち上下左右の端部について、移動するスコア算出枠S内に入る回数が端部ほど低くなって総スコアの最大値が中央部に比べて低くなる。そこで、低解像度画像Paを構成する全ての画素での総スコアの最大値が等しくなるように、画素位置によって重みを付ける。例えば、低解像度画像Paが15×15の画素数から構成される場合には、図8に例示するように、低解像度画像Paの上下左右の端部を構成するエリアA1〜A8に対して、算出された総スコア値に対して乗算される係数Kwが設定される。
具体的には、図8に示すエリアA1では、以下の式(1)により、係数Kwが設定される。
Kw=(Sx×Sy)/{(x+1)×(y+1)} ・・・(1)
ここで、SxおよびSyは、スコア算出枠Sの枠サイズであり、枠サイズが5×5に設定されている場合には、Sx=5、Sy=5に設定される。また、式(1)および以下に示す式(2)〜(4)にて示すxは、横方向の座標を示す数値であって、図8の低解像度画像Paの上側に示す数値であり、yは、縦方向の座標を示す数値であって、図8の低解像度画像Paの左側に示す数値である。
また、エリアA2では、以下の式(2)により、係数Kwが設定される。
Kw=(Sx×Sy)/{Sx×(y+1)} ・・・(2)
また、エリアA3では、以下の式(3)により、係数Kwが設定される。
Kw=(Sx×Sy)/{(WIDTH−x)×(y+1)} ・・・(3)
ここで、WIDTHは、低解像度画像Paの横方向サイズであり、図8の例では、15に設定される。
また、エリアA4では、以下の式(4)により、係数Kwが設定される。
Kw=(Sx×Sy)/{(x+1)×Sy} ・・・(4)
また、エリアA3では、以下の式(3)により、係数Kwが設定される。
そして、低解像度画像Paが正方形状の画素から構成されていることから、エリアA5の各係数Kwは、エリアA4の各係数Kwに対して対称となるようにそれぞれ設定される。また、エリアA6の各係数Kwは、エリアA3の各係数Kwに対して対称となるようにそれぞれ設定され、エリアA7の各係数Kwは、エリアA2の各係数Kwに対して対称となるようにそれぞれ設定され、エリアA8の各係数Kwは、エリアA1の各係数Kwに対して対称となるようにそれぞれ設定される。
上述のようにスコア算出枠Sの移動が終了して低解像度画像Paを構成する各画素について総スコア値がそれぞれ算出されると(S209でYes)、ステップS213に示す高信頼度画素設定処理がなされる。この処理では、明色領域とみなされる程度に総スコア値が高い画素(以下、高スコア画素という)と、暗色領域とみなされる程度に総スコア値が低い画素(以下、低スコア画素という)とが、高信頼度画素として設定される。
例えば、総スコア値が18以上である画素を高スコア画素Pwとし、総スコア値が7以下である画素を低スコア画素Pbとする場合に、高スコア画素Pwに白色を付し、低スコア画素Pbに黒色を付し、高スコア画素Pwおよび低スコア画素Pbのいずれとも異なる画素にハッチングを付すと、図9に示すように分類される。図9からわかるように、白色が付される高スコア画素Pwと黒色が付される低スコア画素Pbが高信頼度画素として設定される画素であり、一方、ハッチングが付される残りの画素が信頼度の低い低信頼度画素Pxとみなされる。
このように高信頼度画素が設定されると、ステップS215に示す二値化基準点設定処理がなされる。この処理では、上述のように設定された各高信頼度画素の位置とその輝度値とに基づいて、二値化判定に用いる閾値を求めるための二値化基準点(基準位置および基準輝度値)が設定される。
この二値化基準点設定処理について、図10および図11を用いて詳細に説明する。なお、図10および図11では、図中右方向をX方向、図中下方向をY方向として説明する。
まず、図10(A)のY方向に沿う太線にて示すように、高スコア画素Pwとこの高スコア画素PwからX方向にて最も近くに位置する低スコア画素Pbとの中間に位置する辺と、低スコア画素Pbとこの低スコア画素PbからX方向にて最も近くに位置する高スコア画素Pwとの中間に位置する辺とが、X方向のエッジExとして算出される。このとき、各エッジExを中間位置とする高スコア画素Pwおよび低スコア画素Pbの輝度値の平均値が、そのエッジExの輝度値としてそれぞれ算出される。
次に、図10(B)のX方向に沿う太線にて示すように、高スコア画素Pwとこの高スコア画素PwからY方向にて最も近くに位置する低スコア画素Pbとの中間に位置する辺と、低スコア画素Pbとこの低スコア画素PbからY方向にて最も近くに位置する高スコア画素Pwとの中間に位置する辺とがさらにエッジEyとして算出される。このとき、各エッジEyを中間位置とする高スコア画素Pwおよび低スコア画素Pbの輝度値の平均値が、そのエッジEyの輝度値としてそれぞれ算出される。
上述のように各エッジEx,Eyとその輝度値とがそれぞれ算出されると、図11のドットにて示す各エッジの中間位置が、二値化基準点を構成する基準位置としてそれぞれ設定され、その基準位置での基準輝度値が当該エッジの輝度値に等しくなるように設定される。なお、エッジExおよびエッジEyの双方が算出される画素(例えば、図11の画素(2,2))では、その画素の中心が、二値化基準点を構成する基準位置として設定され、その基準位置での基準輝度値がエッジExの輝度値とエッジEyの輝度値との平均値に等しくなるように設定される。これにより、二値化判定に用いる二値化基準点(基準位置および基準輝度値)が設定されることとなる。
続いて、ステップS217に示す閾値マップ作成処理がなされる。この処理では、上述のように設定された二値化基準点に基づいて、低解像度画像Paの原画像である対象画像Poにおいて、当該対象画像Poを構成する各画素が白色パターン(明色パターン)および黒色パターン(暗色パターン)のいずれであるかを判定する閾値を求めるための閾値マップが作成される。
具体的には、まず、図12に示すように、近傍の基準位置同士を結ぶことで各基準位置を頂点とする三角形状の分割エリアを複数設定する。このように複数の分割エリアを設定する理由は、対象画像Poの撮像状態や高信頼度画素の算出方法によって、基準位置がランダムに設定されることとなり、基準位置での基準輝度値を閾値としてそのまま使用することができないからである。なお、近傍の基準位置同士を結ぶことで各基準位置を頂点とする三角形状の分割エリアを複数分割する分割方法としては、例えば、ドロネー三角形分割法を採用することができる。
上述のように複数の分割エリアが設定されると、図13に示すように、低解像度画像Paを2倍精度にして各二値化基準点の基準位置が中央に位置するように、グリッドGを設定する。このグリッドGは、上述のように低解像度画像Paが28×28の画素数から構成される場合には、56×56のブロックB(x,y)から構成されるグリッドとして設定される。そして、二値化基準点の基準位置が中央に位置するブロックの閾値は、図14に示すように、その基準位置での基準輝度値に等しくなるように設定される。
そして、残りの各ブロックの閾値は、図15に例示するようにして設定される。すなわち、図15に示すように、閾値を設定すべきブロックB(x,y)が含まれる分割エリアを構成する3つの二値化基準点の基準輝度値をVal、Val,Valとし、これら各二値化基準点の基準位置からブロックB(x,y)の中心位置までの距離をL,L,Lとすると、当該ブロックB(x,y)に設定される閾値Val(x,y)は、以下の式(5)により求められる。
Val(x,y)=(L×Val+L×Val+L×Val
/(L+L+L) ・・・(5)
このように、残りの各ブロックについて、各二値化基準点の基準輝度値とその基準位置とから上記式(5)に基づいて、閾値がそれぞれ求められることで、閾値マップの作成が完了する。なお、高信頼度画素設定処理、二値化基準点設定処理および閾値マップ作成処理を実行する制御回路40は、特許請求の範囲に記載の「閾値設定手段」の一例に相当し得る。
上述のように各ブロックごとに閾値が設定された閾値マップが作成されると、ステップS219に示す区分処理がなされる。この処理では、対象画像Poを構成する各画素について、その輝度値と当該画素が含まれる閾値マップのブロックを求めてそのブロックに設定される閾値とが比較されることで、当該画素が白色パターン(明色パターン)および黒色パターン(暗色パターン)のいずれであるか二値化されるように区分される。
このような二値化処理では、周囲の画素のうち信頼性が高い高スコア画素や低スコア画素を反映して、各ブロックごとに閾値がそれぞれ設定されるため、上記対象画像Po内での照度ムラ等の影響が緩和されて、各閾値を高精度に設定することができる。このようにして、対象画像Poを構成する各画素の全てが二値化されることで、二値化処理のサブルーチンが終了する。なお、区分処理を実行する制御回路40は、特許請求の範囲に記載の「区分手段」の一例に相当し得る。
上述のように二値化処理のサブルーチンが終了すると、図2のステップS105に示すデコード処理がなされる。この処理では、二値化処理にて二値化された白色パターンおよび黒色パターンの配列等に基づいて公知のデコード処理が実施される。そして、上記デコード処理によるデコードが成功して、情報コードとして符号化された文字データ等が取得されると、ステップS107に示す判定処理にてYesと判定される。そして、ステップS109に示す出力処理がなされ、上記デコード処理により取得された文字データ等が通信インタフェース48を介して外部機器等の上位システムに出力(送信)される。
以上説明したように、本実施形態に係る光学的情報読取装置10では、撮像された撮像画像を構成する各画素を明色領域および暗色領域のいずれかに区分け可能な二値化処理は、上記対象画像Poに対して低解像度画像Paが生成されその各画素の輝度値がそれぞれ測定されると、スコア算出枠Sを所定画素ずつ移動させてその移動ごとに当該スコア算出枠S内に位置する各画素のうち枠内平均値を基準に明色領域に判定される画素に対して一定のスコア値を加算することで、上記低解像度画像Paを構成する全ての画素にて総スコア値をそれぞれ算出する。そして、近くに位置する高スコア画素Pwおよび低スコア画素Pbの中間位置での所定の閾値を、これら両画素の輝度値の平均値に等しくする設定を、X方向およびY方向について実施することで、所定の閾値がブロックごとに複数箇所設定されると、上記対象画像Poを構成する各画素が、設定された複数箇所の閾値に基づいて、明色領域および暗色領域のいずれかに区分けされる。
このように設定される複数箇所の閾値は、周囲の画素のうち信頼性が高い高スコア画素Pwおよび低スコア画素Pbの明暗が上記中間位置ごとに反映されて設定されるので、上記対象画像Po内での照度ムラ等の影響が緩和されて、複数箇所の閾値を高精度に設定することができる。
したがって、上述のように設定された複数箇所の閾値に基づいて、コード画像の各画素をそれぞれ明色領域および暗色領域のいずれかに区分けすることで、撮像した情報コードを複雑な処理を行うことなく高精度に二値化することができる。
また、本実施形態では、近くに位置する高スコア画素Pwおよび低スコア画素Pbの中間位置での所定の閾値を、これら両画素の輝度値の平均値に等しくする設定を、X方向およびY方向、すなわち、複数の高スコア画素Pwおよび複数の低スコア画素Pbの全ての画素について実施することで、所定の閾値が複数箇所設定される。これにより、設定される閾値の数が多くなるので、二値化に関する精度をさらに向上させることができる。
なお、近くに位置する高スコア画素Pwおよび低スコア画素Pbの中間位置での所定の閾値を、これら両画素の輝度値の平均値に等しくする設定を、例えば、X方向のみまたはY方向のみなど、少なくとも高信頼度画素のうちの一部について実施することで、所定の閾値を複数箇所設定してもよい。これにより、設定される閾値の数を適度に限定して二値化に関する処理負荷を軽減することができる。
また、高スコア画素Pwを基準に二値化基準点を設定してもよい。すなわち、高スコア画素Pwとこの高スコア画素PwからX方向にて最も近くに位置する低スコア画素Pbとの中間に位置する辺をX方向のエッジExとして算出し、高スコア画素Pwとこの高スコア画素PwからY方向にて最も近くに位置する低スコア画素Pbとの中間に位置する辺をY方向のエッジEyとして算出して、二値化基準点を設定することができる。
また、低スコア画素Pbを基準に二値化基準点を設定してもよい。すなわち、低スコア画素Pbとこの低スコア画素PbからX方向にて最も近くに位置する高スコア画素Pwとの中間に位置する辺をX方向のエッジExとして算出し、低スコア画素Pbとこの低スコア画素PbからY方向にて最も近くに位置する高スコア画素Pwとの中間に位置する辺をY方向のエッジEyとして算出して、二値化基準点を設定することができる。
このようにしても、設定される閾値の数を適度に限定して二値化に関する処理負荷を軽減することができる。
さらに、本実施形態では、高スコア画素Pwおよび低スコア画素Pbの中間位置とその位置に設定される閾値とを関連付けた閾値マップが作成され、上記対象画像Poを構成する各画素が、上記閾値マップに基づいて、明色領域および暗色領域のいずれかに区分けされる。このように作成される閾値マップに基づいて、区分けすべき画素の位置から区分けに用いる閾値が採用されるので、多くの閾値が様々な位置に設定される場合でも、上記対象画像Poを構成する各画素を容易に明色領域および暗色領域のいずれかに区分けすることができる。
なお、上述したステップS217に示す閾値マップ作成処理では、二値化基準点に基づいて、複数の分割エリアを設定して上述した2倍精度のブロックごとに閾値を設定することに限らず、当該二値化処理における閾値の設定精度をさらに向上させるために、さらに小さなブロック(例えば、112×112のブロック)を設定しこのブロックごとに閾値を設定して閾値マップを作成してもよいし、対象画像Poを構成する各画素ごとに閾値を設定して閾値マップを作成してもよい。
また、当該閾値マップ作成処理では、上述のようにエッジExおよびエッジEyや式(5)からブロックごとに閾値が求められると、全体の二値化結果を安定させるために、各閾値を、複数のブロック単位で移動平均等により平滑化してもよい。
また、上述したステップS219に示す区分処理では、対象画素の輝度値と上述のようにブロック単位で設定された閾値とを比較して区分することに限らず、高精度な閾値を算出するために、対象画素が属するブロックの閾値と当該対象画素の近くに位置する3ブロックの閾値とで4点線形補間を実施することで閾値を算出して、この算出した閾値と対象画素の輝度値とを比較して区分してもよい。
また、閾値マップを作成することなく、上述したステップS219に示す区分処理を実行する際に、対象画素の近くに位置する1または2以上の二値化基準点に基づいて閾値を設定し、この閾値に基づいて区分してもよい。このとき、対象画素の近くに位置する2以上の二値化基準点に基づいて閾値を設定することで、対象画素の近くに位置する1の二値化基準点に基づいて閾値を設定する場合と比較して、二値化に関する精度を向上させることができる。
また、ステップS201に示す低解像度画像生成処理では、コード画像を含めた対象画像Poについて低解像度画像を生成することに限らず、コード画像を事前に抽出し、このように抽出されたコード画像のみに対して、当該コード画像よりも低い解像度の画素から構成される低解像度画像を生成してもよい。これにより、デコードに必要な画像、すなわちコード画像に限定されて二値化がなされるので、二値化に関する処理負荷を軽減することができる。
[第2実施形態]
次に、本発明の第2実施形態に係る光学的情報読取装置について図16を参照して説明する。図16は、第2実施形態における二値化処理のサブルーチンを例示するフローチャートである。
本第2実施形態に係る光学的情報読取装置10では、二値化に関する精度をさらに向上させるため、上述した二値化処理のサブルーチンについて図3に示すフローチャートに代えて図16に示すフローチャートに基づいて演算処理している点が、上記第1実施形態に係る光学的情報読取装置と主に異なる。
本第2実施形態では、上述した二値化処理のサブルーチンにおいて、二値化に関する精度をさらに向上させるため、総スコア値を算出する際に、それぞれ囲う画素の数が異なる2種以上のスコア算出枠Sk、例えば3×3の枠や7×7の枠などを採用し、それぞれのスコア算出枠Skを移動させて、総スコア値をそれぞれ算出する。
以下、本第2実施形態における二値化処理のサブルーチンについて、図16に示すフローチャートを用いて詳細に説明する。
上述した第1実施形態の二値化処理のサブルーチンと同様にステップS203に示す輝度値測定処理がなされると、図16のステップS301に示すようにスコア算出枠のサイズを示すkがk=3に設定される。続いて、ステップS303に示すスコア算出枠設定処理がなされ、k=3に設定されていることから、3×3のスコア算出枠Skが設定される。
このようにスコア算出枠Sk(3×3)が設定されると、上述したステップS207に示すスコア値加算処理がなされ、移動終了となるまで、明色領域である可能性が高い画素に対して一定のスコア値が加算される。そして、スコア算出枠Sk(3×3)に関して低解像度画像Paの右下まで移動したことからステップS209にてYesと判定されると、ステップS305に示す判定処理にて、スコア算出枠のサイズを示すkがnに等しいか否かについて判定される。
ここで、nは、総スコア値を算出するために採用されるスコア算出枠Skの種類数を設定するための値であり、例えば、n=5に設定されている。このように、n=5に設定されることで、本二値化処理では、スコア算出枠Skとして、3×3、4×4、5×5の3種類のスコア算出枠Skを用いて、明色領域である可能性が高い画素に対して一定のスコア値が加算されることとなる。
上述のようにk=3に設定されていることから、ステップS305にてNoと判定されると、ステップS307に示すようにkに1が加算されてk=4となり、上述したステップS303に示すスコア算出枠設定処理がなされ、4×4のスコア算出枠Skが設定される。このようにスコア算出枠Sk(4×4)が設定されると、再びステップS207に示すスコア値加算処理がなされ、移動終了となるまで、明色領域である可能性が高い画素に対して一定のスコア値が加算される。そして、スコア算出枠Sk(4×4)に関して低解像度画像Paの右下まで移動したことからステップS209にてYesと判定され、k=4であることからステップS305にてNoと判定されると、ステップS307に示すようにkに1が加算されてk=5となり、上述したステップS303に示すスコア算出枠設定処理がなされ、5×5のスコア算出枠Skが設定される。このようにスコア算出枠Sk(5×5)が設定されると、再びステップS207に示すスコア値加算処理がなされ、移動終了となるまで、明色領域である可能性が高い画素に対して一定のスコア値が加算される。
そして、スコア算出枠Sk(5×5)に関して低解像度画像Paの右下まで移動したことからステップS209にてYesと判定され、k=5であることからステップS305にてYesと判定されると、上述したステップS213以降の処理がなされる。すなわち、本二値化処理では、3種類のスコア算出枠Sk(3×3、4×4、5×5)を用いて、明色領域である可能性が高い画素に対して一定のスコア値が加算されて総スコア値が算出されることとなる。なお、上述のように3種類のスコア算出枠Sk(3×3、4×4、5×5)を用いる場合には、総スコア値の最大値は、50(=9+16+25)に設定される。
以上説明したように、本実施形態に係る光学的情報読取装置10では、それぞれ囲う画素の数が異なる2種以上のスコア算出枠Skを用いて総スコア値をそれぞれ算出するため、1つのスコア算出枠Sのみを移動させてスコア値を加算する場合と比較して、周囲の画素の明暗がより反映されて各閾値が設定されるので、二値化に関する精度をさらに向上させることができる。
なお、スコア算出枠Skは、3×3、4×4、5×5の3種類を採用することに限らず、nを適宜設定することで、複数種類のスコア算出枠Skを採用することができる。また、正方形状の枠として設定されてもよいし、例えば、5×7の枠などのように長方形状の枠として設定されてもよい。
また、上述のように2種以上のスコア算出枠Skが設定される場合には、これら各スコア算出枠Skをそれぞれ移動させたとき、これらスコア算出枠Sk内の中央に位置する1または2以上の一部の画素のみをスコア値加算対象とし、当該一部の画素のうち枠内平均値を基準に一方の領域に判定される画素に対して一定のスコア値を加算して、総スコア値を算出してもよい。すなわち、移動先のスコア算出枠Sk内の全ての画素にスコア値を加算することなく中央に位置する1または2以上の画素にのみスコア値を加算するようにしてもよい。このように、中央に位置する画素にのみスコア値を加算することで、その画素とスコア算出枠Sとの位置関係が一定に保たれやすくなり、周囲の画素の明暗をより正確に反映した閾値を設定することができる。
なお、本発明は上記各実施形態および変形例などに限定されるものではなく、以下のように具体化してもよい。
(1)上述したステップS211に示すスコア算出枠移動処理では、スコア算出枠S,Skが1画素分だけ移動するように設定されることに限らず、低解像度画像Pa内を満遍なく移動することを前提に、例えば、2画素分だけ移動するように設定されてもよいし、所定方向に所定画素分だけ移動するように設定されてもよし、ランダムに移動するように設定されてもよい。
(2)スコア算出枠S,Sk内に位置する各画素の輝度値の枠内平均値は、上述したように相加平均により算出されることに限らず、例えば、中央ほど重みをつけて枠内平均値を算出してもよい。
(3)上述したステップS213に示す高信頼度画素設定処理では、総スコア値が18以上である画素を高スコア画素Pwと設定することに限らず、予め設定される所定の閾値以上である画素を高スコア画素Pwと設定することができる。この所定の閾値は、撮像された対象画像Poの撮像状況等に応じて設定されるように構成されてもよい。また、高信頼度画素設定処理では、総スコア値が7以下である画素を低スコア画素Pbと設定することに限らず、予め設定される所定の閾値以上である画素を低スコア画素Pbと設定することができ、この所定の閾値は、撮像された対象画像Poの撮像状況等に応じて設定されるように構成されてもよい。
10…光学的情報読取装置
28…受光センサ(撮像手段)
40…制御回路(二値化手段,デコード手段,低解像度画像生成手段,輝度値測定手段,総スコア値算出手段,閾値設定手段,区分手段)
C…情報コード
Pa…低解像度画像
Po…対象画像
Pw…高スコア画素
Pb…低スコア画素
Px…低信頼度画素
S,Sk…スコア算出枠

Claims (7)

  1. 複数の明色パターンおよび暗色パターンが配列されてなる情報コードを撮像する撮像手段と、
    前記撮像手段によって撮像された撮像画像に対して所定の閾値と比較することで、当該撮像画像を構成する各画素を明色領域および暗色領域のいずれかに区分け可能な二値化手段と、
    前記二値化手段により区分けされた複数の前記明色領域および前記暗色領域のうち前記情報コードに対応するコード画像を構成する前記明色領域および前記暗色領域の配列に基づいて、当該情報コードをデコードするデコード手段と、
    を備える光学的情報読取装置であって、
    前記二値化手段は、
    前記撮像手段によって撮像された撮像画像のうち少なくとも前記コード画像が含まれる対象画像に対して、当該対象画像よりも低い解像度の画素から構成される低解像度画像を生成する低解像度画像生成手段と、
    前記低解像度画像を構成する各画素の輝度値をそれぞれ測定する輝度値測定手段と、
    前記低解像度画像を構成する各画素のうち所定数を囲うスコア算出枠を設定し、このスコア算出枠を所定画素ずつ移動させてその移動ごとに当該スコア算出枠内に位置する各画素の輝度値の枠内平均値を算出し、このスコア算出枠内に位置する各画素のうち前記枠内平均値を基準に、前記明色領域および前記暗色領域のいずれか一方の領域に判定される画素に対して一定のスコア値を加算し他方の領域に判定される画素に対して前記一定のスコア値を加算しないことで、前記低解像度画像を構成する全ての画素にて総スコア値をそれぞれ算出する総スコア値算出手段と、
    前記一方の領域とみなされる程度に前記総スコア値が高い高スコア画素とこの画素の近くに位置し前記他方の領域とみなされる程度に前記総スコア値が低い低スコア画素との中間位置での前記所定の閾値を、これら両画素の輝度値の平均値に等しくする設定を、少なくとも複数箇所の前記高スコア画素のうちの一部について実施することで、前記所定の閾値を複数箇所設定する閾値設定手段と、
    前記対象画像を構成する各画素を、前記閾値設定手段により設定された前記複数箇所の閾値に基づいて、前記明色領域および前記暗色領域のいずれかに区分けする区分手段と、
    を備えることを特徴とする光学的情報読取装置。
  2. 前記総スコア値算出手段は、前記所定数を囲うスコア算出枠を含めてそれぞれ囲う画素の数が異なる2種以上のスコア算出枠を設定し、これら各スコア算出枠をそれぞれ移動させて当該各スコア算出枠内に位置する各画素のうち前記一方の領域に判定される画素に対して前記一定のスコア値を加算することで、前記低解像度画像を構成する全ての画素にて前記総スコア値をそれぞれ算出することを特徴とする請求項1に記載の光学的情報読取装置。
  3. 前記総スコア値算出手段は、前記2種以上のスコア算出枠を設定し、これら各スコア算出枠をそれぞれ移動させて、これらスコア算出枠内の中央に位置する1または2以上の画素のうち前記枠内平均値を基準に前記一方の領域に判定される画素に対して一定のスコア値を加算することで、前記低解像度画像を構成する全ての画素にて前記総スコア値をそれぞれ算出することを特徴とする請求項2に記載の光学的情報読取装置。
  4. 前記閾値設定手段は、前記高スコア画素および前記低スコア画素の位置と輝度値とに基づいて前記所定の閾値を求めるための二値化基準点を設定し、
    前記区分手段は、前記対象画像を構成する各画素を、当該対象画素の近くに位置する2以上の前記二値化基準点に基づいて設定される閾値に基づいて、前記明色領域および前記暗色領域のいずれかに区分けすることを特徴とする請求項1〜3のいずれか一項に記載の光学的情報読取装置。
  5. 前記閾値設定手段は、前記高スコア画素とこの画素の近くに位置する前記低スコア画素との中間位置での前記所定の閾値を、これら両画素の輝度値の平均値に等しくする設定を、全ての前記高スコア画素および全ての前記低スコア画素について実施することで、前記所定の閾値を複数箇所設定することを特徴とする請求項1〜4のいずれか一項に記載の光学的情報読取装置。
  6. 前記閾値設定手段は、前記高スコア画素とこの画素に対して所定の方向にて近くに位置する前記低スコア画素との中間位置での前記所定の閾値を、これら両画素の輝度値の平均値に等しくする設定を、少なくとも複数の前記総スコア値が高い画素のうちの一部について実施することで、前記所定の閾値を複数箇所設定することを特徴とする請求項1〜4のいずれか一項に記載の光学的情報読取装置。
  7. 前記閾値設定手段は、前記中間位置とその位置に設定される閾値とを関連付けた閾値マップを作成し、
    前記区分手段は、前記対象画像を構成する各画素を、前記閾値設定手段により設定された前記閾値マップに基づいて、前記明色領域および前記暗色領域のいずれかに区分けすることを特徴とする請求項1〜6のいずれか一項に記載の光学的情報読取装置。
JP2011205026A 2011-09-20 2011-09-20 光学的情報読取装置 Active JP5660465B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011205026A JP5660465B2 (ja) 2011-09-20 2011-09-20 光学的情報読取装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011205026A JP5660465B2 (ja) 2011-09-20 2011-09-20 光学的情報読取装置

Publications (2)

Publication Number Publication Date
JP2013068980A JP2013068980A (ja) 2013-04-18
JP5660465B2 true JP5660465B2 (ja) 2015-01-28

Family

ID=48474663

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011205026A Active JP5660465B2 (ja) 2011-09-20 2011-09-20 光学的情報読取装置

Country Status (1)

Country Link
JP (1) JP5660465B2 (ja)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3499913B2 (ja) * 1994-03-16 2004-02-23 ペンタックス株式会社 データシンボル読み取り装置
US6575367B1 (en) * 1998-11-05 2003-06-10 Welch Allyn Data Collection, Inc. Image data binarization methods enabling optical reader to read fine print indicia
JP2003337941A (ja) * 2002-05-20 2003-11-28 Matsushita Electric Ind Co Ltd 画像認識装置と画像認識方法とプログラム
JP5379626B2 (ja) * 2009-09-29 2013-12-25 日本電産サンキョー株式会社 スタック型バーコード情報読取方法及びスタック型バーコード情報読取装置

Also Published As

Publication number Publication date
JP2013068980A (ja) 2013-04-18

Similar Documents

Publication Publication Date Title
US8964189B2 (en) Three-dimensional measurement apparatus, method for three-dimensional measurement, and computer program
US7481369B2 (en) Method and apparatus for optically picking up an image of an information code
JP6667065B2 (ja) 位置推定装置および位置推定方法
JP6115214B2 (ja) パターン処理装置、パターン処理方法、パターン処理プログラム
CN108351955B (zh) 具有测距仪的紧凑型成像模块
JP7062722B2 (ja) 光学コードのモジュールサイズの特定
JP6055228B2 (ja) 形状計測装置
JP2016180708A (ja) 距離計測装置、距離計測方法、およびプログラム
CN107003255B (zh) 在基板上形成的部件的端子检查方法及基板检查装置
JP2007316019A (ja) 表面欠陥検査装置
JP5036637B2 (ja) 凹凸文字抽出のための画像処理方法及び画像処理装置
JP5660465B2 (ja) 光学的情報読取装置
JP5264956B2 (ja) 2次元コード読取装置及びその方法
US10650205B2 (en) Methods, systems, and apparatuses for scanning and decoding direct part marking indicia
JP4749382B2 (ja) 2次元コード読取装置及びその方法
WO2022254854A1 (ja) 3次元計測装置
JP4728297B2 (ja) 2次元コード読取装置及びその方法
JP5427828B2 (ja) 2次元コード読取装置及びその方法
EP3062516B1 (en) Parallax image generation system, picking system, parallax image generation method, and computer-readable recording medium
JP5183612B2 (ja) シンボル認識装置及びその制御プログラム
JP2008305058A (ja) コード読取装置及び方法
JP4447464B2 (ja) 皮膚紋様の画像中の関心のある領域の決定方法
JP2018136854A (ja) 光学的情報読取装置
JP2007226328A (ja) バーコード認識装置,及び,バーコード認識方法
JP5380613B2 (ja) シンボル認識装置及びその制御プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140121

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140728

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140808

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140909

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: 20141107

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141120

R150 Certificate of patent or registration of utility model

Ref document number: 5660465

Country of ref document: JP

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