JP2012194831A - コード読取装置、コード読取方法およびコード読取プログラム - Google Patents

コード読取装置、コード読取方法およびコード読取プログラム Download PDF

Info

Publication number
JP2012194831A
JP2012194831A JP2011058917A JP2011058917A JP2012194831A JP 2012194831 A JP2012194831 A JP 2012194831A JP 2011058917 A JP2011058917 A JP 2011058917A JP 2011058917 A JP2011058917 A JP 2011058917A JP 2012194831 A JP2012194831 A JP 2012194831A
Authority
JP
Japan
Prior art keywords
position detection
code
detection pattern
image data
pattern
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
Application number
JP2011058917A
Other languages
English (en)
Other versions
JP5673257B2 (ja
Inventor
Tatsufusa Nakahara
達聡 中原
Yoshinori Ueno
義則 植野
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2011058917A priority Critical patent/JP5673257B2/ja
Publication of JP2012194831A publication Critical patent/JP2012194831A/ja
Application granted granted Critical
Publication of JP5673257B2 publication Critical patent/JP5673257B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Editing Of Facsimile Originals (AREA)

Abstract

【課題】コードの誤検出を低減し、コードをより正確に認識できるコード読取装置を提供する。
【解決手段】コード読取装置1000は、画像取得部10と、位置検出用パターン検出部20と、位置検出用パターン差し替え部30とを含む。画像取得部10は、バーコード500を撮像して得られる画像データを取得する。位置検出用パターン検出部20は、画像取得部10により取得された画像データvdに基づいて、位置検出用パターンの位置および大きさを検出する。そして、位置検出用パターン差し替え部30は、位置検出用パターン検出部20により検出される位置検出用パターンの位置および大きさに基づいて、画像データvd中の位置検出用パターンを、所定のコントラスト比以上の位置検出用パターンである基準パターンに差し替える。
【選択図】図1

Description

本発明は、例えば、位置検出用パターンを含むコードを読み取るコード読取装置、コード読取方法およびコード読取プログラムに関する。
近年、バーコードは広く世の中で活用されている。その中でも2次元バーコードは、特に情報量が多いため、幅広く利用されている。
2次元バーコードの活用例として、例えば、基板などの製品情報(例えば、製品の種類、シリアルナンバー)を2次元バーコードに変換して、当該2次元バーコードを基板などの製品に取り付けられることが行われている。そして、製品の撮像画像の中から2次元バーコードを認識できれば、当該製品の各種情報を取得できる。
なお、参考技術として、例えば、特許文献1〜3には、QRコード(登録商標)などの2次元バーコードを読み取るための技術が開示されている。また、特許文献4には、画像データ中の領域内の画素の濃度を2値化する技術が開示されている。
特開2004−54529号公報 特開2004−70900号公報 特開2007−213359号公報 特開平10−285399号公報
しかしながら、2次元バーコードなどのコードを撮像する環境によっては、コードが撮像画像の中で必ずしも鮮明に写っているとは限らない。また、例えば、コードが基板などの製品にレーザにより刻印されている場合、コードを照射する照明によっては、製品とバーコードとの間のコントラストが小さく、コードを認識できないことがある。
本発明は、このような事情を鑑みてなされたものであり、コードの誤検出を低減し、コードを正確に認識することができる技術を提供する。
本発明のコード読取装置は、位置検出用パターンを含むコードを読み取るコード読取装置であって、前記コードを撮像して得られる画像データを取得する画像取得部と、前記画像取得部により取得された前記画像データに基づいて、前記位置検出用パターンの位置および大きさを検出する位置検出用パターン検出部と、前記位置検出用パターン検出部により検出される前記位置検出用パターンの位置および大きさに基づいて、前記画像データ中の前記位置検出用パターンを、所定のコントラスト比以上の位置検出用パターンである基準パターンに差し替える位置検出用パターン差し替え部とを備えている。
また、本発明のコード読取方法は、位置検出用パターンを含むコードを読み取るコード読取方法であって、前記コードを撮像して得られる画像データを生成するステップと、
前記画像データに基づいて、前記位置検出用パターンの位置および大きさを検出するステップと、前記位置検出用パターンの位置および大きさに基づいて、前記画像データ中の前記位置検出用パターンを、所定のコントラスト比以上の位置検出用パターンである基準パターンに差し替えるステップを含んでいる。
本発明にかかる技術によれば、コードの誤検出を低減し、コードを正確に認識することができる。
本発明の実施の形態にかかるコード読取装置および周辺装置の構成を示す図である。 QRコードの具体例を示す図である。 位置検出用パターンの構成を示す図である。 位置検出用パターンのテンプレート画像を示す図である。 画像データ中のバーコードの領域を検出する方法を説明するための図である。 バーコードの復号処理を説明するための図である。 本発明の第1の実施の形態にかかるコード読取装置の動作フローを示す図である。 画像データのバーコードの領域に含まれる画素の濃度分布を示すヒストグラムの一例を示す図である。 2値化を実行する前後のバーコードの画像の一例を示す図である。 位置検出用パターンを基準パターンに差し替える前後のバーコードの画像の一例を示す図である。 本発明の第1の実施の形態にかかるコード読取装置の動作フローの変形例のフローを示す図である。 本発明の第2の実施の形態にかかるコード読取装置および周辺装置を示す図である。 本発明の第2の実施の形態にかかるコード読取装置の動作フローを示す図である。
<第1の実施の形態>
図1は、本発明の第1の実施の形態にかかるコード読取装置および周辺装置の構成を示す。図1に示されるように、コード読取装置1000には、カメラ200および表示装置300が接続されている。図1では、コード読取装置1000が基板600の上に取り付けられたバーコード500を読み取る場合を例示している。また、バーコード500には、照明装置400により光が照射されている。
コード読取装置1000は、位置検出用パターンを含むコード(例えば、QRコードなどの2次元バーコード)を読み取る。カメラ200は、コードを撮像して画像データvdを生成し、当該画像データvdをコード読取装置1000へ出力する。なお、コード読取装置1000の各構成の説明は、表示装置300、照明装置400および基板600
表示装置300は、コード読取装置1000から出力されるデータを表示する。表示装置300の例として、例えば液晶表示装置や、有機EL表示装置などが挙げられる。照明装置400には、例えばLED(Light Emitting Diode)やハロゲンランプなどが用いられる。
バーコード500は、少なくとも位置検出用パターンを含むコードである。本実施の形態では、2次元バーコードの一例であるQRコードとする。ただし、バーコード500は、少なくとも位置検出用パターンを含むコードであればよく、QRコードに限定されない。また、バーコード500は、1次元バーコードであっても、2次元バーコードであってもよい。
また、バーコード500は、基板600上にレーザなどにより刻印されているものとする。ただし、バーコード500は刻印により形成されることに限定されない。すなわち、例えば、バーコード500を紙に印刷して、この紙を基板600上に貼り付けてもよい。また、バーコード500の取り付けの対象は、基板600以外であってもよい。
ここで、バーコード500の具体例としてQRコードについて説明する。図2は、QRコードの具体例を示す。図2(a)はQRコードの一例を示す。図2(b)はQRコードの一部のパターンを抜き出した図である。
図2(a)に示されるように、バーコード500は、例えばQRコードである。QRコードは、縦横に複数の情報を有する2次元バーコードである。QRコードは、1次元バーコードと比較して、記録できる情報量は多く、数字だけでなく、英字や漢字などの多言語の情報も格納できる。QRコードは、日本工業規格(JIS X 0510)やISO規格(ISO/IEC 18004)に登録されている。
図2(b)に示されるように、バーコード500は、位置検出用パターン510、タイミングパターン520およびデータセル530を含んで構成されている。
位置検出用パターン510は、パターン500の3つの隅(図2(b)では、左上、左下および右上)に配置されている。3つの位置検出用パターン510の位置や大きさを検出することにより、基板600に対するパターン500の位置および回転などを知ることができる。
図3は、位置検出用パターン510の構成を示す。図3(a)は位置検出用パターン510の拡大図である。図3(b)は位置検出用パターン510のA線、B線およびC線に沿って走査して得られたバイナリパターンを示す。
図3(a)に示されるように、位置検出用パターン510は、中心に設けられた黒色の四角形511と、この黒色の四角形を囲む白色の正方形の枠512と、この白色の四角形の枠をさらに囲む黒色の四角形の枠513により構成されている。図3(a)に示される中央の黒色の四角形511のうち、互いに対向する辺を交差する線のすべては、四角形および四角形の枠により5つのセクションに切り分けられる。そして、これら5つのセクションの各比率は、1:1:3:1:1となる。図3(a)に、中央の黒色の四角形511のうち、互いに対向する辺に交差する典型的なA線、B線およびC線を示す。これらA線、B線およびC線に沿って位置決めシンボルを走査することにより、図3(b)に示される波形が得られる。図3(b)に示されるように、A線、B線およびC線のいずれにおいても、前記5つのセクションの各比率は、1:1:3:1:1となる。
図2(b)に戻って、タイミングパターン520は、3つの位置検出用パターン510の間をそれぞれ結ぶ直線状のパターンである。タイミングパターン520では、明モジュールと暗モジュールとが1モジュールごとに交互に配列されている。このタイミングパターン520を読み取ることにより、QRコードの大きさ(具体的にはQRコードの型番)を識別することができる。
データセル530は、データを書き込むための領域である。このデータセル530には、基板500などの製品情報(例えば、製品の種類、シリアルナンバー)など、文字、記号の組合せで構成された具体的な情報が書き込まれる。データセル530は、位置検出用パターン510やタイミングパターン520などの機能的なパターン以外の領域に形成される。
図1に戻って、コード読取装置1000は、画像取得部10と、位置検出用パターン検出20と、位置検出用パターン差し替え部30と、基準パターン格納部40と、2値化閾値設定部50と、2値化実行部60と、コード領域検出部70と、復号部80と、出力部90と、制御部110とを含んで構成されている。
画像取得部10は、カメラ200により入力される画像データvdを取得する。位置検出用パターン検出部30は、画像取得部10により取得された画像データvdに基づいて、バーコード500の位置検出用パターン510の位置および大きさを検出する。
位置検出用パターン510の検出方法としては、例えば、図4に示されるような位置検出用パターンのテンプレート画像510aを用いる方法などがある。この方法では、まず、テンプレート画像510aを準備して、画像データに対してテンプレートマッチングなどを行い、位置検出用パターンを検出する。そして、バーコード500内の位置検出用パターン510とテンプレート画像510aとの間の相関値が閾値以上になる座標情報の集合を求めて、位置検出用パターン510を検出する。
また、画像データvd中のバーコード500内の位置検出用パターン510の大きさがテンプレート画像510aの大きさに対して変化する場合を考慮して、テンプレート画像510aを一定の倍率の範囲内で変更させながら、前記相関値が閾値以上になる座標情報の集合を求めて、位置検出用パターン510を検出することもできる。逆に、画像データvdを一定の倍率の範囲内で変更させながら、前記相関値が閾値以上になる座標情報の集合を求めて、位置検出用パターン510を検出することもできる。
位置検出用パターン510の検出方法のその他の方法として、位置検出用パターン510がバーコード500中の3箇所の隅に配置されていることを利用して、位置検出用パターンが3つの隅に配置された四角形の画像をパターンマッチングのテンプレート画像に利用することができる。なお、バーコード500内における位置検出用パターン510の座標情報は、位置検出用パターン510の中心座標を利用してもよいし、位置検出用パターン510の4つの角のいずれかの座標を利用してもよい。また、画像データvdの中から、例えば、図2(a)に示したX方向およびY方向に走査した結果、X方向およびY方向の双方において、高い濃度と低い濃度の比率が1:1:3:1:1に近くなる座標を検出して、この座標を位置検出用パターン510の中心座標に設定してもよい。さらに、位置検出用パターン510は、その中央に黒色の四角形511が配置されているので(図3(a)を参照)、この黒色の四角形511を検出して、当該黒色の四角形511の中央を位置検出用パターン510の中心座標に設定してもよい。
位置検出用パターン差し替え部30は、位置検出用パターン検出部20により検出される位置検出用パターン510の位置および大きさに基づいて、画像データvd中の位置検出用パターン510を、基準パターンに差し替える。ここで、前記基準パターンとは、一定のコントラスト比(例えば、位置検出用パターン510のうち、最も明るい部分<白モジュール>と、最も暗い部分<黒モジュール>の輝度の比)以上の位置検出用パターンである。基準パターンはコントラスト比が高いので、当該パターン中の白モジュールと黒モジュールとの間の明暗がはっきりする。したがって、コード読取装置1000は、差し替え後の基準パターンを用いることにより、コントラスト比が一定以上のパターンを基準に復号することができる。この結果、コードの誤検出を低減し、コードを正確に認識することができる。なお、この基準パターンは、基準パターン格納部40に予め格納されている。
2値化閾値設定部50は、後述の2値化実行部60が実行する2値化に用いる閾値を設定する。この閾値は、画像データ中の各画素を黒画素または白画素に変換するための濃度基準値である。
2値化実行部60は、画像データvdのうち、少なくともバーコード500の領域に対して、2値化閾値設定部50により設定される閾値に基づいて、当該画像データvd中の各画素の濃度の2値化を実行する。
コード領域検出部70は、位置検出用パターン検出部10により検出される位置検出用パターン510の位置および大きさに基づいて、画像データvd中のバーコード500の領域を検出する。図5は、画像データ中のバーコードの領域を検出する方法を説明するための図である。図5に示されるように、コード領域検出部70は、位置検出用パターン510の中心座標と、位置検出用パターン510の対角線の長さとの関係から、画像データ中のバーコード500の領域を検出する。すなわち、まず、コード領域検出部70は、位置検出用パターン検出部10の検出結果に基づいて、画像データvd中のバーコード500に含まれる3つの位置検出用パターン510のうち、左下と右下の位置検出用パターン510の各中心座標P1、P2を特定する。次に、コード領域検出部70は、位置検出用パターン検出部10の検出結果に基づいて、各位置検出用パターン510の対角線の長さQ1、Q2を算出する。次に、コード領域検出部70は、位置検出用パターン検出部10の検出結果に基づいて、座標P1、P2から、バーコード500の中心から離れる方向であるR1、R2の方向に、Q1、Q2の半分の長さ分だけ移動した座標S1、S2を算出する。なお、座標S1は、左下の位置検出用パターン510の左下隅の点であり、かつ、バーコード500の左下隅の点である。座標S2は、右上の位置検出用パターン510の右上隅の点であり、かつ、バーコード500の右上隅の点である。最後に、コード領域検出部70は、S1、S2を対角線の両端とする正方形の領域をバーコード500の領域として検出する。
復号部80は、画像データvd中のバーコード500を復号する。具体的には、復号部80は、画像データvd中のバーコード500のうち、データセル530の白画素および黒画素を「1」、「0」のバイナリ変換を行い、バイナリ変換後の文字列を復号する。このとき、復号部80は、位置検出用パターン差し替え部30により差し替えられた基準パターンの位置および大きさを検出し、この検出結果に基づいてバーコード500の領域を認識した後に、バーコード500を復号する。
図6は、バーコードの復号処理を説明するための図である。図6(a)は、バーコード500中の冗長コード書き込み領域Vと情報コード書き込み領域Wの一例を示す。図6(b)は、図6(a)の冗長コード書き込み領域Vおよび情報コード書き込み領域Wに対してバイナリ変換を行った結果を示す。
図6(a)に示されるように、バーコード500のデータセル530内には、冗長コードが書き込まれた領域である冗長コード書き込み領域Vと、情報コードが書き込まれた領域である情報コード書き込み領域Wが存在する。復号部80が、領域V、W内の各画素に対してバイナリ変換を行うと、図6(b)に示されるように、冗長コードV1および情報コードW1からなるバイナリ変換データが生成される。そして、復号部80がバイナリ変換データを復号すると、例えば、基板600などの製品情報(例えば、製品の種類、シリアルナンバー)を文字列で得ることができる。このように、バイナリ変換データに冗長コードを含ませたことにより、バイナリ変換データ中にビット(bit)誤りがあったとしても、復号部80はバーコード500を正しく復号することができる。
出力部90は、復号部80により復号されたバーコード500の情報を出力する。制御部110は、コード読取装置1000全体を制御する。制御部110は、コード読取装置1000内の各部10〜90との間で信号のやりとりを行い、各部10〜90に対して処理の実行などの指示を行う。
次に、本発明の第1の実施の形態にかかるコード読取装置1000の動作について説明する。図7は、コード読取装置1000の動作フローを示す。
図7に示されるように、まず、画像取得部10が画像データvdを取得する(S701)。ここでは、画像データvdは、カメラ200により撮像して得られたデータとする。カメラ200による撮像時には、例えば、図1に示されるように、照明装置400の光を斜め方向からバーコード500に照射する。特に、バーコード500が基板600上に刻印されている場合、真上からでなく、斜め方向からバーコード500に光を照らすことにより、基板600からの反射光が散乱するので、画像データvdのコントラスト比を効果的に高めることができる。
次に、位置検出用パターン検出部20が、画像データvdに基づいて、バーコード500の位置検出用パターン510の位置および大きさを検出する(S702)。そして、コード領域検出部70が、位置検出用パターン検出部10により検出される位置検出用パターン510の位置および大きさに基づいて、画像データvd中のバーコード500の領域を検出する(S703)。
次に、2値化閾値設定部50が、2値化実行部60が実行する2値化に用いる閾値を設定する(S704)。具体的には、2値化閾値設定部50は、まず、画像データvdのバーコード500の領域に含まれる画素の濃度分布を示すヒストグラムを生成する。
図8は、画像データvdのバーコード500の領域に含まれる画素の濃度分布を示すヒストグラムの一例を示す。図8では、画素の濃淡値(諧調)を0〜255の1バイトの数値で表現している。図8に示される例では、バーコード500の領域内には、レベル約100およびレベル約200の濃淡値の画素がもっとも多い。なお、画像データvdがカラーの場合には、R(Red)、G(Green)およびB(Blue)の各画素値の平均値を濃淡値に用いてもよい。2値化閾値設定部50は、生成したヒストグラムに基づいて、2値化閾値を設定する。なお、2値化閾値は、前述の通り、バーコード500の領域内の各画素を、黒画素または白画素に変換するための濃度基準値である。例えば、2値化閾値設定部50は、生成したヒストグラムに基づいて、バーコード500の領域における白画素および黒画素の比率がおよそ50:50になるように、2値化閾値を設定する。このように、2値化閾値を設定する際に、バーコード500の領域における白画素および黒画素の比率がおよそ50:50となるようにするのは、一般的なバーコード500内の白領域と黒領域の比率は50±10%になるように設定されていることによる(日本工業規格JIS X0510を参照)。図8で例示した場合には、2値化閾値は濃淡値約150となる。
ここで、S703の処理で、複数のバーコード500が画像データvd中に含まれる場合を想定する。また、ここでは、各バーコード500は3つの位置検出用パターン510を含むものとする。この場合、コード領域検出部70は、図8で例示したヒストグラムを用いて、画像データvd中のバーコード500の領域を検出することができる。
すなわち、コード領域検出部70は、まず、S702で検出した複数の位置検出用パターン510の座標情報から各座標間の距離を算出する。そして、コード領域検出部70は、任意の3つの座標間の距離の和が最小になるとともに、これらの座標の配置が直角を形成する場合がないかを検出する。この条件を満たす場合に、さらに、コード領域検出部70は、当該3つの座標に囲まれた領域内の濃淡値のヒストグラムを作成し、ヒストグラム中に2つのピークが存在するか否かを判断する。そして、コード領域検出部70は、ヒストグラム中に2つのピークが存在する場合に、当該3つの座標が1つの特定のバーコード500の位置検出パターンの位置に対応すると検出する。以降の処理では、コード領域検出部70は、図5を用いて説明した通り、バーコード500の領域を検出する。このように、複数のバーコード500が画像データvd中に含まれる場合であっても、コード領域検出部70は、図8で例示したヒストグラムを用いることで、画像データvd中のバーコード500の領域を検出することができる。
ここで、バーコード500の領域検出において、ヒストグラム中に2つのピークが存在するか否かを判断基準の1つとしている。この判断基準の設定では、一般的なバーコード500では前述したように白領域と黒領域の比率は50±10%になるように設定されている点を利用している。すなわち、任意の3つの座標を囲う領域がバーコード500の内部であれば、ヒストグラム内に2つのピークが必ず存在する。一方、任意の3つの座標を囲う領域がバーコード500の外部であれば、ヒストグラム内にこのような2つのピークは表れない。このような特性を活かせば、複数のバーコード500が画像データvd中に含まれる場合であっても、コード領域検出部70はバーコード500の領域を決定できる。
図7に戻って、次に2値化実行部60が、2値化実行部60は、画像データvdのうち、少なくともバーコード500の領域に対して、2値化閾値設定部50により設定される2値化閾値に基づいて、当該画像データvd中の各画素の濃度の2値化を実行する(S705)。すなわち、図8の例では、2値化実行部60は、2値化閾値である濃淡値150に基づいて、2値化を実行する。より具体的には、2値化実行部60は、濃淡値150未満の画素の全てを濃淡値0に変換し、濃淡値150以上の画素の全てを濃淡値255に変換する。この結果、バーコード500の領域内の各画素の濃淡値が、濃淡値0か濃淡値255のみとなり、2値化前の画像と比較して、黒モジュールと白モジュールの間のコントラスト比を高くすることができる。
図9は、2値化を実行する前後のバーコード500の画像の一例を示す。図9(a)は、2値化前のバーコード500の画像である。図9(b)は、2値化後のバーコード500の画像である。図9(a)および図9(b)に示されるように、明らかに、2値化後の画像の方が、2値化前の画像よりも、黒モジュールと白モジュールの間のコントラスト比が高くなっている。
次に、位置検出用パターン差し替え部30が、画像データvd中の位置検出用パターン510を、基準パターンに差し替える(S706)。具体的には、位置検出用パターン差し替え部30は、位置検出用パターン検出部により検出された位置検出パターン510の位置および大きさに基づいて、位置検出パターン510を、基準パターン格納部40に格納されている基準パターンに差し替える。このとき、位置検出用パターン差し替え部30は、前記位置検出用パターン検出部により検出される前記位置検出用パターンの大きさと、前記基準パターンの大きさとが、ほぼ同一になるように、位置検出用パターンまたは基準パターンを変形してから、前述の差し替え処理を行う。
図10は、位置検出用パターンを基準パターンに差し替える前後のバーコード500の画像の一例を示す。図10(a)は、基準パターンに差し替える前のバーコード500の画像である。図9(b)は、基準パターンに差し替えた後のバーコード500の画像である。図10(a)および図10(b)に示されるように、明らかに、差し替え後の画像の方が、差し替え前の画像よりも、特に位置検出パターンの領域において、黒モジュールと白モジュールの間のコントラスト比が高くなっている。
図7に戻って、復号部80は、画像データvd中のバーコード500を復号する(S707)。そして、出力部90が、復号部80により復号されたバーコード500の情報を表示装置300へ出力する(S708)。表示装置300は、出力部90により出力されたバーコード500の復号情報を表示する。
以上の通り、本発明の第1の実施の形態にかかるコード読取装置およびコード読取方法について説明した。
本発明の第1の実施の形態にかかるコード読取装置1000は、位置検出用パターン510を含むコードを読み取るコード読取装置である。また、コード読取装置1000は、画像取得部10と、位置検出用パターン検出部20と、位置検出用パターン差し替え部30とを含んで構成されている。画像取得部10は、バーコード500を撮像して得られる画像データを取得する。位置検出用パターン検出部20は、画像取得部10により取得された画像データvdに基づいて、位置検出用パターン510の位置および大きさを検出する。そして、位置検出用パターン差し替え部30は、位置検出用パターン検出部20により検出される位置検出用パターン510の位置および大きさに基づいて、画像データvd中の位置検出用パターン510を、所定のコントラスト比以上の位置検出用パターンである基準パターンに差し替える。
以上のように、位置検出用パターン差し替え部30が、位置検出用パターン510の位置および大きさに基づいて、画像データvd中の位置検出用パターン510を、基準パターンに差し替える。基準パターンは一定のコントラスト比以上の位置検出用パターンであるので、白モジュールと黒モジュールとの間の明暗がはっきりする。このように、コード読取装置1000は、差し替え後の基準パターンを用いることにより、コントラスト比が一定以上のパターンを基準にバーコード500を復号することができる。この結果、コードの誤検出を低減し、コードを正確に認識することができる。
また、本発明の第1の実施の形態にかかるコード読取装置1000は、さらに2値化実行部60を備えている。この2値化実行部60は、画像取得部10により取得された前記画像データのうち、少なくともバーコード500の領域に対して、当該画像データ中の各画素の濃度の2値化を実行する。
これにより、2値化前の画像と比較して、バーコード500の領域内の各画素の濃淡をはっきりさせることができ、黒モジュールと白モジュールの間のコントラスト比を高くすることができる。この結果、コード読取装置1000が、黒モジュールと白モジュールの間のコントラスト比が高い画像データを用いて、バーコード500の復号をすることができる。
また、本発明の第1の実施の形態にかかるコード読取装置1000は、さらに2値化閾値設定部50を備えてもよい。この場合、2値化閾値設定部50は、画像取得部10により取得された画像データのバーコード500の領域に含まれる画素の濃度分布を示すヒストグラムに基づいて、黒画素または白画素に変換するための濃度基準値である2値化閾値を設定する。また、2値化実行部60は、2値化閾値設定部50により設定される2値化閾値に基づいて、画像データ中の各画素の濃度の2値化を実行する。
このように、バーコード500の領域に含まれる画素の濃度分布についてヒストグラムを生成し、このヒストグラムを用いて2値化閾値を設定するので、読み取り対象であるバーコード500毎に適正な閾値を設定することができる。また、このような閾値を用いて、2値化実行部60が前記2値化を実行するので、画像データ中のバーコード500の間のコントラスト比をより適正に高くすることができる。この結果、コード読取装置1000が、コントラスト比が高い画像データを用いて、バーコード500の復号をすることができる。
また、本発明の第1の実施の形態にかかるデータ読取装置1000において、2値化閾値設定部50は、バーコード500の領域における白画素および黒画素の比率が所定の範囲に含まれるように、2値化閾値を設定する。
これにより、読み取り対象であるバーコード500毎に、より適正な閾値を所定の範囲内で設定することができる。特に、一般的なバーコード内の白領域と黒領域の比率は50±10%になるように設定されている(日本工業規格JIS X0510を参照)。したがって、この場合には、例えば、バーコード500内の白領域と黒領域の比率が50±10%になるように、2値化閾値を設定すれば、より適正な閾値を設定することができる。
また、本発明の第1の実施の形態にかかるデータ読取装置1000において、位置検出用パターン差替部30は、位置検出用パターン検出部20により検出される位置検出用パターン510の大きさと、基準パターンの大きさとが、ほぼ同一になるように、画像データvd中の位置検出用パターン510を基準パターンに差し替える。
これにより、差し替え前の位置検出用パターン510と、差し替え後の基準パターンの大きさとが、ほぼ同一になる。また、位置検出用パターン510の大きさとほぼ同じ大きさで、基準パターンを配置することができる。そして、このように配置された基準パターンを基準にバーコード500を復号することができるので、コードの誤検出をさらに低減し、コードをより正確に認識することができる。
また、本発明の実施の形態にかかるコード読取装置1000は、コード領域検出部70をさらに備えてもよい。このコード領域検出部70は、位置検出用パターン検出部20により検出される位置検出用パターン510の位置および大きさに基づいて、バーコード500の領域を検出する。
これにより、バーコード500の領域内と領域外とを切り分けて、2値化処理などを実行できる。
次に、本発明の第1の実施の形態にかかるコード読取装置の動作フローの変形例について、説明する。図11は、本発明の第1の実施の形態にかかるコード読取装置の動作フローの変形例のフローを示す。
図7と図11とを対比すると、S704〜S706とS1104〜S1106とで相違する。すなわち、本発明の第1の実施の形態にかかるコード読取装置の動作フローでは、図7に示されるように、バーコード500の領域を決定した後(S703)、2値化閾値を設定し(S704)、画像データ中の各画素の濃度を2値化していた後に(S705)、位置検出用パターを基準パターンに差し替えていた(S706)。これに対して、本発明の第1の実施の形態にかかるコード読取装置の動作フローの変形例では、図11に示されるように、バーコード500の領域を決定した後(S1103)、まず、位置検出用パターンを基準パターンに差し替えてから(S1104)、2値化閾値を設定し(S1105)、画像データ中の各画素の濃度を2値化する(S1106)。
また、図11のS1101〜S1103、S1107およびS1108の各処理は、図7のS701〜S703、S707およびS708の各処理に対応する。また、図11のS1104、S1105およびS1106の各処理は、図7のS706、S704およびS705にそれぞれ対応する。図11に示すS1101〜S1108の具体的な処理内容は、図7中で対応する各ステップの処理内容と同一である。このため、S1101〜S1108の各処理についての詳細な説明は省略する。
このように、位置検出用パターンを基準パターンに差し替えてから、2値化閾値を設定し、画像データ中の各画素の濃度を2値化しても、前述した内容と同様の効果を奏する。
<第2の実施の形態>
図12は、本発明の第2の実施の形態にかかるコード読取装置および周辺装置の構成を示す。図12に示されるように、コード読取装置1000aには、カメラ200および表示装置300が接続されている。図11は、図1と同様に、コード読取装置1000aが、基板600の上に取り付けられたバーコード500を読み取る場合を例示している。また、バーコード500には、照明装置400により光が照射されている。
コード読取装置1000aは、画像取得部10と、位置検出用パターン検出20と、位置検出用パターン差し替え部30と、基準パターン格納部40と、コード領域検出部70と、復号部80と、出力部90と、制御部110とを含んで構成されている。図11では、図1に示される構成と同一の機能を有するものに対しては、図1と同一の符号を付している。
次に、図1と図12とを対比する。第1の実施の形態にかかるコード読取装置1000は、図1に示されるように、2値化閾値設定部50と、2値化実行部60とを含んでいる。これに対して、第2の実施の形態にかかるコード読取装置1000aは、図12に示されるように、これらを含んでいない点で、両者は相違する。
図12に示す各構成の機能の説明については、図1に示す同一符号を付す各構成の説明と同様となるので、ここでの具体的な説明は省略する。
次に、本発明の第2の実施の形態にかかるコード読取装置1000aの動作フローについて説明する。図13は、コード読取装置1000aの動作フローを示す。
図13に示されるように、まず、画像取得部10が画像データvdを取得する(S1301)。次に、位置検出用パターン検出部20が、画像データvdに基づいて、バーコード500の位置検出用パターン510の位置および大きさを検出する(S1302)。そして、コード領域検出部70が、位置検出用パターン検出部10により検出される位置検出用パターン510の位置および大きさに基づいて、画像データvd中のバーコード500の領域を検出する(S1303)。
次に、位置検出用パターン差し替え部30が、画像データvd中の位置検出用パターン510を、基準パターンに差し替える(S1304)。また、復号部80は、画像データvd中のバーコード500を復号する(S1305)。そして、出力部90が、復号部80により復号されたバーコード500の情報を表示装置300へ出力する(S1306)。表示装置300は、出力部90により出力されたバーコード500の復号情報を表示する。
なお、図13のS1301〜S1303、S1304〜S1306の各処理は、図7のS701〜S703、S706〜S708の各処理に対応する。図13に示すS1301〜S1306の具体的な処理内容は、図7中で対応する各ステップの処理内容と同一である。このため、S1301〜S1306の各処理について、詳細な説明は省略する。
以上の通り、本発明の第2の実施の形態にかかるコード読取装置およびコード読取方法について説明した。
このように、本発明の第2の実施の形態にかかるコード読取装置1000aでは、位置検出用パターン差し替え部30が、位置検出用パターン510の位置および大きさに基づいて、画像データvd中の位置検出用パターン510を、基準パターンに差し替える。基準パターンは一定のコントラスト比以上の位置検出用パターンであるので、白モジュールと黒モジュールとの間の明暗がはっきりする。このように、コード読取装置1000は、差し替え後の基準パターンを用いることにより、コントラスト比が一定以上のパターンを基準にバーコード500を復号することができる。この結果、コードの誤検出を低減し、コードを正確に認識することができる。
以上、実施の形態をもとに本発明を説明した。実施の形態は例示であり、本発明の主旨から逸脱しない限り、上述各実施の形態に対して、さまざまな変更、増減、組合せを加えてもよい。これらの変更、増減、組合せが加えられた変形例も本発明の範囲にあることは当業者に理解されるところである。
前記実施の形態の説明では、位置検出用パターン検出部20は、テンプレート画像510aを用いて、位置検出用パターン510を検出すると説明した。しかしながら、位置検出用パターン検出部20は、テンプレート画像510aに代えて、基準パターンを用いて、位置検出用パターン510を検出してもよい。
また、前記実施の形態の説明では、基本的には、画像データvd中にはバーコード500が1つ存在することを前提に説明した。しかしながら、本発明では、複数のバーコード500が画像データvd中に存在してもよい。特に、複数のバーコード500が基板600以上に刻印されており、これら複数のバーコード500が画像データvdに含まれる場合に、本発明はより効果的に活用できる。複数のバーコード500が画像データに含まれる場合、これまでは、画像データ中の全てのバーコード500のコントラストを高く維持するために、照明装置400を基板600から離して設置し、各バーコード500への照明角度の近似値を最適な照明角度と同一になるように設定して、カメラ200によりバーコード500を撮像していた。ところが、この方法を採用するには、照明装置400を設置するためのスペースを十分に確保する必要があった。したがって、生産ライン上にコード読取装置を設置しようとする場合、照明装置400のスペースが確保できず、画像データ中の全てのバーコード500のコントラストを高くすることができなかった。これに対して、本発明では、画像データvdの中のバーコード500(位置検出パターン510を含む)に対して、黒モジュールと白モジュールの間のコントラスト比を高める画像処理を行っているので、照明装置400の設置環境に関係なく、コントラスト比が高いバーコード500の画像データを得ることができる。本発明によれば、コントラスト比が高いバーコード500の画像データを用いてバーコード500を復号するので、バーコード500の誤検出を低減し、バーコード500を正確に認識することができる。
10 画像取得部
20 位置検出用パターン検出部
30 位置検出用パターン差し替え部
40 基準パターン格納部
50 2値化閾値設定部
60 2値化実行部
70 コード領域検出部
80 復号部
90 出力部
110 制御部
200 カメラ
300 表示装置
400 照明装置
500 バーコード
510 位置検出用パターン
520 タイミングパターン
530 データセル
600 基板

Claims (9)

  1. 位置検出用パターンを含むコードを読み取るコード読取装置であって、
    前記コードを撮像して得られる画像データを取得する画像取得部と、
    前記画像取得部により取得された前記画像データに基づいて、前記位置検出用パターンの位置および大きさを検出する位置検出用パターン検出部と、
    前記位置検出用パターン検出部により検出される前記位置検出用パターンの位置および大きさに基づいて、前記画像データ中の前記位置検出用パターンを、所定のコントラスト比以上の位置検出用パターンである基準パターンに差し替える位置検出用パターン差し替え部とを備えたコード読取装置。
  2. 前記画像取得部により取得された前記画像データのうち、少なくとも前記コードの領域に対して、当該画像データ中の各画素の濃度の2値化を実行する2値化実行部を備えた請求項1に記載のコード読取装置。
  3. 前記画像取得部により取得された前記画像データの前記コードの領域に含まれる画素の濃度分布を示すヒストグラムに基づいて、黒画素または白画素に変換するための濃度基準値である2値化閾値を設定する2値化閾値設定部を備え、
    前記2値化実行部は、前記2値化閾値設定部により設定される前記2値化閾値に基づいて、前記画像データ中の各画素の濃度の2値化を実行する請求項2に記載のコード読取装置。
  4. 前記2値化閾値設定部は、前記コードの領域における前記白画素および前記黒画素の比率が所定の範囲に含まれるように、前記2値化閾値を設定する請求項3に記載のコード読取装置。
  5. 前記位置検出用パターン差替部は、前記位置検出用パターン検出部により検出される前記位置検出用パターンの大きさと、前記基準パターンの大きさとが、ほぼ同一になるように、前記画像データ中の前記位置検出用パターンを、前記基準パターンに差し替える請求項1〜4のいずれかに記載のコード読取装置。
  6. 前記位置検出用パターン検出部により検出される前記位置検出用パターンの位置および大きさに基づいて、前記コードの領域を検出するコード領域検出部を備えた請求項2〜5のいずれかに記載のコード読取装置。
  7. 位置検出用パターンを含むコードを読み取るコード読取方法であって、
    前記コードを撮像して得られる画像データを生成するステップと、
    前記画像データに基づいて、前記位置検出用パターンの位置および大きさを検出するステップと、
    前記位置検出用パターンの位置および大きさに基づいて、前記画像データ中の前記位置検出用パターンを、所定のコントラスト比以上の位置検出用パターンである基準パターンに差し替えるステップを含むコード読取方法。
  8. 位置検出用パターンを含むコードを読み取る処理をコンピュータに実行させるためのコード読取プログラムであって、
    前記コードを撮像して得られる画像データを生成するステップと、
    前記画像データに基づいて、前記位置検出用パターンの位置および大きさを検出するステップと、
    前記位置検出用パターンの位置および大きさに基づいて、前記画像データ中の前記位置検出用パターンを、所定のコントラスト比以上の位置検出用パターンである基準パターンに差し替えるステップとをコンピュータに実行させるコード読取プログラム。
  9. 請求項8に記載されたコード読取プログラムを記録したコンピュータ読み取り可能な記録媒体。
JP2011058917A 2011-03-17 2011-03-17 コード読取装置、コード読取方法およびコード読取プログラム Active JP5673257B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011058917A JP5673257B2 (ja) 2011-03-17 2011-03-17 コード読取装置、コード読取方法およびコード読取プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011058917A JP5673257B2 (ja) 2011-03-17 2011-03-17 コード読取装置、コード読取方法およびコード読取プログラム

Publications (2)

Publication Number Publication Date
JP2012194831A true JP2012194831A (ja) 2012-10-11
JP5673257B2 JP5673257B2 (ja) 2015-02-18

Family

ID=47086648

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011058917A Active JP5673257B2 (ja) 2011-03-17 2011-03-17 コード読取装置、コード読取方法およびコード読取プログラム

Country Status (1)

Country Link
JP (1) JP5673257B2 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013238943A (ja) * 2012-05-14 2013-11-28 Denso Corp 二次元コード読取装置
JP2016024716A (ja) * 2014-07-23 2016-02-08 株式会社Mrsホールディングズ コードノイズ除去装置、コードノイズ除去装置の動作方法および同装置に実行させるためのプログラム
US9786313B2 (en) 2015-10-05 2017-10-10 Hiatchi-Lg Data Storage, Inc. Optical-information recording/reproducing apparatus and optical-information recording/reproducing method
CN112016339A (zh) * 2020-08-18 2020-12-01 中移(杭州)信息技术有限公司 二维码识别及缺损修复方法、装置、电子设备及存储介质
CN112749769A (zh) * 2020-08-19 2021-05-04 腾讯科技(深圳)有限公司 图形码检测方法、装置、计算机设备及存储介质
JP2022504450A (ja) * 2018-10-15 2022-01-13 ガウス サージカル,インコーポレイテッド 画像を処理するための方法およびシステム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003196586A (ja) * 2001-12-28 2003-07-11 Oki Electric Ind Co Ltd 光学式qrコード認識装置及び方法
JP2007299098A (ja) * 2006-04-28 2007-11-15 Shachihata Inc Qrコード読取装置
JP2008090810A (ja) * 2006-06-22 2008-04-17 Denso Wave Inc 光学情報読取装置
JP2010213257A (ja) * 2009-02-10 2010-09-24 Canon Inc 装置、方法、プログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003196586A (ja) * 2001-12-28 2003-07-11 Oki Electric Ind Co Ltd 光学式qrコード認識装置及び方法
JP2007299098A (ja) * 2006-04-28 2007-11-15 Shachihata Inc Qrコード読取装置
JP2008090810A (ja) * 2006-06-22 2008-04-17 Denso Wave Inc 光学情報読取装置
JP2010213257A (ja) * 2009-02-10 2010-09-24 Canon Inc 装置、方法、プログラム

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013238943A (ja) * 2012-05-14 2013-11-28 Denso Corp 二次元コード読取装置
JP2016024716A (ja) * 2014-07-23 2016-02-08 株式会社Mrsホールディングズ コードノイズ除去装置、コードノイズ除去装置の動作方法および同装置に実行させるためのプログラム
US9786313B2 (en) 2015-10-05 2017-10-10 Hiatchi-Lg Data Storage, Inc. Optical-information recording/reproducing apparatus and optical-information recording/reproducing method
JP2022504450A (ja) * 2018-10-15 2022-01-13 ガウス サージカル,インコーポレイテッド 画像を処理するための方法およびシステム
JP7300199B2 (ja) 2018-10-15 2023-06-29 ガウス サージカル,インコーポレイテッド 画像を処理するための方法およびシステム
US11769022B2 (en) 2018-10-15 2023-09-26 Gauss Surgical Inc. Methods and systems for processing an image
CN112016339A (zh) * 2020-08-18 2020-12-01 中移(杭州)信息技术有限公司 二维码识别及缺损修复方法、装置、电子设备及存储介质
CN112016339B (zh) * 2020-08-18 2023-12-29 中移(杭州)信息技术有限公司 二维码识别及缺损修复方法、装置、电子设备及存储介质
CN112749769A (zh) * 2020-08-19 2021-05-04 腾讯科技(深圳)有限公司 图形码检测方法、装置、计算机设备及存储介质

Also Published As

Publication number Publication date
JP5673257B2 (ja) 2015-02-18

Similar Documents

Publication Publication Date Title
JP5673257B2 (ja) コード読取装置、コード読取方法およびコード読取プログラム
TW434520B (en) Two-dimensional code recognition processing method, device therefor and medium
KR101348494B1 (ko) 광학식 심볼, 이것이 붙여진 물품 및 광학식 심볼을 물품에붙이는 방법, 광학식 심볼의 디코드 방법, 관련 장치 및 관련 프로그램
US20130153662A1 (en) Barcode Photo-image Processing System
US20060082475A1 (en) Method, an apparatus and a storage medium for locating QR codes
TW201432576A (zh) 二維碼、二維碼之作成系統及解析程式
JP6045752B2 (ja) 二次元コード、二次元コードの解析システム及び二次元コードの作成システム
JP2007317184A (ja) 二次元バーコード、その符号化方法及び復号化方法
JPWO2006114827A1 (ja) 透過型二次元コード、二次元コード付き物品、二次元コードの印刷方法および表示方法
EP1866735A1 (en) Combined detection of position-coding pattern and bar codes
JP6860355B2 (ja) 改善されたマトリックス記号エラー修正方法
US9100518B2 (en) Information processing apparatus, information processing method, and computer-readable medium
JP2008287362A (ja) 電子筆記具、コンピュータシステム、プログラム
US8783570B2 (en) Reader with optical character recognition
US20160239935A1 (en) Digital watermarks
US10936837B1 (en) 2D barcode overlays
TW201601068A (zh) 影像式高速條碼掃描方法
JP5720623B2 (ja) 二次元コード読取装置
JP2017191420A (ja) 二次元コード記録媒体および二次元コード読取方法
JP4874706B2 (ja) Qrコード読取装置
US8649055B2 (en) Image processing apparatus and computer readable medium
US8687919B2 (en) Image processing apparatus, computer readable medium, and image processing method
JP5967000B2 (ja) 情報コード読取システム、情報コード読取装置、情報コード
JP5901680B2 (ja) 携帯端末装置および表示装置
JP2013191078A (ja) 画像処理装置、画像処理方法、プログラムおよび記録媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140217

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

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141001

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141215

R150 Certificate of patent or registration of utility model

Ref document number: 5673257

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150