JP4301775B2 - 2次元コード読み取り装置,2次元コード読み取り方法,2次元コード読み取りプログラム及び該プログラムの記録媒体 - Google Patents
2次元コード読み取り装置,2次元コード読み取り方法,2次元コード読み取りプログラム及び該プログラムの記録媒体 Download PDFInfo
- Publication number
- JP4301775B2 JP4301775B2 JP2002210302A JP2002210302A JP4301775B2 JP 4301775 B2 JP4301775 B2 JP 4301775B2 JP 2002210302 A JP2002210302 A JP 2002210302A JP 2002210302 A JP2002210302 A JP 2002210302A JP 4301775 B2 JP4301775 B2 JP 4301775B2
- Authority
- JP
- Japan
- Prior art keywords
- dimensional code
- pattern
- finder
- cell
- input image
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K19/00—Record carriers for use with machines and with at least a part designed to carry digital markings
- G06K19/06—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
- G06K19/06009—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
- G06K19/06037—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking multi-dimensional coding
Description
【発明の属する技術分野】
本発明は、2次元コード読み取り装置,2次元コード読み取り方法,2次元コード読み取りプログラム及び該プログラムの記録媒体に関し、例えば、カメラを内蔵した携帯端末等において、2次元コードを容易に読み取ることを可能にする2次元コード読み取り装置,2次元コード読み取り方法,2次元コード読み取りプログラム及び該プログラムの記録媒体に関する。
【0002】
【従来の技術】
近年、カメラを内蔵した携帯電話機が普及している。かかるカメラ付き携帯電話機等において、2次元コードをカメラで撮影して、該2次元コードに記録されている情報を読み取ろうとした場合、処理能力が低い通常の携帯電話機等にあっては、処理能力の面から、比較的処理量の少ない方法により、2次元コードを読み取ることを可能とすることが必要となる。
【0003】
2次元コードの例としては、JISX510(更には、ISO/IEC18004)で規定されているような2次元コード即ちQRコード(Quick Response Code)がある。図1は、QRコードの構成例を示す模式図である。図1に示すように、正方形状からなる2次元のQRコードの構成としては、当該QRコードの位置を検出することができるように、特定寸法比率の正方形を組み合わせた固有の第1のパターン(ファインダーパターンF)を2次元コードの3隅に有し、これら3つのファインダーパターンFの間には、横方向と縦方向とに白と黒とが交互に組み合わせられて、2次元コードの各データセルのセル位置の指標となる基準パターン(タイミングパターンT)を有し、更に、たとえ、斜め方向から歪んだ状態で撮影された場合であっても、2次元コードのデータセルの位置を合わせることを可能とするために配置されている固有の第2のパターン(アライメントパターンP)を有している。
【0004】
また、QRコードの内部は、m×mの正方形の升目(以下、セルと呼ぶ)に区切られていて、各セルに明(白),暗(黒)の2値データを記録することができる。ファインダーパターンFは、1辺の長さが7セルに相当する黒い正方形と1辺の長さが5セルに相当する白い正方形と1辺の長さが3セルに相当する黒い正方形とを同心状に順次重ね合わせて生成される図形とされている。
かかる構成からなるQRコードの画像をイメージセンサにより読み取り、2次元コード読み取り装置に入力し、2次元コード読み取り装置に入力された入力画像は、明(白)、暗(黒)の2値のいずれかの値を持つ2値化画像へと変換される。該2値化画像に対して、2次元コードの読み取りが行なわれている。
【0005】
前述のごときサイズからなるファインダーパターンFの中心付近で直線的に横方向又は縦方向に2値化画像を走査した場合、ファインダーパターンFにおける黒:白:黒:白:黒のパターンの出現頻度は、1:1:3:1:1の比率になるようにされている。かかる比率のパターンの出現頻度を用いて、イメージセンサから入力されて2値化された2値化画像の中から、ファインダーパターンFの位置を検出することができる。
また、タイミングパターンTの両端に位置するファインダーパターンFが検出された場合、ファインダーパターンFの端から黒,白のパターンが1:1の比率で交互に出現する位置を検出することにより、タイミングパターンTを検出することができる。
【0006】
ここで、QRコードを斜め方向から撮影した場合には、正対して撮影した場合の元々の正方形状に比べ、撮影角度に応じた歪が生ずる。かかる歪んだ画像に対しても、正しくQRコードのセル位置を特定することができるように、固有の第2のパターンからなるアライメントパターンPがファインダーパターンFを基準にして、ファインダーパターンFとは異なる2次元コード内の特定の位置に配置されている。
ここで、3つのファインダーパターンFの中心座標から、アライメントパターンPが配置されていると予想される座標を計算することができるようにされている。かかる計算結果を基準にして、2値化画像を逐次精査し、アライメントパターンPに固有の第2のパターンの特徴に合致する形状を備えた部分パターンを抽出することにより、アライメントパターンPの位置を検出することができる。
【0007】
而して、ファインダーパターンF,タイミングパターンT,アライメントパターンPそれぞれの位置が検出された各座標から、データが記録されている各データセルの中心位置座標を算出することができる。一例を、従来のデータセル切り出しの様子を示す図22を参照しながら説明する。
ここに、図22は、QRコードのデータセルの中心座標を算出する従来技術の様子を説明するための模式図である。図22において、ファインダーパターンFの中心点をFa,Fb,Fc、アライメントパターンPの中心点をPdとすると、まず、点Fa,Fbを結ぶ直線S1と、点Fa,Fcを結ぶ直線S4とを求める。
【0008】
直線S1上において、点Fbを水平方向(横方向)に3セル分、左方向に(即ち、点Fa方向に)移動した点Fb’を求め、更に、直線S4上において、点Fcを垂直方向(縦方向)に3セル分、上方向に(即ち、点A方向に)移動した点Fc’を求める。
移動した点Fb’とアライメントパターンPの中心点Pdとを結ぶ直線S3と、点Fc’とアライメントパターンPの中心点Pdとを結ぶ直線S2とを求める。
水平方向(横方向)に配置されているファインダーパターンFの中心点FaとファインダーパターンFの中心点Fbと、その間に位置しているタイミングパターンTとから、図22に示す符号Eの位置における各セルの中心座標が判明する。
また、直線S4と直線S3との傾きから、符号Eで示す前記各セルの中心点を通る水平基準となる直線(例えば、図22に示す破線Hs)の傾きを計算することができ、符号Eで示す前記各セルの中心点を通る水平基準線Hsを決定することができる。
【0009】
同様にして、垂直基準線Vsも決定することができる。而して、かくのごとく決定された水平基準線Hsと垂直基準線Vsとがそれぞれ交差する位置を各データセルの中心座標として算出することができる。
各データセルのデータ値は、前述のごとく算出されたデータセルの中心座標位置から、該データセル周辺方向に向って逐次黒及び白の出現頻度を調べ、セルの大きさを示すセルサイズ内にある黒画素の数と白画素の数とを比較し、数の多い方の画素を、当該データセルのデータ値として決定する。
【0010】
【発明が解決しようとする課題】
2次元コードであるQRコードの位置を特定せんとする際に、ファインダーパターンFを検出するために、黒:白:黒:白:黒のパターンの比率が1:1:3:1:1であるかどうかを判定する必要がある。しかしながら、2次元コード(QRコード)が回転していた状態や、傾斜している状態の画像として撮影された場合、ファインダーパターンFを検出するための前記比率は、水平或いは垂直の一方向のみから出現頻度を判定せんとしても、前記の比率1:1:3:1:1と正確には一致しない場合が存在する。また、実際のファインダーパターンFが存在している場所以外の場所で、前記の比率1:1:3:1:1と一致してしまう場合もあり、ファインダーパターンFの位置を誤って検出してしまうという問題があった。
【0011】
更には、データセルの位置を決定するために,タイミングパターンTを検出して使用する場合、2次元コード(QRコード)の3隅に位置しているファインダーパターンF間に白と黒とが交互に出現するタイミングパターンTの検出には多くの時間を要してしまうという問題があった。かかる問題は、2次元コード(QRコード)が大きなバージョンになる(2次元コードを構成するセル数が多い)ほど、深刻になってくる。
【0012】
アライメントパターンPを検出するには、ファインダーパターンFの座標から、アライメントパターンPが存在すると予想される予想座標を計算し、その周辺を精査することにより検出することとなるが、撮影した画像の歪により、前記予想座標が実際のアライメントパターンPが存在する座標と大きくずれてしまう場合が発生するために、実際のアライメントパターンPが存在する正確な位置を検出する精査に多大の時間を要する場合が発生するという問題があった。
【0013】
更には、2次元コード(QRコード)のアライメントパターンPの精査は、2値化処理が施された後の2値化画像に対して行なわれるが、2値化処理の際の誤差により、白画素のつぶれや、黒画素のかけが発生し、かかるつぶれやかけの影響により、アライメントパターンPの検出を誤ってしまうという問題があった。なお、2次元コード(QRコード)を構成するセル数がある程度多い場合であれば、アライメントパターンPを複数個配置して、撮影画像が多少歪んでいても、いずれかのアライメントパターンPを検出すれば、安定して、2次元データのデータセルが切り出す(即ち、データセル毎のデータ値を決定する)ことができるように、2次元コードを構成することができるが、かかる場合においては、アライメントパターンPの位置を複数個に亘って検出することが必要であり、処理時間が大きくなってしまうという問題があった。
【0014】
また、データセルのデータ値を決定する(即ち、データセルを切り出す)場合、セルの大きさ即ちセルサイズに基づいた特定の範囲内の黒画素と白画素との数を調べることにより、当該データセルの値を決定するため、決定するまでの処理時間を多く必要とするだけではなく、2値化処理の際における誤差により、白画素のつぶれや黒画素のかけが発生することに伴い、データセルのデータ値を誤り易いという問題があった。
更には、ファインダーパターンF間の距離からセル数を算出し、当該2次元コード(QRコード)のバージョンを決定する際に、入力画像の歪により誤差が発生し、正しいバージョンを判定できず、2次元コードの読み取りに失敗するという問題があった。
【0015】
本発明は、かかる事情に鑑みてなされたものであり、2次元コードが記録されている入力画像に対して、複数方向(例えば、水平方向、垂直方向、及び、斜め方向の3方向)から走査した結果に基づいて、所定の複数の位置に配置されているそれぞれのファインダーパターンの位置を検出する処理を行ない、更に、ファインダーパターンに固有の第1のパターンとの近似度を示す評価値やファインダーパターンとして予め定められた幅との差の許容値を用いて、ファインダーパターンの特徴に基づいた検出を行なうことにより、ファインダーパターンの位置を確実に検出せんとするものである。
【0016】
而して、ファインダーパターンを検出する際に、ファインダーパターンに固有の第1のパターンの比率例えば黒:白:黒:白:黒が1:1:3:1:1の比率にどれだけ近いかの評価値を定義し、入力画像全体に関して該評価値を比較することにより、ファインダーパターンの検出精度を高めることを可能とし、もって、比較的解像度が低く、ノイズがあるような低画質の入力画像中からでも、精度良くファインダーパターンを検出することを可能にせんとするものである。
また、ファインダーパターンに固有の第1のパターンに近いか否かを判定するための走査を例えば水平方向、垂直方向、斜め方向と3回実施し、それぞれの方向毎のパターンの比率に関する評価値を用いることにより、たとえ、2次元コードが回転して画像中にある場合でも、ファインダーパターンの検出精度を高めんとするものである。
【0017】
更に、本発明は、ファインダーパターンの外輪郭を走査して、入力画像中におけるファインダーパターンの外輪郭の傾きにより検出される2次元コードの各辺の傾きとファインダーパターンの中心点の座標とから、アライメントパターンを探索する探索範囲を指定する基準位置となる探索基準点を決定し、決定された該探索基準点から予め定められた位置にある探索範囲の部分画像を、2値化処理前の入力画像から切り出して、切り出された前記部分画像とアライメントパターンに固有の第2のパターンが有する特徴に合致したテンプレートとのテンプレートマッチングを行なうことにより、前記部分画像内から前記アライメントパターンを抽出して、アライメントパターンの位置を確実に検出し、更に、2次元データが回転している状態にある場合、回転角度に応じた回転補正を施すことにより、アライメントパターンの位置を確実に検出せんとするものである。
【0018】
而して、ファインダーパターンの外輪郭を走査し、該外輪郭の傾きを検出することにより、該外輪郭が辺の一部を形成している2次元コードの該辺の傾きを求め、2次元コードの該辺に平行で、前記ファインダーパターンの中心を通る直線の交点を求めることにより、アライメントパターンの予想座標を求めることとし、かつ、2値化処理前の入力画像を用いて、アライメントパターンの特徴に合致したテンプレートとのテンプレートマッチングを行なうことによりアライメントパターンを精度良く検出せんとするものであり、もって、2次元コードが歪んだ状態で存在している場合であっても、正確にアライメントパターンが存在する探索範囲を求めることができ、従来技術のごとく、アライメントパターンを探索するために入力画像を精査することに要する処理を結果的に少なくし、アライメントパターンの位置を検出するための全体の処理量を節約することを可能にせんとするものである。
【0019】
更には、本発明は、検出されたファインダーパターンの位置とアライメントパターンの位置と、判定されたバージョンにより決定される当該2次元コードのセル数とに基づいて、算出された変換係数を適用した座標変換式を用いて、各データセルのセル中心位置を入力画像中の座標位置に変換して、各データセルに対応する前記入力画像中の座標位置にある画素の画素値から得られる濃度或いは該座標位置に隣接する周辺の各画素の画素値から線形補間されて得られる濃度を、各データセルのデータ値を識別するために設定されている明暗閾値と比較することにより、各データセルのデータ値を決定して、各データセルの切り出しを行なわんとするものであり、データセル切り出しの処理を正しく行なうことができず、当該2次元コードの読み取りに失敗した場合、バージョンの判定処理において判定されたバージョンを1段階ずらして、再度、データセル切り出しの処理を繰り返すことによりバージョンの誤判定による2次元コード読み取り失敗を防止せんとするものである。
【0020】
而して、従来技術のごとく、2次元コードにタイミングパターンを備えることが不要であり、該タイミングパターンの検出は行なうこともなく、3つのファインダーパターンの座標と1つのアライメントパターン座標との4点の座標から、座標変換式により、データセルのセル中心位置を決定し、更に、決定されたセル位置における入力画像の濃度により、当該データセルのデータ値を決定することを可能とし、もって、タイミングパターンの検出処理に要する処理時間を削減すると共に、データセルのデータ値を決定する処理時間を削減し、データセルの切り出し処理全体の処理量を大幅に節約することを可能にせんとするものである。
【0021】
また、データセルのセル中心位置に対応する位置に入力画像中の画素が存在していない場合であっても、隣接する位置にある各画素の画素値を線形補間することによりセル中心位置における画素値を推定し、かかる画素値を、データセルが配置されている2次元コード内の特定位置に存在している複数画素の画素値に基づいて予め算出されている明暗閾値と比較することにより、データセルの値を決定すると共に、データセルの切り出しができず、2次元コードの読み取りが失敗した場合であっても、ファインダーパターンの幅とファインダーパターン間の間隔に基づいて判定されたバージョンを1段階ずらし(例えば、1段階大きいバージョンに増加させて)、2次元コードの読み取り、データセル切り出しの処理を再度繰り返すことにより、バージョン判定誤りの影響を減少させんとするものである。
【0022】
【問題を解決するための手段】
第1の技術手段は、2値データが記録されているデータセルを縦方向及び横方向の2次元状に配列することにより各種情報を表現する2次元コードを入力画像中から読み取る2次元コード読み取り装置であって、前記2次元コードが、前記入力画像中における当該2次元コードの位置を特定するために、該2次元コード内の所定の複数の位置に配置され、かつ、固有の第1のパターンからなるファインダーパターンと、前記入力画像において前記2次元コードが歪んだ状態で記録されている場合であっても、当該2次元コードのデータセル位置を正しく検出するために、当該2次元コード内の前記ファインダーパターンとは異なる所定の位置に配置され、かつ、前記ファインダーパターンに固有の前記第1のパターンとは異なる第2のパターンからなるアライメントパターンとを備え、前記2次元コードが記録された前記入力画像に対する複数方向からの走査結果に基づいて、白と黒との固有の前記第1のパターンからなる前記ファインダーパターンと近似したパターンを有するファインダーパターンの候補を候補ファインダーパターンとして前記入力画像の中から複数抽出し、かつ、抽出された複数の前記候補ファインダーパターンそれぞれに対して、水平方向、垂直方向、及び、斜め方向の3方向から、各候補ファインダーパターンを横切る走査線上における白と黒とからなるパターンの構成比をそれぞれ検出し、それぞれの方向において検出された白と黒とからなる各パターンの構成比を、前記ファインダーパターンとして予め定められた白と黒とからなる固有の前記第1のパターンの構成比と比較することにより、前記第1のパターンとの近似度を示す評価値を算出し、抽出された複数の前記候補ファインダーパターンのうち、前記評価値が示す近似度が大きい候補ファインダーパターンの順に、前記ファインダーパターンとして所定の個数分選択し、所定の個数分選択された前記ファインダーパターンそれぞれの位置を検出する処理を行ない、更に、検出された前記ファインダーパターンに基づいて、前記アライメントパターンの位置を検出する処理を行ない、更に、検出された前記ファインダーパターンに基づいて、当該2次元コードを構成するセル数を決定するバージョンの判定処理を行ない、検出された前記ファインダーパターンの位置と前記アライメントパターンの位置と、前記バージョンの判定処理により判定された前記バージョンとに基づいて、当該2次元コードを構成する各データセルのデータ値を決定するデータセル切り出しの処理を行ない、該データセル切り出しの処理により決定された各データセルのデータ値をビット列に変換して、予め定められた規則に従って、当該2次元コードの情報を特定するデコード処理を行なうことを特徴とする2次元コード読み取り装置。
【0024】
第2の技術手段は、前記第1の技術手段に記載の2次元コード読み取り装置において、抽出された複数の前記候補ファインダーパターンそれぞれの水平方向、垂直方向、及び、斜め方向のいずれかの方向において、前記ファインダーパターンに固有の前記第1のパターンとの近似度を示す前記評価値が、予め設定されている閾値を超えて、近似していないことを示す値として算出された場合、該候補ファインダーパターンを前記ファインダーパターンの候補から除外することを特徴とする2次元コード読み取り装置。
【0025】
第3の技術手段は、前記第2の技術手段に記載の2次元コード読み取り装置において、前記閾値が、2次元コードの種類及び用途更には入力画像の画質に応じて、使用者が所望する任意の値に予め設定することができることを特徴とする2次元コード読み取り装置。
【0026】
第4の技術手段は、前記第1乃至第3の技術手段のいずれかに記載の2次元コード読み取り装置において、複数抽出された前記候補ファインダーパターンのうち、互いのパターンが近接して重なり合う位置にある前記候補ファインダーパターンが抽出されている場合、互いに重なり合う位置にある前記候補ファインダーパターン同士を一つの候補ファインダーパターンとして統合し、統合される前のそれぞれの前記候補ファインダーパターンの前記評価値を合算して、統合された候補ファインダーパターンの評価値として改めて設定することを特徴とする2次元コード読み取り装置。
【0027】
第5の技術手段は、前記第1乃至第4の技術手段のいずれかに記載の2次元コード読み取り装置において、複数抽出された前記候補ファインダーパターンそれぞれの水平方向、垂直方向、及び、斜め方向のいずれかの方向において、前記候補ファインダーパターンの大きさを示す幅と、前記ファインダーパターンの大きさを示すものとして予め定められた固有の幅との差が、予め定められた許容値を超えている場合には、該候補ファインダーパターンを前記ファインダーパターンの候補から除外することを特徴とする2次元コード読み取り装置。
【0028】
第6の技術手段は、前記第5の技術手段に記載の2次元コード読み取り装置において、前記許容値が、2次元コードの種類及び用途更には入力画像の画質に応じて、使用者が所望する任意の値に予め設定することができることを特徴とする2次元コード読み取り装置。
【0029】
第7の技術手段は、前記第1乃至第6の技術手段のいずれかに記載の2次元コード読み取り装置において、検出された前記ファインダーパターンの大きさを示す幅として、水平方向の幅と垂直方向の幅と斜め方向の幅との3つの方向の幅の平均値を用いることを特徴とする2次元コード読み取り装置。
【0030】
第8の技術手段は、前記第1乃至第7の技術手段のいずれかに記載の2次元コード読み取り装置において、検出された前記ファインダーパターンの大きさを示す幅に基づいて、当該2次元コードを構成するセルの大きさを示すセルサイズを決定することを特徴とする2次元コード読み取り装置。
【0031】
第9の技術手段は、前記第1乃至第8の技術手段のいずれかに記載の2次元コード読み取り装置において、前記バージョンを判定する際に、検出された複数の前記ファインダーパターン間の間隔と、前記ファインダーパターンの大きさを示す幅に基づいて導出されたセルの大きさを示すセルサイズとに基づいて、当該2次元コードを構成するセル数を算出することにより、当該2次元コードのバージョンを判定することを特徴とする2次元コード読み取り装置。
【0032】
第10の技術手段は、前記第9の技術手段に記載の2次元コード読み取り装置において、2次元コードのバージョンと該バージョンにより決定される2次元コードを構成する登録セル数との対応を示すバージョン登録テーブルを備え、算出された前記セル数に基づいて、前記バージョン登録テーブルを索引し、一致又は最も近接した値を有する前記登録セル数と該登録セル数に対応するバージョンとを、当該2次元コードを構成するセル数とバージョンとして判定することを特徴とする2次元コード読み取り装置。
【0033】
第11の技術手段は、前記第1乃至第10の技術手段のいずれかに記載の2次元コード読み取り装置において、検出された複数の前記ファインダーパターンそれぞれの座標位置に基づいて、入力画像中において当該2次元コードの向きが回転している状態にあるか否かを判定すると共に、回転していると判定される場合には、当該2次元コードの回転角度を算出することを特徴とする2次元コード読み取り装置。
【0034】
第12の技術手段は、前記第1乃至第11の技術手段のいずれかに記載の2次元コード読み取り装置において、前記アライメントパターンの位置を検出する際に、前記入力画像中における前記ファインダーパターンの傾きの有無を検出することにより、前記入力画像中における当該2次元コードの各辺の傾きの有無を検出し、各辺の傾きと、前記ファインダーパターンの中心点の座標位置とから、前記入力画像中における前記アライメントパターンを探索する探索範囲が指定される基準位置となる探索基準点を決定し、決定された該探索基準点から予め定められた位置にある探索範囲の部分画像を前記入力画像から切り出して、該部分画像内から前記第2のパターンからなる前記アライメントパターンを抽出することにより、前記アライメントパターンの位置を検出することを特徴とする2次元コード読み取り装置。
【0035】
第13の技術手段は、前記第12の技術手段に記載の2次元コード読み取り装置において、前記入力画像中における前記ファインダーパターンの傾きの有無を検出する際に、前記ファインダーパターンが位置する当該2次元コードの辺の一部を形成し、かつ、当該ファインダーパターンの外輪郭を構成している各画素の座標位置のうち、少なくとも2つの画素の座標位置を、当該ファインダーパターンの画素を走査して検出することにより、当該ファインダーパターンの傾きの有無を検出することを特徴とする2次元コード読み取り装置。
【0036】
第14の技術手段は、前記第12又は13の技術手段に記載の2次元コード読み取り装置において、前記探索基準点を決定する際に、当該2次元コードの辺の一部を形成する前記ファインダーパターンの中心点の座標位置を通り、当該2次元コードの前記辺と平行な直線と、該ファインダーパターンと当該2次元コード内の対角に位置して、当該2次元コードの他の辺の一部を形成する他の前記ファインダーパターンの中心点の座標位置を通り、前記他の辺と平行な直線との交点を、前記アライメントパターンを探索する前記探索範囲が指定される基準位置となる前記探索基準点として決定することを特徴とする2次元コード読み取り装置。
【0037】
第15の技術手段は、前記第12乃至第14の技術手段のいずれかに記載の2次元コード読み取り装置において、前記探索範囲が、前記探索基準点から前記アライメントパターンの中心点が配置されているものと予測される予め定められた距離だけ離れた位置を、予測中心座標として、該予測中心座標から少なくとも2セルサイズ分の余裕を持って、前記アライメントパターンに固有の前記第2のパターンを含むに充分な領域とすることを特徴とする2次元コード読み取り装置。
【0038】
第16の技術手段は、前記第12乃至第15の技術手段のいずれかに記載の2次元コード読み取り装置において、前記部分画像内から前記アライメントパターンを抽出する際に、前記アライメントパターンに固有の前記第2のパターンが有する各画素の特徴に合致したテンプレートを備えて、該テンプレートと前記部分画像を1画素単位にずらしながらテンプレートマッチングを行なうことにより、前記部分画像内から前記第2のパターンからなる前記アライメントパターンを抽出することを特徴とする2次元コード読み取り装置。
【0039】
第17の技術手段は、前記第16の技術手段に記載の2次元コード読み取り装置において、前記入力画像中において当該2次元コードの向きが回転している状態にある場合、回転している回転角度に基づいて、前記探索基準点の座標位置に対して回転補正を施すことにより指定される前記探索範囲の部分画像を前記入力画像から切り出し、切り出された該部分画像を、前記回転角度に基づいて回転補正を施した後に、回転補正された前記部分画像を1画素単位にずらしながら前記テンプレートマッチングを行ない、前記アライメントパターンを抽出することにより、前記アライメントパターンの位置を検出することを特徴とする2次元コード読み取り装置。
【0040】
第18の技術手段は、前記第16又は17の技術手段に記載の2次元コード読み取り装置において、前記テンプレートマッチングの処理を行なう対象とする前記部分画像が、2値化処理がなされる前の状態における前記入力画像から切り出された部分画像であることを特徴とする2次元コード読み取り装置。
【0041】
第19の技術手段は、前記第18の技術手段に記載の2次元コード読み取り装置において、前記テンプレートマッチングの処理を行なう際に、前記部分画像内を1画素単位で順次ずらしながら、前記テンプレートと前記部分画像とのそれぞれ対応する各画素毎の画素値の差分の絶対値総和を算出し、該絶対値総和が最小になる前記部分画像内の位置を、前記アライメントパターンの座標位置として決定することを特徴とする2次元コード読み取り装置。
【0042】
第20の技術手段は、前記第1乃至第19の技術手段のいずれかに記載の2次元コード読み取り装置において、当該2次元コードを構成する各データセルのデータ値を決定する前記データセル切り出しの処理を行なう際に、前記データセルの位置を特定する位置特定処理として、検出された前記ファインダーパターンの中心点のセル位置と前記アライメントパターンの中心点のセル位置と、判定された前記バージョンにより決定される当該2次元コードのセル数とに基づいて、当該2次元コードの各データセルのセル中心位置を前記入力画像中の座標位置に変換する座標変換式の変換係数を算出し、算出された該変換係数を適用した前記座標変換式を用いて、各データセルのセル中心位置を、前記入力画像中の座標位置に変換して、各データセルのセル中心位置に対応する座標位置を特定し、前記位置特定処理により特定された各データセルのセル中心位置に対応する前記入力画像中の座標位置の濃度に基づいて、各データセルのデータ値を決定して、各データセルの切り出しを行なうことを特徴とする2次元コード読み取り装置。
【0043】
第21の技術手段は、前記第20の技術手段に記載の2次元コード読み取り装置において、当該2次元コードを構成する各データセルのデータ値を決定する前記データセル切り出しの処理を行なう際に、前記位置特定処理により特定されたデータセルのセル中心位置に対応する前記入力画像中の座標位置の濃度が、特定されたデータセルのセル中心位置に対応する前記入力画像中の座標位置に画素が存在している場合には、該座標位置に存在している該画素の画素値から得られる濃度であり、一方、特定されたデータセルのセル中心位置に対応する前記入力画像中の座標位置に画素が存在していない場合には、該座標位置に隣接する周辺の各画素の画素値から線形補間されて得られる濃度であり、かつ、各データセルのデータ値が、各データセルのセル中心位置に対応する前記入力画像中の座標位置の前記濃度と、各データセルのデータ値を識別するための明暗閾値と、を比較することにより決定されることを特徴とする2次元コード読み取り装置。
【0044】
第22の技術手段は、前記第21の技術手段に記載の2次元コード読み取り装置において、各データセルのデータ値を識別するための前記明暗閾値が、当該2次元コードの対角線上に位置する前記入力画像中の画素の画素値に基づいて設定されていることを特徴とする2次元コード読み取り装置。
【0045】
第23の技術手段は、前記第22の技術手段に記載の2次元コード読み取り装置において、前記明暗閾値が、当該2次元コードの対角線上に位置する前記入力画像中の全画素の画素値のうち、最大値と最小値との中間値に設定されていることを特徴とする2次元コード読み取り装置。
【0046】
第24の技術手段は、前記第1乃至第23の技術手段のいずれかに記載の2次元コード読み取り装置において、前記データセル切り出しの処理を正しく行なうことができず、当該2次元コードの読み取りに失敗した場合、前記バージョンの判定処理において判定されたバージョンを1段階ずらして、再度、前記データセル切り出しの処理を繰り返すことを特徴とする2次元コード読み取り装置。
【0047】
第25の技術手段は、2値データが記録されているデータセルを縦方向及び横方向の2次元状に配列することにより各種情報を表現する2次元コードを入力画像中から読み取る2次元コード読み取り方法であって、前記2次元コードが、前記入力画像中における当該2次元コードの位置を特定するために、該2次元コード内の所定の複数の位置に配置され、かつ、固有の第1のパターンからなるファインダーパターンと、前記入力画像において前記2次元コードが歪んだ状態で記録されている場合であっても、当該2次元コードのデータセル位置を正しく検出するために、当該2次元コード内の前記ファインダーパターンとは異なる所定の位置に配置され、かつ、前記ファインダーパターンに固有の前記第1のパターンとは異なる第2のパターンからなるアライメントパターンとを備え、前記2次元コードが記録された前記入力画像に対する複数方向からの走査結果に基づいて、白と黒との固有の前記第1のパターンからなる前記ファインダーパターンと近似したパターンを有するファインダーパターンの候補を候補ファインダーパターンとして前記入力画像の中から複数抽出し、かつ、抽出された複数の前記候補ファインダーパターンそれぞれに対して、水平方向、垂直方向、及び、斜め方向の3方向から、各候補ファインダーパターンを横切る走査線上における白と黒とからなるパターンの構成比をそれぞれ検出し、それぞれの方向において検出された白と黒とからなる各パターンの構成比を、前記ファインダーパターンとして予め定められた白と黒とからなる固有の前記第1のパターンの構成比と比較することにより、前記第1のパターンとの近似度を示す評価値を算出し、抽出された複数の前記候補ファインダーパターンのうち、前記評価値が示す近似度が大きい候補ファインダーパターンの順に、前記ファインダーパターンとして所定の個数分選択し、所定の個数分選択された前記ファインダーパターンそれぞれの位置を検出する処理を行ない、更に、検出された前記ファインダーパターンに基づいて、前記アライメントパターンの位置を検出する処理を行ない、更に、検出された前記ファインダーパターンに基づいて、当該2次元コードを構成するセル数を決定するバージョンの判定処理を行ない、検出された前記ファインダーパターンの位置と前記アライメントパターンの位置と、前記バージョンの判定処理により判定された前記バージョンとに基づいて、当該2次元コードを構成する各データセルのデータ値を決定するデータセル切り出しの処理を行ない、該データセル切り出しの処理により決定された各データセルのデータ値をビット列に変換して、予め定められた規則に従って、当該2次元コードの情報を特定するデコード処理を行なうことを特徴とする2次元コード読み取り方法。
【0049】
第26の技術手段は、前記第25の技術手段に記載の2次元コード読み取り方法において、前記バージョンを判定する際に、検出された複数の前記ファインダーパターン間の間隔と、前記ファインダーパターンの大きさを示す幅に基づいて導出されたセルの大きさを示すセルサイズとに基づいて、当該2次元コードを構成するセル数を算出することにより、当該2次元コードのバージョンを判定することを特徴とする2次元コード読み取り方法。
【0050】
第27の技術手段は、前記第25又は26の技術手段に記載の2次元コード読み取り方法において、前記アライメントパターンの位置を検出する際に、前記入力画像中における前記ファインダーパターンの傾きの有無を検出することにより、前記入力画像中における当該2次元コードの各辺の傾きの有無を検出し、各辺の傾きと、前記ファインダーパターンの中心点の座標位置とから、前記入力画像中における前記アライメントパターンを探索する探索範囲が指定される基準位置となる探索基準点を決定し、決定された該探索基準点から予め定められた位置にある探索範囲の部分画像を前記入力画像から切り出して、該部分画像内から前記第2のパターンからなる前記アライメントパターンを抽出することにより、前記アライメントパターンの位置を検出することを特徴とする2次元コード読み取り方法。
【0051】
第28の技術手段は、前記第27の技術手段に記載の2次元コード読み取り方法において、前記部分画像内から前記アライメントパターンを抽出する際に、前記アライメントパターンに固有の前記第2のパターンが有する各画素の特徴に合致したテンプレートを備えて、該テンプレートと前記部分画像を1画素単位にずらしながらテンプレートマッチングを行なうことにより、前記部分画像内から前記第2のパターンからなる前記アライメントパターンを抽出することを特徴とする2次元コード読み取り方法。
【0052】
第29の技術手段は、前記第28の技術手段に記載の2次元コード読み取り方法において、前記入力画像中において当該2次元コードの向きが回転している状態にある場合、回転している回転角度に基づいて、前記探索基準点の座標位置に対して回転補正を施すことにより指定される前記探索範囲の部分画像を前記入力画像から切り出し、切り出された該部分画像を、前記回転角度に基づいて回転補正を施した後に、回転補正された前記部分画像を1画素単位にずらしながら前記テンプレートマッチングを行ない、前記アライメントパターンを抽出することにより、前記アライメントパターンの位置を検出することを特徴とする2次元コード読み取り方法。
【0053】
第30の技術手段は、前記第28又は29の技術手段に記載の2次元コード読み取り方法において、前記テンプレートマッチングの処理を行なう対象とする前記部分画像が、2値化処理がなされる前の状態における前記入力画像から切り出された部分画像であることを特徴とする2次元コード読み取り方法。
【0054】
第31の技術手段は、前記第25乃至第30の技術手段のいずれかに記載の2次元コード読み取り方法において、当該2次元コードを構成する各データセルのデータ値を決定する前記データセル切り出しの処理を行なう際に、前記データセルの位置を特定する位置特定処理として、検出された前記ファインダーパターンの中心点のセル位置と前記アライメントパターンの中心点のセル位置と、判定された前記バージョンにより決定される当該2次元コードのセル数とに基づいて、当該2次元コードの各データセルのセル中心位置を前記入力画像中の座標位置に変換する座標変換式の変換係数を算出し、算出された該変換係数を適用した前記座標変換式を用いて、各データセルのセル中心位置を、前記入力画像中の座標位置に変換して、各データセルのセル中心位置に対応する座標位置を特定し、前記位置特定処理により特定された各データセルのセル中心位置に対応する前記入力画像中の座標位置の濃度に基づいて、各データセルのデータ値を決定して、各データセルの切り出しを行なうことを特徴とする2次元コード読み取り方法。
【0055】
第32の技術手段は、前記第31の技術手段に記載の2次元コード読み取り方法において、当該2次元コードを構成する各データセルのデータ値を決定する前記データセル切り出しの処理を行なう際に、前記位置特定処理により特定されたデータセルのセル中心位置に対応する前記入力画像中の座標位置の濃度が、特定されたデータセルのセル中心位置に対応する前記入力画像中の座標位置に画素が存在している場合には、該座標位置に存在している該画素の画素値から得られる濃度であり、一方、特定されたデータセルのセル中心位置に対応する前記入力画像中の座標位置に画素が存在していない場合には、該座標位置に隣接する周辺の各画素の画素値から線形補間されて得られる濃度であり、かつ、各データセルのデータ値が、各データセルのセル中心位置に対応する前記入力画像中の座標位置の前記濃度と、各データセルのデータ値を識別するための明暗閾値と、を比較することにより決定されることを特徴とする2次元コード読み取り方法。
【0056】
第33の技術手段は、前記第32の技術手段に記載の2次元コード読み取り方法において、各データセルのデータ値を識別するための前記明暗閾値が、当該2次元コードの対角線上に位置する前記入力画像中の画素の画素値に基づいて設定されていることを特徴とする2次元コード読み取り方法。
【0057】
第34の技術手段は、前記第25乃至第33の技術手段のいずれかに記載の2次元コード読み取り方法を、コンピュータにより実行させることが可能なプログラムコードにより記述されていることを特徴とする2次元コード読み取りプログラム。
【0058】
第35の技術手段は、前記第34の技術手段に記載の2次元コード読み取りプログラムを記録させていることを特徴とするコンピュータ読み取り可能な記録媒体。
【0059】
而して、ファインダーパターンを検出する際に、ファインダーパターンに固有の第1のパターンの比率例えば黒:白:黒:白:黒が1:1:3:1:1の比率にどれだけ近いかの評価値を定義し、入力画像全体に関して該評価値を比較することにより、ファインダーパターンの検出精度を高めることを可能とし、もって、比較的解像度が低く、ノイズがあるような低画質の入力画像中からでも、精度良くファインダーパターンを検出することを可能とすることができる。
また、ファインダーパターンに固有の第1のパターンに近いか否かを判定するための走査を例えば水平方向、垂直方向、斜め方向と3回実施し、それぞれの方向毎のパターンの比率に関する評価値を用いることにより、たとえ、2次元コードが回転して画像中にある場合でも、ファインダーパターンの検出精度を高めることが可能である。
【0060】
また、ファインダーパターンの外輪郭を走査し、該外輪郭の傾きにより検出することにより、該外輪郭が辺の一部を形成している2次元コードの該辺の傾きを求め、2次元コードの該辺に平行で、前記ファインダーパターンの中心を通る直線の交点を求めることにより、アライメントパターンの予想座標を求めることとし、かつ、2値化処理前の入力画像を用いて、アライメントパターンの特徴に合致したテンプレートとのテンプレートマッチングを行なうことによりアライメントパターンを精度良く検出することが可能となり、もって、2次元コードが歪んだ状態で存在している場合であっても、正確にアライメントパターンが存在する探索範囲を求めることができ、従来技術のごとく、アライメントパターンを探索するために入力画像を精査するために要する処理を結果的に少なくし、アライメントパターンの位置を検出するための全体の処理量を節約することが可能である。
【0061】
更に、従来技術のごとく、2次元コードにタイミングパターンを備えることが不要であり、該タイミングパターンの検出は行なうこともなく、3つのファインダーパターンの座標と1つのアライメントパターン座標との4点の座標から、座標変換式により、データセルのセル中心位置を決定し、更に、決定されたセル位置における入力画像の濃度により、当該データセルのデータ値を決定することを可能とし、もって、タイミングパターンの検出処理に要する処理時間を削減すると共に、データセルのデータ値を決定する処理時間を削減し、データセルの切り出し処理全体の処理量を大幅に節約することが可能である。
【0062】
また、データセルのセル中心位置に対応する位置に入力画像中の画素が存在していない場合であっても、隣接する位置にある各画素の画素値を線形補間することによりセル中心位置における画素値を推定し、かかる画素値を、当該データセルが配置されている2次元コード内の特定位置に存在している複数画素の画素値に基づいて予め算出されている明暗閾値と比較することにより、各データセルの値を決定すると共に、データセルの切り出しができず、2次元コードの読み取りが失敗した場合であっても、ファインダーパターンの幅とファインダーパターン間の間隔に基づいて判定されたバージョンを1段階ずらし(例えば、1段階大きいバージョンに増加させて)、2次元コードの読み取り、データセル切り出しの処理を再度繰り返すことにより、バージョン判定誤りの影響を減少させることが可能である。
【0063】
【発明の実施の形態】
本発明に係る2次元コード読み取り装置における実施形態の一例について、以下に図面を参照しながら説明する。
図2に、本発明に係る2次元コード読み取り装置における動作の流れの一例を、フローチャートを用いて示している。なお、以下の実施形態の説明においては、2次元コードとして、QRコード(Quick Response Code)を用いている場合を例に採って説明しているが、本発明は、かかる場合のみに限らず、縦方向と横方向との2次元状に2値データが記録されるデータセルを配列することにより各種情報を表現する2次元コードであって、入力画像中の2次元コードの位置を決定するためのファインダーパターン,斜め方向から撮影されて歪んだ状態の入力画像である場合においても、2次元コードのデータセル位置を正しく検出することを可能とするアライメントパターンを備えている2次元コードであれば、如何なる場合にも適用することができる。
【0064】
QRコードの場合、前述したごとく、ファインダーパターンは、当該2次元コード(QRコード)の3隅の所定の位置(複数の所定の位置)に配置されて、固有の第1のパターン(即ち、黒:白:黒:白:黒のパターンの比率が1:1:3:1:1からなる7×7セルの正方形状のパターン)からなり、アライメントパターンは、ファインダーパターンが配置されている3隅とは異なる所定の位置(ファインダーパターンが位置していない2次元コードの隅にあって、該隅より、7セル相当分内側に離れた位置)に配置されて、固有の第2のパターン(即ち、黒:白:黒:白:黒のパターンの比率が1:1:1:1:1からなる5×5セルの正方形状のパターン)からなっている。
かかる2種類の位置決め用の特定パターン(即ち、3個のファインダーパターンと1個のアライメントパターン)を備えた2次元コードは、予め定められている規則に従って、縦・横の2次元状にm×m個配列されているデータセルそれぞれに、白,黒いずれかの2値データを記録して、各種の情報を2次元で表現することを可能としている。
【0065】
2種類の位置決め用の特定パターン以外に、前述のごとく、通常のQRコードにおいては、各データセルの位置をガイドするタイミングパターンも備えているが、本発明においては、データセルの位置を決定する場合であっても、タイミングパターンを備える必要はなく、前述の2種類の特定パターンのみを備えていれば良い。
即ち、本発明においては、たとえ、2次元コードが、回転された状態や傾斜した状態にあったとしても、3個のファインダーパターンと1個のアライメントパターンとを用いて、各データセルのセル位置を正確に検出することが可能であり、検出されたセル位置にある各データセルに記録されているデータ値(2値のデータ)を読み取り、ビット列に変換して、予め定められた規則に従って、デコード処理を施して、2次元コードに記録されている情報(データ内容)を特定することを可能としている。
【0066】
図2に示すフローチャートにおいて、まず、2次元コードを画像として記録されている記録紙を、2次元コード読み取り装置にセットして、イメージセンサにより読み取らせる。
イメージセンサにより読み取られた入力画像は、2値化処理により、白(明),黒(暗)の2値化画像からなる入力画像に変換される。変換された2値化画像を走査することにより、該2値化画像の中から、白と黒との各ランに関する黒:白:黒:白:黒のパターンの比率が1:1:3:1:1の固有の第1のパターンからなるファインダーパターンの位置を検出する(ステップS001)。かかるファインダーパターンの位置検出により、入力画像中の当該2次元コードの位置が特定される。ファインダーパターンの位置検出動作の詳細については、後述する。
ファインダーパターンの検出に失敗した場合(ステップS002のNO)、2次元コードの読み取りに失敗して、2次元コードが認識できなかったとして処理を終了する(ステップS007)。
【0067】
一方、2次元コードの3隅に配置されている3つのファインダーパターンすべての検出に成功した場合(ステップS002のYES)、3つのファインダーパターンそれぞれの座標を決定し、また、ファインダーパターンのサイズを示すファインダーパターン幅から1セルの大きさを示すセルサイズを決定すると共に、3つのファインダーパターンの座標位置から、当該2次元コードの向きを決定する。
次に、アライメントパターンが存在すると予想される予想座標即ち探索基準点を計算し、該予想座標(探索基準点)から特定される探索範囲内を精査する(即ち、テンプレートマッチングを行なう)ことにより、アライメントパターンの位置検出を行なう(ステップS003)。アライメントパターンの位置検出により、当該2次元コードが、矩形状(正方形状を含む)ではなく傾斜された状態にあるか否かを識別することができるアライメントパターンの座標位置が決定する。アライメントパターンの位置検出動作の詳細については、後述する。
次に、2次元コードのバージョンの判定を行なう(ステップS004)。即ちファインダーパターンのサイズを示すファインダーパターン幅から2次元コードのセルの大きさを示すセルサイズを算出し、当該2次元コードのセル数を決定するバージョンを決定する判定を行なう。バージョン判定動作の詳細についても、後述する。
【0068】
次に、データセルの切り出しを行なう(ステップS005)。ここでは、ファインダーパターンの3つの座標位置及びアライメントパターンの座標位置からなる4つの基準となる座標位置と判定されたバージョンとにより、導き出される2次元コードの形状から、当該2次元コードの各データセルのセル位置に対応する入力画像中の座標位置に変換する変換係数を決定し、決定された該変換計数を適用した座標変換式により、各データセルのセル中心位置に対応する入力画像中の座標位置を特定し、更に、特定された座標位置の入力画像の濃度を求めることにより、各データセルのデータ値(2値のデータ)を決定して、各データセルを切り出す。即ち、各セル範囲に対応する位置にある複数の画素の白及び黒の個数を積算するような従来の技術を用いることなく、各データセルのデータ値即ち各ビットの値を決定する。データセルの切り出し動作の詳細については、後述する。
【0069】
次に、2次元コードにおけるデータセルの並びに従うビット列(ビットの並び)を、予め定められた規則に従って、デコードする(ステップS006)。ここでは、ビット列に対する誤り訂正を行ない、誤り訂正後のビット列の並び即ちデータの並びを、予め定められている規則に従ってデコードすることにより、文字列等に変換する。
かかる文字列等への変換即ちデコード処理が成功して、有意の文字列等が獲得されれば(ステップS008のYES)、2次元コードの読み取りが成功し、2次元コードの認識成功として処理を終了する(ステップS009)。
【0070】
一方、誤り訂正によりビット誤りが訂正できなかった場合や、データセルの並び即ちビット列を予め定められた規則に従って文字列等に変換することができなかった場合には(ステップS008のNO)、デコード失敗とし、今回の失敗が最初のデコード失敗であれば(ステップS010のNO)、バージョンを1段階だけずらすことにより、当該2次元コードを構成するセルのセル数を変更させて、例えば、バージョンを1段階増加させることにより、当該2次元コードを構成するセルのセル数を増加させて(ステップS011)、ステップS005に復帰させて、再度、データセルの切り出し、及び、デコード処理を繰り返す。
即ち、バージョンをずらすことにより、ステップS004におけるバージョン判定誤りを補正し、作成された際の2次元コードのバージョンに一致したバージョンに補正することができる。
【0071】
一方、2回目のデコード失敗が発生していると判定された場合には(ステップS010のYES)、2次元コード読み取りに失敗して、2次元コードが認識できなかったものとして処理を終了する(ステップS012)。
【0072】
次に、図2に示すステップS001におけるファインダーパターンの位置検出に関する動作の詳細について説明する。図3に、ファインダーパターンの位置検出に関する動作の流れの一例を、フローチャートを用いて示している。
【0073】
図3において、まず、ファインダーパターンの候補座標の検出と評価値の計算を行なう(ステップS101)。即ち、白画素,黒画素に2値化された入力画像を順次走査し、白画素と黒画素とのラン長を、水平方向,垂直方向,斜め方向の3方向からそれぞれ求め、前述したようなファインダーパターンの特徴(固有の第1のパターン)に沿って、求められた白画素と黒画素とのラン長を評価し、ファインダーパターンが存在すると見なされる複数個のファインダーパターンの候補即ち候補ファインダーパターンの中心座標位置即ち候補中心座標位置と、各候補中心座標位置毎の候補ファインダーパターンがどの程度ファインダーパターンの特徴に類似しているかを示す評価値とを、予め用意された一定の評価式によって計算し、記録する。
【0074】
この時、各候補中心座標位置における候補ファインダーパターンの幅即ちサイズも記録しておく。ここで、記録される候補ファインダーパターンの幅即ちサイズは、水平方向,垂直方向,斜め方向の3方向のそれぞれの幅を平均したものとするが、本発明においては、かかる場合のみに限るものではなく、例えば、最も狭い幅を記録することとしても良いし、或いは、互いに最も近接する幅を示す2つの幅のみの平均を用いることとしても良い。かかる候補中心座標位置の検出と評価値の計算の詳細については後述する。
【0075】
次に、求められた候補ファインダーパターンの候補中心座標位置と評価値、及び、候補ファインダーパターンの幅を分析し、最終的に、入力画像中における3つのファインダーパターンと該ファインダーパターンそれぞれの中心座標位置とを決定する(ステップS102)。
かかる分析に失敗し、3つのファインダーパターンの中心座標位置の決定ができなかった場合(ステップS103のNO)、ファインダーパターンの検出失敗として処理を終了する(ステップS108)。
【0076】
一方、かかる分析に成功し、3つのファインダーパターンの中心座標位置の決定に成功した場合(ステップS103のYES)、決定した3つのファインダーパターンの幅の平均値を計算し、ファインダーパターンの幅の平均値から、データセルの大きさを示すセルサイズを算出する(ステップS104)。
【0077】
次に、決定した3つのファインダーパターンの中心座標位置から、入力画像中の2次元コードの向きを決定する(ステップS105)。即ち、2次元コードの向きとは、図5に示すように、2次元コード例えばQRコードの上辺(即ち、ファインダーパターンF0とF1とが配置されている辺)が、入力画像中の上下左右のどこに存在しているかを示すものである。ここに、図5は、2次元コードの向きとファインダーパターンの位置関係とを示す模式図である。図5(A)に示すごとく、3つのファインダーパターンF0,F1,F2が、例えば、基準ファインダーパターンF0の左側方向にF1が、下側方向にF2が位置していて、2次元コードの上辺が入力画像中の上側方向に存在している場合を「方向0」として決定し、「方向0」から時計回りの方向にそれぞれ90°,180°,270°回転させた位置にある場合(即ち、2次元コードの上辺がそれぞれ入力画像中の右側方向,下側方向,左側方向に存在している場合)をそれぞれ「方向1」(図5(B)),「方向2」(図5(C)),「方向3」(図5(D))として決定する。
【0078】
更に、3つのファインダーパターンの中心座標位置の位置関係が予め定められた基準を満たしているか否かチェックする(ステップS106)。予め定められた基準を満たしていない場合(ステップS106のNO)、ファインダーパターンの検出が失敗したものとして処理を終了する(ステップS108)。即ち、図2に示すステップS002において、ファインダーパターンの検出に失敗したものとして、ステップS007に移行して、処理を終了する。
一方、予め定められた基準を満たしている場合(ステップS106のYES)、ファインダーパターンの検出チェックに成功し、かつ、2次元コードの向きの決定も成功したものとして、処理を終了する(ステップS107)。
【0079】
次に、図3に示すステップS101における各候補ファインダーパターンの候補中心座標位置の検出と評価値の記録の動作について更に詳しく説明する。図4に、候補ファインダーパターンの候補中心座標位置の検出と評価値の記録に関する動作の流れの一例を、フローチャートを用いて示している。
【0080】
図4において、まず、イメージセンサにより読み取られた入力画像に対して、白画素と黒画素との2値化処理を行なう(ステップS201)。2値化の閾値は、例えば、入力画像全体を走査して得られた各画素値における最大値と最小値との中間の値とすることができる。かかる中間の値を閾値に用いる手法は、処理量が少なく高速化に適している。
次に、2値化画像の先頭から、順次水平走査を行ない、水平走査線における全ての白画素のラン長と黒画素のラン長とを記録する(ステップS202)。即ち、水平走査方向に対し、黒ランの開始点と白ランの開始点とをそれぞれ記録していく。ここで、黒ランの開始点から次の白ランの開始点までの距離が黒ラン長として算出され、白ラン長も同様に、白ランの開始点から次の黒ランの開始点までの距離として算出される。
【0081】
ここで、ファインダーパターンの候補を検出するために、算出された黒ラン:白ラン:黒ラン:白ラン:黒ランの比がファインダーパターン固有の第1のパターンである1:1:3:1:1の比率に近いか否かを予め設定されている閾値を用いて評価する(ステップS203)。1:1:3:1:1の比率に近いと評価された場合(S204のYES)、算出された黒ラン:白ラン:黒ラン:白ラン:黒ランの比と1:1:3:1:1の比率との誤差に対応する評価値を求める(ステップS205)。かかるラン毎の比の評価の方法と評価値の計算方法については、後述する。
また、検出された候補ファインダーパターンのランの中心点の座標位置を水平座標(即ちx座標)の原点として記録すると共に、候補ファインダーパターンのランの長さを水平幅whとして記録する。即ち、図6に示すように、水平走査方向に検出された候補ファインダーパターンにおける両端の黒画素間の幅を水平幅whとして記録すると共に、候補ファインダーパターンにおける両端の黒画素間の中心位置即ち候補中心座標位置を水平座標の原点として記録する。ここに、図6は、検出された候補ファインダーパターンの幅と候補中心座標位置とを説明するための模式図である。
【0082】
次に、水平座標の原点即ち水平方向に検出された候補ファインダーパターンのランの中心点の座標位置から、垂直方向に走査して、候補ファインダーパターンの垂直方向のランを調べる(ステップS206)。
次いで、ステップS202,S203と同様に、垂直走査線における白画素のラン長と黒画素のラン長とを求めて、算出された黒ラン:白ラン:黒ラン:白ラン:黒ランの比がファインダーパターン固有の第1のパターンである1:1:3:1:1の比率に近いか否かを予め設定されている閾値を用いて評価する(ステップS207)。1:1:3:1:1の比率に近いと評価された場合(S208のYES)、ステップS205の場合と同様に、算出された黒ラン:白ラン:黒ラン:白ラン:黒ランの比と1:1:3:1:1の比率との誤差に対応する評価値を求める(ステップS209)。
【0083】
更に、図6に示すように、検出された候補ファインダーパターンのランの中心点の座標位置を垂直座標(即ちy座標)の原点として記録すると共に、候補ファインダーパターンのランの長さを垂直幅wvとして記録する。
【0084】
次に、水平座標の原点における垂直座標の原点即ち水平座標と垂直座標との交差する原点(水平方向と垂直方向にそれぞれ検出された候補ファインダーパターンのランの中心点)から、水平走査線に対して45°傾斜させた斜め方向に走査して、候補ファインダーパターンのランを調べる(ステップS210)。
次いで、ステップS202,S203と同様に、斜め走査線における白画素のラン長と黒画素のラン長とを求めて、算出された黒ラン:白ラン:黒ラン:白ラン:黒ランの比がファインダーパターン固有の第1のパターンである1:1:3:1:1の比率に近いか否かを予め設定されている閾値を用いて評価する(ステップS211)。1:1:3:1:1の比率に近いと評価された場合(S212のYES)、ステップS205の場合と同様に、算出された黒ラン:白ラン:黒ラン:白ラン:黒ランの比と1:1:3:1:1の比率との誤差に対応する評価値を求める(ステップS213)。
【0085】
更に、図6に示すように、検出された候補ファインダーパターンのランの中心点の座標位置を斜め座標(即ちxy座標)の原点として記録すると共に、候補ファインダーパターンのランの長さを斜め幅woとして記録する。
【0086】
ここで、水平方向,垂直方向及び斜め方向の3つの条件のうち、いずれかが満たされていない場合、即ち、ステップS204,S208又はS212にいずれかにおいて、予め設定されている閾値を超えて、1:1:3:1:1の比率に近いと評価されなかった場合(ステップS204のNO,S208のNO又はS212のNO)、ファインダーパターンが存在する中心座標位置ではないものと判定して、該当する候補ファインダーパターンをファインダーパターンの候補から除外して、次の水平方向の座標位置にある黒ラン及び白ランのファインダーパターンに関する評価を行なうために、ステップS216に移行する。
【0087】
一方、水平方向,垂直方向及び斜め方向の3つの条件のいずれも満たしている場合においては、ステップS215まで処理を行なった後、水平方向,垂直方向及び斜め方向の3つの条件を満たしている候補ファインダーパターンの中心点の座標位置を候補ファインダーパターンの候補中心座標位置として記録する。この時、当該候補ファインダーパターンの水平幅wh、垂直幅wv、斜め幅woの値を平均した値を、当該候補ファインダーパターンの幅として記録しておく(ステップS214)。なお、本発明においては、当該候補ファインダーパターンの幅の設定は、前述のごとく、かかる場合のみに限られるものではない。
更に、水平方向のランの評価値,垂直方向のランの評価値,斜め方向のランの評価値(ファインダーパターン固有の第1のパターンとの誤差に対する評価即ちファインダーパターン固有の第1のパターンとの近似度を示す値)を合計したものを当該候補ファインダーパターンの座標における評価値として記録する(ステップS215)。
【0088】
次いで、ステップS202で求めた水平方向に走査した走査線について全ての黒ラン及び白ランのファインダーパターンに関する評価が終了していない場合(ステップS216のNO)、まだ評価していない残りの水平方向のランを評価するために、ステップS203に復帰して、前述と同様の評価を繰り返す。一方、当該走査線における全ての黒ラン及び白ランのファインダーパターンに関する評価が終了している場合(ステップS216のYES)、まだ、全ての水平方向の走査線に対する走査が終了していない場合には(ステップS217のNO)、次の水平走査線の走査を行なうためにステップS202に復帰して、次の水平走査線の走査を行ない、次の水平走査線における黒ラン及び白ランのファインダーパターンに関する前述のごとき評価を繰り返す。
また、全ての水平方向の走査線に対する走査が終了している場合には(ステップS217のYES)、処理を終了する。
【0089】
次に、図4のステップS204(及びS208及びS212),S205(及びS209及びS213)に示す、入力画像の走査結果に基づいて算出された黒ラン:白ラン:黒ラン:白ラン:黒ランの比率とファインダーパターン固有の第1のパターンである1:1:3:1:1の比率との比較評価方法と、両者の誤差に対応する(換言すれば、両者の近似度を示す)評価値の計算方法とについて説明する。
まず、ファインダーパターンの候補として算出された黒ラン:白ラン:黒ラン:白ラン:黒ランのそれぞれのランの長さをR0,R1,R2,R3,R4とする。即ち、ファインダーパターンの候補が目的とする真のファインダーパターンであれば、各ランの合計(ΣRi)は、7セルとなるはずである。
従って、算出された各ランのうち、1セル分に対応するランの長さa及びbを、それぞれ下記の式(1),(2)のように、2種類の式を用いて算出する。
a=(1/4)・(R0+R1+R3+R4) …(1)
b=(1/7)・(R0+R1+R2+R3+R4) …(2)
【0090】
次に、下記の式(3)により誤差dを算出する。即ち、該評価式は、ファインダーパターン固有の第1のパターンとの間の誤差dを示すものであり、逆に言えば、誤差dが小さいほど、ファインダーパターン固有の第1のパターンとの近似度が高いことを示している。
d=│a−b│+│R2−3b│ …(3)
式(3)により誤差dを計算した際に、下記の式(4)に示す評価式のように、
d≦Thresh …(4)
が成立する場合、算出された黒ラン:白ラン:黒ラン:白ラン:黒ランの比率がファインダーパターン固有の第1のパターン1:1:3:1:1の比率に近いものとして、ファインダーパターンの候補としての評価をOKとする。
【0091】
ここに、Threshは、ファインダーパターン固有の第1のパターンと近似しているか否かを識別する閾値であり、誤差dがThreshの値を超えている場合、ファインダーパターン固有の第1のパターンとはかけ離れているパターンであるとして、該当する候補ファインダーパターンをファインダーパターンの候補から除外するものである。また、Threshの値は、2次元コードの種類及び用途更には入力画像の画質などに応じて、使用者が所望する任意の値に予め設定することができる定数である。
ファインダーパターンの候補としての評価がOKの場合には、誤差に対応する即ち近似度を示す評価値eを、下記の式(5)により算出して記録する。
e=Thresh−d …(5)
即ち、評価値eの値が大きいほど、ファインダーパターンに近似していることを示している。
【0092】
なお、前記式(1)乃至(5)に示す評価式は、本発明の実施例の一例を示すものであり、本発明においては、かかる場合のみに限るものではなく、ファインダーパターン固有の第1のパターンとの間の誤差或いは近似度を評価し得る評価式であれば、2次元コードの種類や用途や入力画像の画質などに基づいて、予め所望する任意の評価式を予め設定して用いてもかまわない。
【0093】
例えば、前記式(1)乃至(5)にあっては、ランの長さR0,R1,R3,R4それぞれの誤差の程度を評価することを省略しているが、更に、きめ細かな評価を必要とする使用環境であれば、ランの長さR0,R1,R3,R4それぞれの誤差の程度を評価する評価式を用いても良いし、更に、ファインダーパターンの候補の幅が、ファインダーパターンの幅として予め定められている幅との差が、予め設定されている許容値に収まっているか否かを評価し、該許容値を超えていると評価された場合は、ファインダーパターン固有の幅とはかけ離れているサイズのパターンであるとして、該当する候補ファインダーパターンをファインダーパターンの候補から除外することにしても良い。ここに、該許容値は、前記の閾値Threshの場合と同様に、2次元コードの種類及び用途更には入力画像の画質などに応じて、使用者が所望する任意の値に予め設定することができる定数である。
【0094】
次に、図3のステップS102に示しているファインダーパターンの座標を決定する手順を説明する。即ち、入力画像中における3つのファインダーパターンの中心座標位置を決定する手順について説明する。
入力された2値化画像においてファインダーパターンの候補として検出されている候補ファインダーパターンの中心座標位置と幅及び評価値の記録については、例えば、図7に示すような評価値テーブルに記録されている。ここに、図7は、図3のステップS101において検出されたファインダーパターンの候補即ち候補ファインダーパターンを記録している評価値テーブルの一例を示す構成図である。
【0095】
図7に示すごとき評価値テーブルに記録されている各ファインダーパターンの候補のうち、同じ中心座標位置を有しているファインダーパターンの候補の情報を統合し、更に、中心座標位置が近接するものについても情報を統合する。
ここで、ファインダーパターンの候補同士の中心座標位置が近接していることを判定する近接判定条件の一例を示せば、次の通りである。
即ち、ファインダーパターンの候補iの座標を(xi,yi)、幅をwi、候補jの座標を(xj,yj)、幅をwjとした場合、候補iと候補jとが近接していると判定される近接判定条件は、次の2つの条件を満たす場合である。
【0096】
条件1:幅wiと幅wjとの差が、2つの幅wi,幅wjの平均値の1/4よりも小さい。即ち、下記の式(6)が成立する。
│wi−wj│<(wi+wj)/8 …(6)
条件2:幅wiと幅wjの大きい方をwとした場合、下記の式(7),(8)を満たす。
│xi−xj│≦(3/14)w …(7)
│yi−yj│≦(3/14)w …(8)
ここに、幅wiと,wjは、前述のごとく、それぞれ候補i,候補jの水平方向,垂直方向,斜め方向の3つの方向において算出されている幅の平均値を用いている。
【0097】
該近接判定条件を、図9を参照して説明する。ここに、図9は、ファインダーパターンの候補同士の中心座標位置が近接する条件の例を示す模式図である。図9に示すように、前述の近接判定条件のうち、式(7),(8)は、2つのファインダーパターンの候補の中心座標が、互いに、相手方のファインダーパターンの中心部のパターンを示す(3×3)セルの黒正方形の内部にあることと同等であることを示している。更に、ファインダーパターンの候補の大きさ即ち幅を評価する式(6)は、式(7),(8)に示す近接判定条件を満たす候補ファインダーパターン同士が、ファインダーパターンの大きさについても、(9/8)倍即ち12%よりも少ない隔たりしかないほど略近似した大きさであることを示すものであり、同一の候補ファインダーパターンが検出されているものとして、統合対象として許容するものであり、逆に言えば、たとえ、式(7),(8)に示す近接判定条件を満たす候補ファインダーパターン同士であったとしても、ファインダーパターンの大きさが大きく離反している場合には、互いに異なるパターンとして統合対象から除外することを意味している。
【0098】
前記近接判定条件即ち式(6),(7),(8)を満たす関係にあるファインダーパターンの候補同士を統合して一つのファインダーパターンの候補に纏める。かかる統合を行なう場合、統合するファインダーパターンの候補の中心座標位置及び幅については、両者の平均値を用い、評価値については、両者の合算値を用いて、統合する。
【0099】
例えば、図7に示すごとき評価値テーブルに記録されているファインダーパターンの候補に対して、前記近接判定条件即ち式(6),(7),(8)を満たす関係にあるファインダーパターンの候補を統合した結果は、図8のごとき統合結果となる。ここに、図8は、図7に示す評価値テーブルに記録されているファインダーパターンの候補に対する統合整理結果の評価値テーブルの一例を示す構成図である。
【0100】
即ち、図8に示すように、候補番号0と1とが統合されて新たに候補番号0として記録され、中心座標位置と幅とはそれぞれの平均値が、評価値はそれぞれの合算値が設定され、候補番号2と3とが統合されて新たに候補番号2として記録され、中心座標位置と幅とはそれぞれの平均値が、評価値はそれぞれの合算値が設定され、候補番号5と6とが統合されて新たに候補番号5として記録され、中心座標位置と幅とはそれぞれの平均値が、評価値はそれぞれの合算値が設定され、候補番号7と8とが統合されて新たに候補番号7として記録され、中心座標位置と幅とはそれぞれの平均値が、評価値はそれぞれの合算値が設定される。
なお、候補番号4は、候補番号2及び3と同じ中心座標位置を有しているが、近接判定条件のうち、ファインダーパターンの候補の大きさを評価する条件1即ち式(6)を満たしていないので、候補番号2及び3のいずれとも統合されないまま、図8の評価値テーブルに残される。
【0101】
以上のようにして、統合整理された最終的な評価値テーブルを順次検索して、近似度の大きさを示す評価値が大きい値となっている上位3位の3つの候補(即ち、2次元コードのファインダーパターンに所要の個数分)のファインダーパターンを選択して、3つのファインダーパターンとして決定する。例えば、図8に示す評価値テーブルの場合であれば、評価値が大きい候補番号0と5と7とに記録されているファインダーパターンの候補が2次元コードの3つのファインダーパターンとして決定され、かかる3つの座標(52,215),(172.5,88),(175,212)がファインダーパターンの中心座標位置として決定される。
【0102】
もし、統合整理後の評価値テーブルにファインダーパターンの候補が3つ(即ち、2次元コードのファインダーパターンに所要の個数分)以上存在していなければ、ファインダーパターンの検出は失敗したことになる。
なお、前述の実施例においては、式(6)を用いて、ファインダーパターンの候補同士の大きさの近似度を評価する例を示しているが、本発明においては、かかる場合に限るものではなく、2次元コードの種類や用途や入力画像の画質などに応じて、近似度を更に厳密にしたり、逆に、緩和したり、使用者の所望する任意の条件に設定することが可能である。
【0103】
また、式(7),(8)を用いて、ファインダーパターンの候補同士の中心座標位置の近接度を評価する例を示しているが、本発明においては、かかる場合に限るものではなく、2次元コードの種類や用途や入力画像の画質などに応じて、使用者の所望する任意の条件に設定することが可能である。例えば、式(7),(8)の条件を緩和して、ファインダーパターンの候補同士が近接して互いのパターンが重なり合うような位置において検出されている場合、互いのファインダーパターンの候補を統合対象とみなすようにしても良い。
【0104】
次に、図3のステップS104におけるセルサイズの決定の手順について説明する。
即ち、前述のごとき手順により3つのファインダーパターンが決定されると、決定された3つのファインダーパターンの幅に基づいて、当該2次元コードを構成するセルの大きさを示すセルサイズを決定する。例えば、3つのファインダーパターンの幅を平均して、セルサイズを算出するファインダーパターンの幅として決定する。ファインダーパターンは、7セル分の幅によって構成されているので、各ファインダーパターンの幅の平均値を求めることにより決定されたファインダーパターンの幅をセル数7で除することにより、当該2次元コードを構成するセルのセルサイズを算出する。
【0105】
例えば、図8に示す評価値テーブルの場合であれば、ファインダーパターンの幅は、各ファインダーパターンの幅の平均値として
(34+31.5+32)/3=32.5
であり、セルサイズは、32.5/7=4.6 と算出される。
なお、ここで、3つのファインダーパターンの幅の平均値に基づいて、セルサイズを算出する例を示しているが、本発明においては、かかる場合のみに限るものではなく、例えば、2次元コードの種類や利用形態などに応じて、歪んだ状態の2次元コードにも厳密に対応する場合には、3つのファインダーパターン毎にそれぞれ有意な異なる幅を検出している場合、各ファインダーパターン毎にそれぞれが存在している周辺のセル毎に異なるセルサイズを算出して適用することとしても良い。
【0106】
次に、図3のステップS105における2次元コードの向きの決定手順について、詳しく説明する。
まず、基準ファインダーパターンF0(即ち、矩形状(正方形状を含む)の2次元コードの3隅に配置されている3つのファインダーパターンの中心点を相互接続して形成される直角三角形の直角の位置にあるファインダーパターン:図5参照)を求める手順を説明する。
【0107】
前述の手順により決定された3つのファインダーパターンの中心座標位置を頂点とする三角形を考える。
次に、かくのごとき三角形における各辺の長さ或いは各辺の長さの自乗を求め、最大の値を有する辺を決定する。更に、最大の値となる辺に含まれていない頂点を基準ファインダーパターンF0の中心座標とする。かかる手順に基づいて基準ファインダーパターンF0を求めることにより、2次元コード即ちファインダーパターンが、歪んだ状態で入力されている入力画像のように、入力画像中で矩形状(正方形状を含む)として表示されていない場合であっても、基準ファインダーパターンF0の中心座標を求めることができる。
例えば、図8に示す評価値テーブルの場合であれば、基準ファインダーパターンは、候補番号7のファインダーパターンが該当することとなる。
【0108】
なお、一般的に、座標(xi,yi)と座標(xj,yj)とが判明している場合に、座標(xi,yi)と座標(xj,yj)とを結ぶ直線の長さをlとした場合、以下の関係が成立するので、前記三角形における各辺の長さ或いは各辺の長さの自乗は、3つのファインダーパターンの中心座標それぞれの差の自乗を加算して求めれば良い。
l2=(xi−xj)2+(yi−yj)2 …(9)
【0109】
次に、基準ファインダーパターンF0以外の他の2つのファインダーパターンの位置関係を求める手順について説明する。基準ファインダーパターンF0と他のファインダーパターンF1,F2の位置関係については、図5に示すように構成されている。
基準ファインダーパターンF0の中心点を中心にして、図10に示すように4つの領域に分割した場合において、残り2つのファインダーパターンF1,F2の中心点がどの領域に属しているかを判定する手順について説明する。ここで、図10は、基準ファインダーパターンF0の中心点を原点とするx座標及びy座標を時計回りの方向に45°回転された位置における第1象限乃至第4象限をそれぞれ領域0乃至領域3とする一例を示す領域分割図である。
【0110】
例えば、基準ファインダーパターンF0の座標を(xF0,yF0)とし、検査対象のファインダーパターンF1,F2の座標を(x,y)とした場合、以下に示す条件により、検査対象のファインダーパターンF1,F2が属する領域を判定する。
【0111】
領域0に属する条件
(y−yF0)≦(x−xF0)かつ(y−yF0)>−(x−xF0)…(10)
領域1に属する条件
(y−yF0)>(x−xF0)かつ(y−yF0)>−(x−xF0)…(11)
領域2に属する条件
(y−yF0)>(x−xF0)かつ(y−yF0)≦−(x−xF0)…(12)
領域3に属する条件
(y−yF0)≦(x−xF0)かつ(y−yF0)≦−(x−xF0)…(13)
【0112】
式(10)乃至(13)のいずれを満たしているかにより、基準ファインダーパターンF0以外の2つのファインダーパターンF1,F2の中心座標が属する領域を決定することができる。即ち、前述のごとく、検出された3つのファインダーパターンF0,F1,F2の中心点の座標位置に基づいて、2次元コードの向き(即ち、2次元コードが回転された状態で入力されているか否かを示す2次元コードの向き)を決定することができる。
【0113】
図11は、図5に示す2次元コードの方向(向き)と図10に示す4つの領域との組み合わせの関係を表示する関連図である。即ち、図11の関連図に示す表に従い、基準ファインダーパターンF0以外の2つのファインダーパターンF1,F2の中心点の座標位置が属する2つの領域の組み合わせにより、2次元コードの方向が決定されている。図11の関連図に示す表において、方向が記述されていない欄(即ち、「−」を付して示している欄)に当て嵌まるような2つのファインダーパターンF1,F2の中心点の座標位置が属する領域の組み合わせは、不正な組み合わせと判定され、2次元コードの方向の決定は失敗となる。
【0114】
例えば、図5(A)に示す2次元コードの方向0の場合には、基準ファインダーパターンF0に対し、右側方向にある(即ち、図10の領域0に属する)ファインダーパターンがF1であり、下側方向にある(即ち、図10の領域1に属する)ファインダーパターンがF2であり、図11に示すごとく、領域0と1との組み合わせの領域に2つのファインダーパターンF1,F2が属している場合は、2次元コードの方向が、図5(A)に示す方向0にあると決定することができる。しかし、例えば、図11の「−」で示す欄の一例として領域0と領域2とに属しているようなファインダーパターンF1,F2の組み合わせが検出された場合は、2次元コードの方向を決定することができないものとして、2次元コードの読み取り動作を打ち切る。
【0115】
即ち、2次元コードの各方向とファインダーパターンF1,F2の中心座標が属する各領域との関係を整理して示すと、図12のようになる。ここに、図12は、図5に示す2次元コードの各方向とファインダーパターンF1,F2の中心点の座標位置が属する各領域との関係を表示する関連図である。図12に示すように、2次元コードの方向0の場合には、ファインダーパターンF1の中心点の座標位置が領域0に属し、ファインダーパターンF2の中心点の座標位置が領域1に属している。
【0116】
なお、本実施例においては、2次元コードの各方向とファインダーパターンF1,F2の中心点の座標位置が属する各領域との対応関係が、2次元コードに傾きが生じていない場合における2次元コードの方向を決定している例を示しているが、本発明は、前述のごとく、かかる場合のみに限るものではなく、2次元コードに傾きを伴っている場合であっても、類似の方法を用いて、2次元コードの向きが回転しているか否かを、ファインダーパターンF0,F1,F2の各中心点の座標位置に基づいて判定することができる。
【0117】
次に、図2のステップS003におけるアライメントパターンの位置検出を行なう手順について更に詳しく説明する。
図13に、アライメントパターンの位置検出を行なう処理の流れの一例を、フローチャートを用いて示している。
まず、2次元コードの回転角度を検出する(ステップS301)。ここでは、これまでの説明のごとき手順により求められたファインダーパターンF0,F1,F2のそれぞれの中心点F0C,F1C,F2Cの中心座標位置を用いて、2次元コードがどの程度回転しているかを検出する。
【0118】
回転角度は、図14に示すように、2次元コードの基準ファインダーパターンF0を中心として、図12に示すごとく、2次元コードの方向(向き)と領域との関係が決定された状態において、ファインダーパターンF1が水平方向又は垂直方向から時計回りの方向に回転している回転角度Rで与えられるものとする。例えば、図14に一例を示すように、2次元コードのファインダーパターンF1の中心点の座標位置が領域0に属する図12に示す方向0の場合において、回転角Rが0°の場合であれば、図5(A)における方向0のように、基準ファインダーパターンF0とファインダーパターンF1とが水平な位置に位置している状態であり、2次元コードが回転していない状態にある。
【0119】
ここに、図14は、2次元コードの水平又は垂直方向からの回転角度の一例を示す模式図であり、2次元コードのファインダーパターンF1の中心点の座標位置が領域0に属する図12に示す方向0の場合の例を示すものであり、かかる場合においては、ファインダーパターンF1の中心点の座標位置がファインダーパターンF0の水平左方向から回転している回転角度Rを示すことになる。また、2次元コードのファインダーパターンF1の中心点の座標位置が、図12に示す領域1,領域2或いは領域3に属する場合は、それぞれ、ファインダーパターンF1の中心点の座標位置がファインダーパターンF0の垂直下方向,水平右方向或いは垂直上方向から回転角度Rだけ回転していることになる。
【0120】
即ち、回転角度Rとしては、時計回りの回転を正、反時計回りの回転を負の値として表現し、±45度(°)の範囲(即ち、2次元コードの各方向0,1,2,3に対応する図10に示す領域0,1,2,3のいずれかの範囲内)において、例えば、単位を5度(°)単位として、2次元コードの回転角度Rの検出を行なう。
ここで、5度(°)単位とする回転角度Riラジアン(=360°×(Ri/2π))に対するtan値、即ち、
tanRi
なお、Ri=(π/36)×i (i=0,1,2,…,9)
について、10個のtan値を有するテーブルを予め用意しておく。
【0121】
2次元コードの入力画像内において検出されたファインダーパターンF0,F1,F2それぞれの中心点F0C,F1C,F2Cの中心座標位置をそれぞれ(xF0,yF0),(xF1,yF1),(xF2,yF2)とすると、2次元コードに傾きを伴っていない場合においては、2次元コードの回転角度Rのtan値は、それぞれ、
方向0の場合、tan(R)=(yF1−yF0)/(xF1−xF0) …(14)
方向1の場合、tan(R)=(yF0−yF2)/(xF0−xF2) …(15)
方向2の場合、tan(R)=(yF0−yF1)/(xF0−xF1) …(16)
方向3の場合、tan(R)=(yF2−yF0)/(xF2−xF0) …(17)
として与えられる。
【0122】
即ち、ファインダーパターンF0,F1,F2それぞれの中心点F0C,F1C,F2Cの中心座標と2次元コードの方向とから、前記式(14)乃至(17)のいずれかの式を用いて、tan(R)が求められる。求められたtan(R)の値を予め用意しているtanRiのテーブル値と比較することにより、回転角度Rを求めることができる。
【0123】
次に、図13のフローチャートに示すように、2次元コードの傾きに対応するアライメントパターンを抽出するために精査する探索範囲を決定する際の基準となる探索基準点を決定する(ステップS302)。
即ち、3つのファインダーパターンF0,F1,F2の中心点を、図15に示すごとく、F0C,F1C,F2Cとする。更に、2次元コードの頂点を、それぞれA,B,C,Dとし、頂点A,B,Cの3つの隅の位置にそれぞれ3つのファインダーパターンF0,F1,F2が配置されている。ここに、図15は、2次元コードにおけるアライメントパターンの探索基準点の位置の一例を示す模式図である。
【0124】
図15において、アライメントパターンPの探索基準点を、点Hで示している。ここに、探索基準点Hは、ファインダーパターンF1の中心点F1Cを通り、辺BDに平行な直線S1と、ファインダーパターンF2の中心点F2Cを通り、辺CDに平行な直線S2との交点である。
ここで、探索基準点Hを求めるには、辺BD即ち直線BD及び辺CD即ち直線CDの傾きを求めることが必要である。直線BDと直線CDとの傾きは、図16に示すように、直線BDと直線CDとに接して配置されているファインダーパターンのエッジを追跡することにより、算出することができる。図16は、ファインダーパターンのエッジ追跡の一例を示す模式図である。
【0125】
まず、図16に示すように、2次元コードの1辺である直線BDと接し、直線BDの一部を形成しているファインダーパターンF1の外輪郭の各画素の位置を検出するために、ファインダーパターンF1の中心点F1Cから垂直方向に走査し、ファインダーパターンF1の両端の点a,bを求める。点aは、ファインダーパターンF1の中心点F1Cから出発し、垂直上方向に走査したとき、2回目の黒画素の連続するランの終わりの点であり、点bは、垂直下方向に走査したとき、2回目の黒画素の連続するランの終わりの点である。
【0126】
次に、垂直線である線分ab上の各点から水平右方向に順次走査し、線分ab上の各点において、ファインダーパターンF1の右端にある黒画素の連続するランが終了する上下両端の黒画素の点とファインダーパターンF1の右端にある黒画素の連続するランが終了する最右端の黒画素の点とを追跡していく。かかるエッジ追跡により、最終的には、点aに対応する上端の黒画素の追跡終了点c,点bに対応する下端の黒画素の追跡終了点eの各座標を検出して記録すると共に、線分ab上の各点の走査においてファインダーパターンF1の右端にある黒画素の連続するランが終了する最右端の点即ちx座標(水平座標)の座標値が最大となる追跡最終点dの座標位置を記録しておく。
【0127】
ここで、2次元コードの回転が時計周り即ち正方向であれば、線分deの傾きを直線BDの傾きとし、反時計周り即ち負方向であれば、線分cdの傾きを直線BDの傾きとする。
図16(A)は、回転が時計周り即ち正方向である場合の例であり、図16(B)は、回転が反時計周り即ち負方向である場合の例を示すものである。即ち、回転が時計周り即ち正方向の場合は、図16(A)に示すように、追跡開始点aと追跡終了点cとは同一となり、回転が反時計周り即ち負方向の場合は、図16(B)に示すように、追跡開始点bと追跡終了点eとが同一となる。
【0128】
回転が時計周り即ち正方向の場合は、追跡最終点dと追跡終了点eとの各座標位置が示すファインダーパターンF1の外輪郭の傾きにより、ファインダーパターンF1の外輪郭が一部を構成している直線BDの傾きを求めることができ、一方、回転が反時計周り即ち負方向の場合は、追跡終了点cと追跡最終点dとの各座標が示すファインダーパターンF1の外輪郭の傾きにより、ファインダーパターンF1の外輪郭が一部を構成している直線BDの傾きを求めることができる。即ち、ファインダーパターンF1が位置する2次元コードの辺BDの一部を形成するファインダーパターンF1の外輪郭を構成している各画素の座標位置のうち、少なくとも2つの画素の座標位置を検出することにより、辺BD即ち直線BDの傾きを求めることができる。
全く同様にして、ファインダーパターンF2が位置する辺CD即ち直線CDの傾きも求めることができる。
【0129】
2つの直線BDの傾きと直線CDの傾きとがそれぞれ算出されれば、図15に示すように、ファインダーパターンF1の中心点F1を通り、直線BDに平行な直線S1と、ファインダーパターンF2の中心点F2を通り、直線CDに平行な直線S2との交点を計算により求めることができ、而して、直線S1と直線S2との交点を、アライメントパターンPを探索する基準点となる探索基準点Hとして決定することができる。
【0130】
図15に前述したアライメントパターンの探索基準点Hの算出方法の例は、ファインダーパターンF1が領域0に属し、ファインダーパターンF2が領域1に属する場合、即ち、2次元コードが方向0の状態にある場合を例に採って説明したが、2次元コードが方向0以外の方向にある場合についても、全く同様な処理により、2次元コードの辺の一部を構成するファインダーパターンについて、当該ファインダーパターンの端にある黒画素の連続するランの追跡終了点c,e及び追跡最終点dとを追跡して検出することにより、当該ファインダーパターンの外輪郭の傾きを求めて、2次元コードの辺の傾きを検出することができ、もって、方向0の場合と同様に、2次元コードがいずれの方向に回転している状態においても、アライメントパターンPに関する探索基準点Hを求めることができる。
【0131】
次に、図13のフローチャートに示すように、アライメントパターンPの探索範囲の決定を行なう(ステップS303)。アライメントパターンPの探索範囲の一例を示す図17を用いて説明する。図17は、アライメントパターンPの探索範囲を決定する一例を説明するための模式図である。
図17において、アライメントパターン探索のための基準となる探索基準点Hの座標を(xH,yH)とし、セルサイズをcsとする。
【0132】
2次元コードが回転していない場合には、アライメントパターンPの中心点が存在していると予測される座標位置である予測中心座標位置PPは、探索基準点Hより予め定められている距離だけ離れた位置、例えば、3セルサイズ分内側の位置に存在していることになり、(xH−3cs,yH−3cs)となる。而して、アライメントパターンPの探索範囲PRは、該予測中心座標位置PPを中心として、該アライメントパターンP(5×5セルサイズ)を必要十分にカバーする範囲、例えば、水平・垂直の両方向に、それぞれ、少なくとも2セル分の余裕を有している幅(5+2n)×cs(n:整数)からなる矩形形状の範囲内を探索範囲PRとして設定する。
【0133】
即ち、探索範囲PRとしては、探索基準点Hから予め定められた距離だけ離れた位置(例えば、3セルサイズ分離れた位置)をアライメントパターンPの中心点が配置されていると予測される予測中心座標位置PPとして、該予測中心座標位置PPから少なくとも2セルサイズ分の余裕を持ってアライメントパターンPのパターンを含むに十分な領域を設定することとしている。
【0134】
なお、2次元コードが、前述の図14に示すように、回転角度Rだけ回転している場合には、探索基準点Hに対して、下記の式(18)により、2次元コードの回転を補正した補正探索基準点H’を計算する。
【0135】
【数1】
【0136】
ここで、(xF0,yF0)は、ファインダーパターンF0の中心点F0Cの中心座標である。
回転角度Rの回転が補正された後の補正探索基準点H’を用いた場合のアライメントパターンPの補正予測中心座標PP’は、
(xH'−3cs,yH'−3cs)
となる。而して、回転が伴う場合のアライメントパターンPの補正探索範囲PR’としては、該補正予測中心座標PP’を中心として、回転角度Rだけ探索範囲PRを回転させた領域であり、当該アライメントパターンP(5×5セルサイズ)を必要十分にカバーする範囲、例えば、幅(5+2n)×cs(n:整数)からなる矩形形状の範囲内を補正探索範囲PR’として設定する。
ここで、補正探索範囲PR’内の画素の回転補正後の座標を(x’,y’)とすると、該回転補正後の座標(x’,y’)に対応する回転補正前の入力画像の座標(x、y)は、下記の式(19)により求められる。これにより、アライメントパターンPの探索範囲PR内のみを回転補正した部分画像を作成する。
【0137】
【数2】
【0138】
ここで、(xF0,yF0)は、ファインダーパターンF0の中心点F0Cの中心座標である。
回転が検出されなかった画像については、原画像における探索範囲PR内の部分画像を切り出して、一方、回転が検出された画像については、回転を補正した補正探索範囲PR’内の部分画像を切り出して、いずれかの対象とする部分画像内からアライメントパターンPに固有の第2のパターン(ファインダーパターンに固有の第1のパターンとは異なるパターンとして予め定められている固有の第2のパターン)に合致するパターンを抽出することになる。
【0139】
本発明においては、アライメントパターンPを抽出する処理を行なう際に、アライメントパターンPに固有の第2のパターンが有する特徴に合致したテンプレートを用いたテンプレートマッチングを切り出された前記部分画像に対して行なう。ここで、テンプレートマッチングに用いる入力画像としては、2値化処理が施される前の入力画像(原画像信号)を用いる。もって、入力画像の画質があまり良くない場合のように、2値化処理により白画素のつぶれや黒画素のかけが伴うような場合であっても、2値化処理前の入力画像を用いることにより、アライメントパターンPを正しく検出することを可能としている。
【0140】
テンプレートマッチングに用いるテンプレートは、探索対象のアライメントパターンの5×5セルの形状に一致した形状を有し、セルサイズに基づいて定倍された大きさのテンプレートを用いる。また、該テンプレート内の画素値としては、例えば、2値化前の入力画像(原画像信号)が、明(白)から暗(黒)への変化に従い、255から0の範囲の各種レベルの値を採り得るものとすれば、テンプレートの黒画素については0を、白画素については255を画素値として割り当てるようにする。
また、テンプレートマッチング処理を簡単に実施できるように、前述のごとく、2次元コードが回転されている状態にある場合には、回転補正を施した後の補正探索範囲PR’内の部分画像を用いている。
【0141】
而して、前記探索範囲PR又はPR’から切り出された部分画像内を1画素単位で順次ずらしながら、テンプレートを構成している全画素の画素値とそれぞれの画素位置に対応している部分画像内の画素の画素値との画素毎の差分に関する絶対値総和を計算するテンプレートマッチングを行なう(図13に示すステップS304)。
前記探索範囲PR又はPR’から切り出された部分画像内の全画素に亘って、1画素単位でずらして得られた差分の絶対値総和のうち、該差分の絶対値総和が最小となるテンプレートの中心座標をアライメントパターンP又はP’の中心点PC又はPC’(回転なしの場合、アライメントパターンPの中心点P、回転を伴う場合、アライメントパターンP’の中心点PC’)の中心座標として決定する(ステップS305)。
【0142】
ここに、回転補正を行なっていた場合には、アライメントパターンP’の中心点PC’の中心座標として決定された回転画像を、式(19)により更に回転させて、回転補正前の入力画像におけるアライメントパターンPの中心点PCの中心座標を算出する。而して、たとえ、入力画像の2次元コードに回転や傾斜がある場合であっても、或いは、画質が良くない場合であっても、検出されているファインダーパターンF0,F1,F2の座標位置に基づいて、アライメントパターンPの中心点PCの中心座標位置を確実に検出することができる。
【0143】
次に、図2のステップS004において行なわれるバージョン判定について更に詳細に説明する。
まず、矩形状(正方形状を含む)からなる2次元コードの3隅に配置されている同じ形状からなるファインダーパターンF0,F1,F2について、2次元コードの1辺を形成するファインダーパターンF0,F1それぞれの中心点F0C,F1C間のファインダーパターン間距離と、2次元コードの他の1辺を形成する同F0,F2それぞれの中心点F0C,F2C間のファインダーパターン間距離とを、それぞれの座標位置に基づいて算出して、算出された2つのファインダーパターン間距離の平均値を求める。
【0144】
しかる後、ファインダーパターン間距離の平均値を前述した図3のステップS104に示す手順により算出されているセルサイズで除算をして、商を求めることにより、2次元コードのセル数を算出する。而して、当該2次元コードのセル数を決定する2次元コードのバージョンを判定することが可能であるが、本発明においては、バージョンの判定誤りに伴う2次元コードの読み取り失敗を防止するために、2次元コードのバージョンと該バージョンにより決定される登録セル数(バージョンに対応する2次元コード即ちファインダーパターン間のセル数)との対応を示すバージョン登録テーブルを備えている。
【0145】
即ち、算出された前記商の値(セル数)により、バージョン登録テーブルを検索することにより、バージョン登録テーブル予め設定登録されている登録セル数の中から、一致或いは最も近接した値(セル数)を有する登録セル数を選択し、該登録セル数に対応するバージョンを、対象とする入力画像における2次元コードのバージョン番号として判定する。なお、バージョン登録テーブルのバージョン番号は、2次元コードのセル数の順番に付与されており、バージョン番号が増加するほど、2次元コードのセル数が増加していくようにされている。
【0146】
次に、図2のステップS005において行なわれるデータセルの切り出しについて説明する。図18に、データセルの切り出し処理に関する流れの一例を、フローチャートを用いて示している。
【0147】
まず、各データセルのデータ値が、明(白)であるか、あるいは、暗(黒)であるかを識別するための閾値である明暗閾値を決定する(ステップS401)。
データセルの明暗(即ち白黒)を識別するための明暗閾値の決定方法を説明する模式図である図19を用いて更に説明すると、次の通りである。即ち、2次元コードの3隅に配置されているファインダーパターンF0,F1,F2のうち、対角の位置に配置されているファインダーパターンF1の中心点F1CとファインダーパターンF2の中心点F2Cとを結ぶ線分である対角線J上にある入力画像の各画素の画素値を全て走査し、対角線J上のすべての画素の画素値を比較して、該画素値の最大値と最小値とを求める。しかる後、対角線J上の画素値の最大値と最小値との中間の値(平均値)をデータセルの明暗(即ち白黒)の識別用の明暗閾値として決定する。なお、対角線J上にあるすべての画素の画素値を用いて、明暗閾値を設定する代わりに、対角線J上にあるすべてのデータセルのセル中心位置に対応する入力画像の座標位置における各濃度のうち、最大値と最小値との中間の値を明暗閾値として設定するようにしても良い。
【0148】
次に、各データセルのセル中心位置を入力画像中の座標位置に変換するための座標変換式の変換係数を計算する(ステップS402)。
即ち、2次元コードの各データセルのセル中心位置を示す座標位置を(u,v)とした時、該各データセルのセル中心位置(u,v)に対応する入力画像中の座標位置(x,y)に変換する座標変換式は、下記の式(20)及び式(21)のように与えられる。
x=(b00u+b01v+b02)/(u+b21v+b22) …(20)
y=(b10u+b11v+b12)/(u+b21v+b22) …(21)
式(20)及び(21)において、これまでに決定した4つの基準点の座標位置即ちファインダーパターンF0,F1,F2とアライメントパターンPとのそれぞれの中心点の位置を示すセル中心位置の座標位置を代入することにより、変換係数bij(ここに、ij=00,01,02,10,11,12,21,22)を計算する。
【0149】
前述のごとく、ステップS004において決定されたバージョン番号により、2次元コードを構成するセル数m×mが決定されている。入力画像において、2次元コードのセル数がm×mの個数で構成されているとすると、ファインダーパターンF0,F1,F2及びアライメントパターンPの各中心点F0C,F1C,F2C及びPCのセル中心位置を示す座標位置(u,v)は、図20に示すように、2次元コードの左上隅をセル座標の原点として、それぞれ、(3,3),(m−4,3),(3,m−4),(m−7,m−7)のごとき座標位置を有するセル位置となる。ここに、図20は、2次元コードの形状と、基準となる4つの基準点のセル位置との関係を示す模式図である。
【0150】
従って、ファインダーパターンF0,F1,F2それぞれの中心点の入力画像中の座標位置(xF0,yF0),(xF1,yF1)及び(xF2,yF2)とアライメントパターンPの中心点PCの入力画像中の座標位置(xp,yp)に対応する、それぞれのセル中心位置を示す座標位置(u,v)を、前記式(20)及び(21)の座標変換式に代入すれば、以下の関係が成立する。
【0151】
xF0=(b003+b013+b02)/(3+b213+b22) …(22)
yF0=(b103+b113+b12)/(3+b213+b22) …(23)
xF1=(b00(m−4)+b013+b02)/((m−4)+b213+b22)…(24)
yF1=(b10(m−4)+b113+b12)/((m−4)+b213+b22)…(25)
xF2=(b003+b01(m−4)+b02)/(3+b21(m−4)+b22)…(26)
yF2=(b103+b11(m−4)+b12)/(3+b21(m−4)+b22)…(27)
xp=(b00(m−7)+b01(m−7)+b02)/((m−7)+b21(m−7)+b22) …(28)
yp=(b10(m−7)+b11(m−7)+b12)/((m−7)+b21(m−7)+b22) …(29)
【0152】
上記の式(22)乃至(29)に示す8つの連立方程式を解くことにより、各データセルのセル中心位置を入力画像中の座標位置に変換するための8個の変換係数bij(ij=00,01,02,10,11,12,21,22)を求めることができる。
【0153】
次に、図18のフローチャートにおいて、変換件数bijが算出された前記座標変換式即ち式(20)及び(21)を用いて、2次元コード内の各データセルのセル中心位置を入力画像中の座標位置に変換する(ステップS403)。
ここで、ステップS403において変換された各データセルのセル中心位置に対応する入力画像の座標位置が、入力画像中の画素位置に一致している場合であれば、一致している該画素の画素値をそのままデータセルのデータ値を決定するための濃度として用いることができるが、各データセルのセル中心位置に対応する入力画像の座標位置が、入力画像中の画素と画素との間に位置する場合があるので、かかる場合には、データセルのデータ値を決定するための濃度に関する濃度補正を施し(ステップS404)、セルの値を決定する(ステップS405)。
該濃度補正は、当該座標位置に隣接している4つの周辺画素の画素値を線形補間して行なうことができる。
【0154】
線形補間を行う方法を、4つの隣接画素の画素値を用いた線形補間の一例を示す図21を用いて更に説明すると、次の通りである。
セル位置に対応する座標(i+α,j+β)における画素値Q(i+α,j+β)は、下記の式(30)で与えられる。但し、i,jは、入力画像中の画素の位置に対応する整数であり、α,βは、画素値Q(i,j)を有する画素(i,j),画素値Q(i+1,j)を有する画素(i+1,j),画素値Q(i,j+1)を有する画素(i,j+1),画素値Q(i+l,j+1)を有する画素(i+1,j+1)に囲まれた領域内において、データセルのセル中心位置が存在している位置を示すための相対値を与えるものとして、それぞれ、画素(i,j)からの横方向,縦方向の位置を示す値であり、0<α<1,0<β<1の範囲内にある。
【0155】
即ち、各データセルのセル中心位置に対応する入力画像の座標位置が、入力画像中の画素と画素との間に位置する場合、下記の式(30)を用いて、線形補間を行なうことにより、データセルのデータ値を決定するための濃度を得ることができる。
【0156】
データセルのセル中心位置に対応する入力画像中の画素が存在する場合には、前述のごとく、対応する画素の画素値を、データセルのデータ値を決定するための濃度とし、一方、セル中心位置に対応する入力画像中の画素が存在していない場合には、式(30)を用いた濃度補正により決定した濃度を用いて、図18のステップS401において決定された明暗閾値と比較することにより、2次元コードの各データセルの明(白)・暗(黒)いずれのデータ値であるかを決定することができ、当該データセルを切り出すことができる。
従って、かかる手順を繰り返すことにより、従来技術のごとく、データセルのセルサイズに対応する入力画像中の全画素の画素値を抽出して、白,黒の各画素の画素数を集計して、はじめて、当該データセルのデータ値を決定するような、大きな処理量を要する手順を行なう必要もなく、2次元コード内の全てのデータセルを簡潔な手順により迅速に切り出すことができる。
【0157】
更に、以上に説明したように、本発明においては、従来技術のごときタイミングパターンを備えることもなく、ファインダーパターンF0,F1,F2とアライメントパターンPの4つの基準点のみを用いて座標変換式により各データセルの位置を、容易、かつ、迅速に特定することが可能であり、更に、特定された位置にあるデータセルのデータ値を、セル中心位置に対応する座標位置の濃度を用いて迅速に決定し、全てのデータセルを確実に切り出すことができる。しかる後、切り出された全てのデータセルのデータ値の並び即ちビット列を、予め定められた規則に従って、デコードすることにより、文字列等の情報に変換することにより、2次元コードの読み取り動作を従来技術に比し格段に少ない処理量により完了させることができる。従って、たとえ、処理能力がそれほど高くないカメラ内蔵の携帯電話機などの携帯端末に対しても、本発明に係る2次元コード読み取り方法を適用することができる。
【0158】
【発明の効果】
本発明に係る2次元コード読み取り装置,2次元コード読み取り方法,2次元コード読み取りプログラム及び該プログラムの記録媒体によれば、比較的解像度が低く、ノイズが含まれている画質が良くない入力画像の中からでも、2次元コードのファインダーパターンやアライメントパターンを精度よく検出することができる。また、2次元コードのファインダーパターンを検出する際に、水平方向及び垂直方向のみならず、斜め方向からも2次元コードの白及び黒のランを評価することにより、たとえ、2次元コードが入力画像中で水平方向から回転した状態に存在している場合であっても、ファインダーパターンを正しく検出することが可能である。また、ファインダーパターンの座標位置に基づいて、2次元コードの回転の有無を判定し、2次元コードが回転している状態であれば、回転補正を施して、アライメントパターンを抽出することとしているので、回転している状態にあっても、アライメントパターンを確実に検出することができる。
【0159】
2次元コードの基準となる4点(即ち、3つのファインダーパターンと1つのアライメントパターン)の位置を検出することのみにより、2次元コードのデータセルの切り出しを行なうことを可能としているので、従来技術のごときタイミングパターンなどの検出を行なう処理を省略することが可能となり、2次元コード読み取り動作全体に要する処理量を節約することができる。
【0160】
2次元コードが矩形状(正方形状を含む)から歪んでいる状態にある場合であっても、ファインダーパターンの座標位置から、2次元コードの傾きを求めて、アライメントパターンが存在する探索範囲を正確に求めることができ、探索範囲を正確に特定することができない従来技術とは異なり、アライメントパターンの存在位置を精査することに関する処理を結果的に大幅に減少せしめ、2次元コード読み取り全体に要する処理量を節約することができる。
【0161】
2次元コードのバージョンとセル数との対応を示すバージョン登録テーブルを備えているので、入力画像中の2次元コードから検出されたファインダーパターンに基づいて判定されたバージョンに誤りがあり、2次元コードの読み取りに失敗することがあったとしても、バージョン登録テーブルに基づいて、判定されたバージョンを1段階ずらして、再度読み取り動作を行なわせることが可能であり、バージョン判定の誤りによる、2次元コードの読み取り失敗の発生を最小限に抑えることができる。
【0162】
而して、処理能力が比較的小さいカメラ内蔵の携帯電話機などの携帯端末においても、本発明に係る2次元コード読み取り方法を適用することにより、2次元コードを高精度かつ迅速に読み取ることが実現できる。
【図面の簡単な説明】
【図1】QRコードの構成例を示す模式図である。
【図2】本発明に係る2次元コード読み取り装置における動作の流れの一例を示すフローチャートである。
【図3】ファインダーパターンの位置検出に関する動作の流れの一例を示すフローチャートである。
【図4】候補ファインダーパターンの候補中心座標位置の検出と評価値の記録に関する動作の流れの一例を示すフローチャートである。
【図5】2次元コードの向きとファインダーパターンの位置関係とを示す模式図である。
【図6】検出された候補ファインダーパターンの幅と候補中心座標位置とを説明するための模式図である。
【図7】検出されたファインダーパターンの候補を記録する評価値テーブルの一例を示す構成図である。
【図8】図7に示す評価値テーブルに記録されているファインダーパターンの候補に対する統合整理結果の評価値テーブルの一例を示す構成図である。
【図9】ファインダーパターンの候補同士の中心座標位置が近接する条件の例を示す模式図である。
【図10】基準ファインダーパターンF0の中心点を原点とするx座標及びy座標を時計回りの方向に45°回転された位置における第1象限乃至第4象限をそれぞれ領域0乃至領域3とする一例を示す領域分割図である。
【図11】図5に示す2次元コードの方向と図10に示す4つの領域との組み合わせの関係を表示する関連図である。
【図12】図5に示す2次元コードの各方向とファインダーパターンF1,F2の中心点の座標位置が属する各領域との関係を表示する関連図である。
【図13】アライメントパターンの位置検出を行なう処理の流れの一例を示すフローチャートである。
【図14】2次元コードの水平又は垂直方向からの回転角度の一例を示す模式図である。
【図15】2次元コードにおけるアライメントパターンの探索基準点の位置の一例を示す模式図である。
【図16】ファインダーパターンのエッジ追跡の一例を示す模式図である。
【図17】アライメントパターンPの探索範囲を決定する一例を説明するための模式図である。
【図18】データセルの切り出し処理に関する流れの一例を示すフローチャートである。
【図19】データセルの明暗(即ち白黒)を識別するための明暗閾値の決定方法を説明する模式図である。
【図20】2次元コードの形状と、基準となる4つの基準点のセル位置との関係を示す模式図である。
【図21】4つの隣接画素の画素値を用いた線形補間の一例を示す模式図である。
【図22】QRコードのデータセルの中心座標を算出する従来技術の様子を説明するための模式図である。
【符号の説明】
A,B,C,D…2次元コードの頂点、a,b…追跡開始点、c,e…追跡終了点、cs…セルサイズ、d…追跡最大点、E…セルの中心点、F,F0,F1,F2,F3…ファインダーパターン、F0C,F1C,F2C,Fa,Fb,Fc…ファインダーパターンの中心点、Fb’,Fc’…移動した点、H…探索基準点、H’…補正探索基準点、Hs…水平基準線、J…対角線、m…セル数、P,P’…アライメントパターン、PC,PC’,Pd…アライメントパターンの中心点、PP…予測中心座標位置、PP’…補正予測中心座標位置、PR…探索範囲、PR’…補正探索範囲、Q…画素値、R…回転角度、S1,S2,S3,S4…直線、T…タイミングパターン、Vs…垂直基準線、w…幅、wh…水平幅、wv…垂直幅、wo…斜め幅。
Claims (35)
- 2値データが記録されているデータセルを縦方向及び横方向の2次元状に配列することにより各種情報を表現する2次元コードを入力画像中から読み取る2次元コード読み取り装置であって、前記2次元コードが、前記入力画像中における当該2次元コードの位置を特定するために、該2次元コード内の所定の複数の位置に配置され、かつ、固有の第1のパターンからなるファインダーパターンと、前記入力画像において前記2次元コードが歪んだ状態で記録されている場合であっても、当該2次元コードのデータセル位置を正しく検出するために、当該2次元コード内の前記ファインダーパターンとは異なる所定の位置に配置され、かつ、前記ファインダーパターンに固有の前記第1のパターンとは異なる第2のパターンからなるアライメントパターンとを備え、前記2次元コードが記録された前記入力画像に対する複数方向からの走査結果に基づいて、白と黒との固有の前記第1のパターンからなる前記ファインダーパターンと近似したパターンを有するファインダーパターンの候補を候補ファインダーパターンとして前記入力画像の中から複数抽出し、かつ、抽出された複数の前記候補ファインダーパターンそれぞれに対して、水平方向、垂直方向、及び、斜め方向の3方向から、各候補ファインダーパターンを横切る走査線上における白と黒とからなるパターンの構成比をそれぞれ検出し、それぞれの方向において検出された白と黒とからなる各パターンの構成比を、前記ファインダーパターンとして予め定められた白と黒とからなる固有の前記第1のパターンの構成比と比較することにより、前記第1のパターンとの近似度を示す評価値を算出し、抽出された複数の前記候補ファインダーパターンのうち、前記評価値が示す近似度が大きい候補ファインダーパターンの順に、前記ファインダーパターンとして所定の個数分選択し、所定の個数分選択された前記ファインダーパターンそれぞれの位置を検出する処理を行ない、更に、検出された前記ファインダーパターンに基づいて、前記アライメントパターンの位置を検出する処理を行ない、更に、検出された前記ファインダーパターンに基づいて、当該2次元コードを構成するセル数を決定するバージョンの判定処理を行ない、検出された前記ファインダーパターンの位置と前記アライメントパターンの位置と、前記バージョンの判定処理により判定された前記バージョンとに基づいて、当該2次元コードを構成する各データセルのデータ値を決定するデータセル切り出しの処理を行ない、該データセル切り出しの処理により決定された各データセルのデータ値をビット列に変換して、予め定められた規則に従って、当該2次元コードの情報を特定するデコード処理を行なうことを特徴とする2次元コード読み取り装置。
- 請求項1に記載の2次元コード読み取り装置において、抽出された複数の前記候補ファインダーパターンそれぞれの水平方向、垂直方向、及び、斜め方向のいずれかの方向において、前記ファインダーパターンに固有の前記第1のパターンとの近似度を示す前記評価値が、予め設定されている閾値を超えて、近似していないことを示す値として算出された場合、該候補ファインダーパターンを前記ファインダーパターンの候補から除外することを特徴とする2次元コード読み取り装置。
- 請求項2に記載の2次元コード読み取り装置において、前記閾値が、2次元コードの種類及び用途更には入力画像の画質に応じて、使用者が所望する任意の値に予め設定することができることを特徴とする2次元コード読み取り装置。
- 請求項1乃至3のいずれかに記載の2次元コード読み取り装置において、複数抽出された前記候補ファインダーパターンのうち、互いのパターンが近接して重なり合う位置にある前記候補ファインダーパターンが抽出されている場合、互いに重なり合う位置にある前記候補ファインダーパターン同士を一つの候補ファインダーパターンとして統合し、統合される前のそれぞれの前記候補ファインダーパターンの前記評価値を合算して、統合された候補ファインダーパターンの評価値として改めて設定することを特徴とする2次元コード読み取り装置。
- 請求項1乃至4のいずれかに記載の2次元コード読み取り装置において、複数抽出された前記候補ファインダーパターンそれぞれの水平方向、垂直方向、及び、斜め方向のいずれかの方向において、前記候補ファインダーパターンの大きさを示す幅と、前記ファインダーパターンの大きさを示すものとして予め定められた固有の幅との差が、予め定められた許容値を超えている場合には、該候補ファインダーパターンを前記ファインダーパターンの候補から除外することを特徴とする2次元コード読み取り装置。
- 請求項5に記載の2次元コード読み取り装置において、前記許容値が、2次元コードの種類及び用途更には入力画像の画質に応じて、使用者が所望する任意の値に予め設定することができることを特徴とする2次元コード読み取り装置。
- 請求項1乃至6のいずれかに記載の2次元コード読み取り装置において、検出された前記ファインダーパターンの大きさを示す幅として、水平方向の幅と垂直方向の幅と斜め方向の幅との3つの方向の幅の平均値を用いることを特徴とする2次元コード読み取り装置。
- 請求項1乃至7のいずれかに記載の2次元コード読み取り装置において、検出された前記ファインダーパターンの大きさを示す幅に基づいて、当該2次元コードを構成するセルの大きさを示すセルサイズを決定することを特徴とする2次元コード読み取り装置。
- 請求項1乃至8のいずれかに記載の2次元コード読み取り装置において、前記バージョンを判定する際に、検出された複数の前記ファインダーパターン間の間隔と、前記ファインダーパターンの大きさを示す幅に基づいて導出されたセルの大きさを示すセルサイズとに基づいて、当該2次元コードを構成するセル数を算出することにより、当該2次元コードのバージョンを判定することを特徴とする2次元コード読み取り装置。
- 請求項9に記載の2次元コード読み取り装置において、2次元コードのバージョンと該バージョンにより決定される2次元コードを構成する登録セル数との対応を示すバージョン登録テーブルを備え、算出された前記セル数に基づいて、前記バージョン登録テーブルを索引し、一致又は最も近接した値を有する前記登録セル数と該登録セル数に対応するバージョンとを、当該2次元コードを構成するセル数とバージョンとして判定することを特徴とする2次元コード読み取り装置。
- 請求項1乃至10のいずれかに記載の2次元コード読み取り装置において、検出された複数の前記ファインダーパターンそれぞれの座標位置に基づいて、入力画像中において当該2次元コードの向きが回転している状態にあるか否かを判定すると共に、回転していると判定される場合には、当該2次元コードの回転角度を算出することを特徴とする2次元コード読み取り装置。
- 請求項1乃至11のいずれかに記載の2次元コード読み取り装置において、前記アライメントパターンの位置を検出する際に、前記入力画像中における前記ファインダーパターンの傾きの有無を検出することにより、前記入力画像中における当該2次元コードの各辺の傾きの有無を検出し、各辺の傾きと、前記ファインダーパターンの中心点の座標位置とから、前記入力画像中における前記アライメントパターンを探索する探索範囲が指定される基準位置となる探索基準点を決定し、決定された該探索基準点から予め定められた位置にある探索範囲の部分画像を前記入力画像から切り出して、該部分画像内から前記第2のパターンからなる前記アライメントパターンを抽出することにより、前記アライメントパターンの位置を検出することを特徴とする2次元コード読み取り装置。
- 請求項12に記載の2次元コード読み取り装置において、前記入力画像中における前記ファインダーパターンの傾きの有無を検出する際に、前記ファインダーパターンが位置する当該2次元コードの辺の一部を形成し、かつ、当該ファインダーパターンの外輪郭を構成している各画素の座標位置のうち、少なくとも2つの画素の座標位置を、当該ファインダーパターンの画素を走査して検出することにより、当該ファインダーパターンの傾きの有無を検出することを特徴とする2次元コード読み取り装置。
- 請求項12又は13に記載の2次元コード読み取り装置において、前記探索基準点を決定する際に、当該2次元コードの辺の一部を形成する前記ファインダーパターンの中心点の座標位置を通り、当該2次元コードの前記辺と平行な直線と、該ファインダーパターンと当該2次元コード内の対角に位置して、当該2次元コードの他の辺の一部を形成する他の前記ファインダーパターンの中心点の座標位置を通り、前記他の辺と平行な直線との交点を、前記アライメントパターンを探索する前記探索範囲が指定される基準位置となる前記探索基準点として決定することを特徴とする2次元コード読み取り装置。
- 請求項12乃至14のいずれかに記載の2次元コード読み取り装置において、前記探索範囲が、前記探索基準点から前記アライメントパターンの中心点が配置されているものと予測される予め定められた距離だけ離れた位置を、予測中心座標として、該予測中心座標から少なくとも2セルサイズ分の余裕を持って、前記アライメントパターンに固有の前記第2のパターンを含むに充分な領域とすることを特徴とする2次元コード読み取り装置。
- 請求項12乃至15のいずれかに記載の2次元コード読み取り装置において、前記部分画像内から前記アライメントパターンを抽出する際に、前記アライメントパターンに固有の前記第2のパターンが有する各画素の特徴に合致したテンプレートを備えて、該テンプレートと前記部分画像を1画素単位にずらしながらテンプレートマッチングを行なうことにより、前記部分画像内から前記第2のパターンからなる前記アライメントパターンを抽出することを特徴とする2次元コード読み取り装置。
- 請求項16に記載の2次元コード読み取り装置において、前記入力画像中において当該2次元コードの向きが回転している状態にある場合、回転している回転角度に基づいて、前記探索基準点の座標位置に対して回転補正を施すことにより指定される前記探索範囲の部分画像を前記入力画像から切り出し、切り出された該部分画像を、前記回転角度に基づいて回転補正を施した後に、回転補正された前記部分画像を1画素単位にずらしながら前記テンプレートマッチングを行ない、前記アライメントパターンを抽出することにより、前記アライメントパターンの位置を検出することを特徴とする2次元コード読み取り装置。
- 請求項16又は17に記載の2次元コード読み取り装置において、前記テンプレートマッチングの処理を行なう対象とする前記部分画像が、2値化処理がなされる前の状態における前記入力画像から切り出された部分画像であることを特徴とする2次元コード読み取り装置。
- 請求項18に記載の2次元コード読み取り装置において、前記テンプレートマッチングの処理を行なう際に、前記部分画像内を1画素単位で順次ずらしながら、前記テンプレートと前記部分画像とのそれぞれ対応する各画素毎の画素値の差分の絶対値総和を算出し、該絶対値総和が最小になる前記部分画像内の位置を、前記アライメントパターンの座標位置として決定することを特徴とする2次元コード読み取り装置。
- 請求項1乃至19のいずれかに記載の2次元コード読み取り装置において、当該2次元コードを構成する各データセルのデータ値を決定する前記データセル切り出しの処理を行なう際に、前記データセルの位置を特定する位置特定処理として、検出された前記ファインダーパターンの中心点のセル位置と前記アライメントパターンの中心点のセル位置と、判定された前記バージョンにより決定される当該2次元コードのセル数とに基づいて、当該2次元コードの各データセルのセル中心位置を前記入力画像中の座標位置に変換する座標変換式の変換係数を算出し、算出された該変換係数を適用した前記座標変換式を用いて、各データセルのセル中心位置を、前記入力画像中の座標位置に変換して、各データセルのセル中心位置に対応する座標位置を特定し、前記位置特定処理により特定された各データセルのセル中心位置に対応する前記入力画像中の座標位置の濃度に基づいて、各データセルのデータ値を決定して、各データセルの切り出しを行なうことを特徴とする2次元コード読み取り装置。
- 請求項20に記載の2次元コード読み取り装置において、当該2次元コードを構成する各データセルのデータ値を決定する前記データセル切り出しの処理を行なう際に、前記位置特定処理により特定されたデータセルのセル中心位置に対応する前記入力画像中の座標位置の濃度が、特定されたデータセルのセル中心位置に対応する前記入力画像中の座標位置に画素が存在している場合には、該座標位置に存在している該画素の画素値から得られる濃度であり、一方、特定されたデータセルのセル中心位置に対応する前記入力画像中の座標位置に画素が存在していない場合には、該座標位置に隣接する周辺の各画素の画素値から線形補間されて得られる濃度であり、かつ、各データセルのデータ値が、各データセルのセル中心位置に対応する前記入力画像中の座標位置の前記濃度と、各データセルのデータ値を識別するための明暗閾値と、を比較することにより決定されることを特徴とする2次元コード読み取り装置。
- 請求項21に記載の2次元コード読み取り装置において、各データセルのデータ値を識別するための前記明暗閾値が、当該2次元コードの対角線上に位置する前記入力画像中の画素の画素値に基づいて設定されていることを特徴とする2次元コード読み取り装置。
- 請求項22に記載の2次元コード読み取り装置において、前記明暗閾値が、当該2次元コードの対角線上に位置する前記入力画像中の全画素の画素値のうち、最大値と最小値との中間値に設定されていることを特徴とする2次元コード読み取り装置。
- 請求項1乃至23のいずれかに記載の2次元コード読み取り装置において、前記データセル切り出しの処理を正しく行なうことができず、当該2次元コードの読み取りに失敗した場合、前記バージョンの判定処理において判定されたバージョンを1段階ずらして、再度、前記データセル切り出しの処理を繰り返すことを特徴とする2次元コード読み取り装置。
- 2値データが記録されているデータセルを縦方向及び横方向の2次元状に配列することにより各種情報を表現する2次元コードを入力画像中から読み取る2次元コード読み取り方法であって、前記2次元コードが、前記入力画像中における当該2次元コードの位置を特定するために、該2次元コード内の所定の複数の位置に配置され、かつ、固有の第1のパターンからなるファインダーパターンと、前記入力画像において前記2次元コードが歪んだ状態で記録されている場合であっても、当該2次元コードのデータセル位置を正しく検出するために、当該2次元コード内の前記ファインダーパターンとは異なる所定の位置に配置され、かつ、前記ファインダーパターンに固有の前記第1のパターンとは異なる第2のパターンからなるアライメントパターンとを備え、前記2次元コードが記録された前記入力画像に対する複数方向からの走査結果に基づいて、白と黒との固有の前記第1のパターンからなる前記ファインダーパターンと近似したパターンを有するファインダーパターンの候補を候補ファインダーパターンとして前記入力画像の中から複数抽出し、かつ、抽出された複数の前記候補ファインダーパターンそれぞれに対して、水平方向、垂直方向、及び、斜め方向の3方向から、各候補ファインダーパターンを横切る走査線上における白と黒とからなるパターンの構成比をそれぞれ検出し、それぞれの方向において検出された白と黒とからなる各パターンの構成比を、前記ファインダーパターンとして予め定められた白と黒とからなる固有の前記第1のパターンの構成比と比較することにより、前記第1のパターンとの近似度を示す評価値を算出し、抽出された複数の前記候補ファインダーパターンのうち、前記評価値が示す近似度が大きい候補ファインダーパターンの順に、前記ファインダーパターンとして所定の個数分選択し、所定の個数分選択された前記ファインダーパターンそれぞれの位置を検出する処理を行ない、更に、検出された前記ファインダーパターンに基づいて、前記アライメントパターンの位置を検出する処理を行ない、更に、検出された前記ファインダーパターンに基づいて、当該2次元コードを構成するセル数を決定するバージョンの判定処理を行ない、検出された前記ファインダーパターンの位置と前記アライメントパターンの位置と、前記バージョンの判定処理により判定された前記バージョンとに基づいて、当該2次元コードを構成する各データセルのデータ値を決定するデータセル切り出しの処理を行ない、該データセル切り出しの処理により決定された各データセルのデータ値をビット列に変換して、予め定められた規則に従って、当該2次元コードの情報を特定するデコード処理を行なうことを特徴とする2次元コード読み取り方法。
- 請求項25に記載の2次元コード読み取り方法において、前記バージョンを判定する際に、検出された複数の前記ファインダーパターン間の間隔と、前記ファインダーパターンの大きさを示す幅に基づいて導出されたセルの大きさを示すセルサイズとに基づいて、当該2次元コードを構成するセル数を算出することにより、当該2次元コードのバージョンを判定することを特徴とする2次元コード読み取り方法。
- 請求項25又は26に記載の2次元コード読み取り方法において、前記アライメントパターンの位置を検出する際に、前記入力画像中における前記ファインダーパターンの傾きの有無を検出することにより、前記入力画像中における当該2次元コードの各辺の傾きの有無を検出し、各辺の傾きと、前記ファインダーパターンの中心点の座標位置とから、前記入力画像中における前記アライメントパターンを探索する探索範囲が指定される基準位置となる探索基準点を決定し、決定された該探索基準点から予め定められた位置にある探索範囲の部分画像を前記入力画像から切り出して、該部分画像内から前記第2のパターンからなる前記アライメントパターンを抽出することにより、前記アライメントパターンの位置を検出することを特徴とする2次元コード読み取り方法。
- 請求項27に記載の2次元コード読み取り方法において、前記部分画像内から前記アライメントパターンを抽出する際に、前記アライメントパターンに固有の前記第2のパターンが有する各画素の特徴に合致したテンプレートを備えて、該テンプレートと前記部分画像を1画素単位にずらしながらテンプレートマッチングを行なうことにより、前記部分画像内から前記第2のパターンからなる前記アライメントパターンを抽出することを特徴とする2次元コード読み取り方法。
- 請求項28に記載の2次元コード読み取り方法において、前記入力画像中において当該2次元コードの向きが回転している状態にある場合、回転している回転角度に基づいて、前記探索基準点の座標位置に対して回転補正を施すことにより指定される前記探索範囲の部分画像を前記入力画像から切り出し、切り出された該部分画像を、前記回転角度に基づいて回転補正を施した後に、回転補正された前記部分画像を1画素単位にずらしながら前記テンプレートマッチングを行ない、前記アライメントパターンを抽出することにより、前記アライメントパターンの位置を検出することを特徴とする2次元コード読み取り方法。
- 請求項28又は29に記載の2次元コード読み取り方法において、前記テンプレートマッチングの処理を行なう対象とする前記部分画像が、2値化処理がなされる前の状態における前記入力画像から切り出された部分画像であることを特徴とする2次元コード読み取り方法。
- 請求項25乃至30のいずれかに記載の2次元コード読み取り方法において、当該2次元コードを構成する各データセルのデータ値を決定する前記データセル切り出しの処理を行なう際に、前記データセルの位置を特定する位置特定処理として、検出された前記ファインダーパターンの中心点のセル位置と前記アライメントパターンの中心点のセル位置と、判定された前記バージョンにより決定される当該2次元コードのセル数とに基づいて、当該2次元コードの各データセルのセル中心位置を前記入力画像中の座標位置に変換する座標変換式の変換係数を算出し、算出された該変換係数を適用した前記座標変換式を用いて、各データセルのセル中心位置を、前記入力画像中の座標位置に変換して、各データセルのセル中心位置に対応する座標位置を特定し、前記位置特定処理により特定された各データセルのセル中心位置に対応する前記入力画像中の座標位置の濃度に基づいて、各データセルのデータ値を決定して、各データセルの切り出しを行なうことを特徴とする2次元コード読み取り方法。
- 請求項31に記載の2次元コード読み取り方法において、当該2次元コードを構成する各データセルのデータ値を決定する前記データセル切り出しの処理を行なう際に、前記位置特定処理により特定されたデータセルのセル中心位置に対応する前記入力画像中の座標位置の濃度が、特定されたデータセルのセル中心位置に対応する前記入力画像中の座標位置に画素が存在している場合には、該座標位置に存在している該画素の画素値から得られる濃度であり、一方、特定されたデータセルのセル中心位置に対応する前記入力画像中の座標位置に画素が存在していない場合には、該座標位置に隣接する周辺の各画素の画素値から線形補間されて得られる濃度であり、かつ、各データセルのデータ値が、各データセルのセル中心位置に対応する前記入力画像中の座標位置の前記濃度と、各データセルのデータ値を識別するための明暗閾値と、を比較することにより決定されることを特徴とする2次元コード読み取り方法。
- 請求項32に記載の2次元コード読み取り方法において、各データセルのデータ値を識別するための前記明暗閾値が、当該2次元コードの対角線上に位置する前記入力画像中の画素の画素値に基づいて設定されていることを特徴とする2次元コード読み取り方法。
- 請求項25乃至33のいずれかに記載の2次元コード読み取り方法を、コンピュータにより実行させることが可能なプログラムコードにより記述されていることを特徴とする2次元コード読み取りプログラム。
- 請求項34に記載の2次元コード読み取りプログラムを記録させていることを特徴とするコンピュータ読み取り可能な記録媒体。
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002210302A JP4301775B2 (ja) | 2002-07-18 | 2002-07-18 | 2次元コード読み取り装置,2次元コード読み取り方法,2次元コード読み取りプログラム及び該プログラムの記録媒体 |
DE60326520T DE60326520D1 (de) | 2002-07-18 | 2003-07-09 | Vorrichtung, Verfahren zum Lesen eines zweidimensionalen Codes, Programm und Speichermedium dafür, tragbares Endgerät und digitale Kamera |
EP03015491A EP1383074B1 (en) | 2002-07-18 | 2003-07-09 | Two-dimensional code reading apparatus, two-dimensional code reading process, two-dimensional code reading program and recording medium for said program, portable terminal and digital camera |
KR1020030048587A KR100563875B1 (ko) | 2002-07-18 | 2003-07-16 | 2차원 코드 판독 장치, 2차원 코드 판독 방법, 2차원 코드판독 프로그램을 기록한 기록매체, 휴대형 단말기 및디지털 카메라 |
CNB03133167XA CN100502444C (zh) | 2002-07-18 | 2003-07-18 | 2维码读取方法、便携终端及数字照相机 |
US10/621,887 US6863218B2 (en) | 2002-07-18 | 2003-07-18 | Two-dimensional code reading apparatus, two-dimensional code reading process, two-dimensional code reading program and recording medium for said program, portable terminal and digital camera |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002210302A JP4301775B2 (ja) | 2002-07-18 | 2002-07-18 | 2次元コード読み取り装置,2次元コード読み取り方法,2次元コード読み取りプログラム及び該プログラムの記録媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004054530A JP2004054530A (ja) | 2004-02-19 |
JP4301775B2 true JP4301775B2 (ja) | 2009-07-22 |
Family
ID=29774664
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002210302A Expired - Fee Related JP4301775B2 (ja) | 2002-07-18 | 2002-07-18 | 2次元コード読み取り装置,2次元コード読み取り方法,2次元コード読み取りプログラム及び該プログラムの記録媒体 |
Country Status (6)
Country | Link |
---|---|
US (1) | US6863218B2 (ja) |
EP (1) | EP1383074B1 (ja) |
JP (1) | JP4301775B2 (ja) |
KR (1) | KR100563875B1 (ja) |
CN (1) | CN100502444C (ja) |
DE (1) | DE60326520D1 (ja) |
Families Citing this family (127)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3996520B2 (ja) * | 2003-01-30 | 2007-10-24 | 株式会社デンソーウェーブ | 二次元情報コードおよびその生成方法 |
US7225991B2 (en) * | 2003-04-16 | 2007-06-05 | Digimarc Corporation | Three dimensional data storage |
US7017816B2 (en) * | 2003-09-30 | 2006-03-28 | Hewlett-Packard Development Company, L.P. | Extracting graphical bar codes from template-based documents |
US7870504B1 (en) * | 2003-10-01 | 2011-01-11 | TestPlant Inc. | Method for monitoring a graphical user interface on a second computer display from a first computer |
CN100361504C (zh) * | 2004-03-24 | 2008-01-09 | 无敌科技股份有限公司 | 一种数字影像定向系统及其方法 |
US7296747B2 (en) | 2004-04-20 | 2007-11-20 | Michael Rohs | Visual code system for camera-equipped mobile devices and applications thereof |
KR20070008698A (ko) * | 2004-04-21 | 2007-01-17 | 코닌클리케 필립스 일렉트로닉스 엔.브이. | 2차원 인코딩된 광 저장매체의 병렬 판독을 위한 스폿 정렬 |
US7347373B2 (en) * | 2004-07-08 | 2008-03-25 | Scenera Technologies, Llc | Method and system for utilizing a digital camera for retrieving and utilizing barcode information |
CN100347714C (zh) * | 2004-09-07 | 2007-11-07 | 佳能株式会社 | 用于定位二维条形码的方法和设备 |
JP4794847B2 (ja) * | 2004-10-29 | 2011-10-19 | キヤノン株式会社 | 2次元コードおよび情報処理方法 |
US7578436B1 (en) | 2004-11-08 | 2009-08-25 | Pisafe, Inc. | Method and apparatus for providing secure document distribution |
US7434226B2 (en) * | 2004-12-14 | 2008-10-07 | Scenera Technologies, Llc | Method and system for monitoring a workflow for an object |
US7543748B2 (en) * | 2005-02-16 | 2009-06-09 | Pisafe, Inc. | Method and system for creating and using redundant and high capacity barcodes |
MX2007012767A (es) * | 2005-04-13 | 2008-04-09 | Scanbuy Inc | Sistema de codigo visual para dispositivos moviles equipados con camara y aplicaciones del mismo. |
EP1904952A2 (en) * | 2005-05-23 | 2008-04-02 | Nextcode Corporation | Efficient finder patterns and methods for application to 2d machine vision problems |
US7533818B2 (en) * | 2005-06-28 | 2009-05-19 | Direct Measurements Inc. | Binary code symbol for non-linear strain measurement and apparatus and method for analyzing and measuring strain therewith |
US7597262B2 (en) * | 2005-07-13 | 2009-10-06 | Nokia Corporation | Two dimensional (2D) code and code size indication method |
DE102005035208B4 (de) * | 2005-07-27 | 2007-10-04 | Siemens Ag | Verfahren zur Lokalisierung von Bildelementen |
KR100828539B1 (ko) * | 2005-09-20 | 2008-05-13 | 후지제롯쿠스 가부시끼가이샤 | 이차원 코드의 검출 방법, 검출 장치, 및 검출 프로그램을기억한 기억 매체 |
JP2007090448A (ja) * | 2005-09-27 | 2007-04-12 | Honda Motor Co Ltd | 二次元コード検出装置及びそのプログラム、並びに、ロボット制御情報生成装置及びロボット |
US7571864B2 (en) * | 2005-12-16 | 2009-08-11 | Pisafe, Inc. | Method and system for creating and using barcodes |
JP4911340B2 (ja) * | 2006-02-10 | 2012-04-04 | 富士ゼロックス株式会社 | 二次元コード検出システムおよび二次元コード検出プログラム |
JP4042065B1 (ja) * | 2006-03-10 | 2008-02-06 | 健治 吉田 | 情報処理装置への入力処理システム |
US7546950B2 (en) * | 2006-03-28 | 2009-06-16 | Seiko Epson Corporation | Method and apparatus for locating and decoding a two-dimensional machine-readable symbol |
US8150163B2 (en) | 2006-04-12 | 2012-04-03 | Scanbuy, Inc. | System and method for recovering image detail from multiple image frames in real-time |
US7478746B2 (en) * | 2006-05-31 | 2009-01-20 | Konica Minolta Systems Laboratory, Inc. | Two-dimensional color barcode and method of generating and decoding the same |
JP4890112B2 (ja) * | 2006-06-13 | 2012-03-07 | 日立コンピュータ機器株式会社 | 画像処理装置及び画像処理方法 |
CA2696946C (en) * | 2006-08-17 | 2013-05-28 | Direct Measurements, Inc. | Multi-format, binary code symbol for non-linear strain measurement |
US20080110991A1 (en) * | 2006-11-15 | 2008-05-15 | Bellsouth Intellectual Property Corporation | Apparatus and methods for providing active functions using encoded two-dimensional arrays |
KR101121439B1 (ko) * | 2006-11-27 | 2012-03-15 | 엘지전자 주식회사 | 이미지 코드를 이용한 기능 실행 방법 및 그 단말기 |
JP5138210B2 (ja) * | 2006-12-18 | 2013-02-06 | シャープ株式会社 | 符号読み取り装置、符号読み取り装置の制御プログラム、符号読み取り装置の制御プログラムを記録した記録媒体 |
JP2008183778A (ja) * | 2007-01-29 | 2008-08-14 | Seiko Epson Corp | 2次元コード印刷方法、そのプログラム及びインクジェットプリンタ |
JP5082637B2 (ja) * | 2007-07-10 | 2012-11-28 | 富士通株式会社 | 画像処理プログラム、画像処理方法及び画像処理装置 |
JP5111055B2 (ja) * | 2007-10-26 | 2012-12-26 | キヤノン株式会社 | 画像処理装置及び画像処理方法、コンピュータプログラム |
CN101482933B (zh) * | 2008-01-08 | 2010-09-01 | 纬创资通股份有限公司 | 用于高速识读码的辨识数据产生方法及其相关装置 |
US8596541B2 (en) * | 2008-02-22 | 2013-12-03 | Qualcomm Incorporated | Image capture device with integrated barcode scanning |
US8366004B2 (en) * | 2008-02-22 | 2013-02-05 | Qualcomm Incorporated | Barcode detection based on morphological operations |
JP5136302B2 (ja) * | 2008-03-27 | 2013-02-06 | 株式会社デンソーウェーブ | 二次元コード、二次元コード生成方法、二次元コードを表示させるコンピュータ読み取り可能なプログラム、二次元コードを利用した認証方法、及び二次元コードを利用した情報提供方法 |
JP4871918B2 (ja) * | 2008-06-12 | 2012-02-08 | 日本電信電話株式会社 | 画像変換装置、画像変換方法、画像変換プログラム及び画像変換プログラムを記録したコンピュータ読み取り可能な記録媒体 |
US20100084470A1 (en) * | 2008-10-03 | 2010-04-08 | Microsoft Corporation | Two-dimensional barcode localization for camera based devices |
JP5541672B2 (ja) * | 2009-02-10 | 2014-07-09 | キヤノン株式会社 | 装置、方法、プログラム |
JP5507134B2 (ja) * | 2009-07-03 | 2014-05-28 | 株式会社富士通コンピュータテクノロジーズ | 2次元コード読取方法、2次元コード認識方法及び2次元コード読取装置 |
TW201113815A (en) * | 2009-10-09 | 2011-04-16 | Primax Electronics Ltd | QR code processing method and apparatus thereof |
JP5604761B2 (ja) | 2009-11-11 | 2014-10-15 | 健治 吉田 | 印刷媒体、情報処理方法、情報処理装置 |
KR101075799B1 (ko) * | 2009-11-26 | 2011-10-27 | (주)아하 | 모바일 기술기반 인식코드 인식 방법 |
JP5560887B2 (ja) * | 2010-05-10 | 2014-07-30 | 富士ゼロックス株式会社 | 画像処理装置及び画像処理プログラム |
CN101882210B (zh) * | 2010-06-01 | 2012-06-27 | 福建新大陆电脑股份有限公司 | 矩阵式二维条码解码芯片及其解码方法 |
CN101908125B (zh) * | 2010-06-01 | 2014-07-02 | 福建新大陆电脑股份有限公司 | Qr码条码解码芯片及其解码方法 |
EP2393036B1 (en) * | 2010-06-01 | 2016-03-02 | Fujian Newland Computer Co., Ltd. | Barcode decoding chip |
CN102289647A (zh) * | 2010-06-18 | 2011-12-21 | 富港电子(昆山)有限公司 | Qr码识别系统及其识别方法 |
JP5447265B2 (ja) * | 2010-07-30 | 2014-03-19 | ソニー株式会社 | マイクロビーズ自動識別方法 |
CN102376081A (zh) * | 2010-08-25 | 2012-03-14 | 北京中科亚创科技有限责任公司 | 自动修正图像的方法及装置 |
CN102411701A (zh) * | 2010-09-20 | 2012-04-11 | 航天信息股份有限公司 | 增值税专用发票的二维码阵列图像扫描识别方法及系统 |
AU2010257441B2 (en) * | 2010-12-24 | 2012-09-20 | Canon Kabushiki Kaisha | Method, apparatus and system for identifying candidate pairs of finder patterns of a barcode |
CN102880882B (zh) * | 2011-07-12 | 2016-07-06 | 国家电网公司 | 基于二维码的设备巡视管理装置 |
US8608074B2 (en) | 2011-12-20 | 2013-12-17 | Seiko Epson Corporation | Method and apparatus for locating and decoding machine-readable symbols |
RS54226B1 (en) | 2012-01-31 | 2015-12-31 | Quadra Graphic Doo | PROCEDURE FOR MAKING A HYBRID VOUCHER |
US10147214B2 (en) * | 2012-06-06 | 2018-12-04 | Sodyo Ltd. | Display synchronization using colored anchors |
EP3509015B1 (en) | 2012-06-06 | 2021-01-27 | Sodyo Ltd. | A method for encoding information, a tangible medium having a symbol produced thereon using the method, and an information system |
WO2014002000A1 (en) * | 2012-06-25 | 2014-01-03 | Tak Wai Lau | Image acquisition apparatus and process |
WO2014028561A2 (en) | 2012-08-14 | 2014-02-20 | Insular, Corp. | Systems and methods for constructing temporary, re-locatable structures |
US9382703B2 (en) | 2012-08-14 | 2016-07-05 | Premium Steel Building Systems, Inc. | Systems and methods for constructing temporary, re-locatable structures |
CN102779115A (zh) * | 2012-08-17 | 2012-11-14 | 成都集客宝信息技术有限公司 | 一种信息处理方法、装置及系统 |
US10565483B2 (en) * | 2012-08-31 | 2020-02-18 | International Business Machines Corporation | Two-dimensional barcode to avoid unintentional scanning |
US9131076B2 (en) * | 2013-02-05 | 2015-09-08 | Kelvin Patrick LeBeaux | System, method and computer program product for facilitating optical data transfer to a mobile device |
US8936194B1 (en) * | 2013-03-15 | 2015-01-20 | Wunderlich-Malec Engineering, Inc. | Methods and systems for using two-dimensional matrix codes associated with panel component and equipment information and quality control |
WO2014145193A1 (en) * | 2013-03-15 | 2014-09-18 | Nexref Technologies, Llc | Marker-based augmented reality (ar) display with inventory management |
CN106878261A (zh) * | 2013-07-08 | 2017-06-20 | 玛链(上海)网络技术有限公司 | 一种基于实物资产的虚拟货币交易系统 |
GB201314642D0 (en) * | 2013-08-15 | 2013-10-02 | Summerfield Gideon | Image Identification System and Method |
CN104517090B (zh) * | 2013-09-29 | 2017-09-05 | 北大方正集团有限公司 | 一种qr码探测图形的检测方法及系统 |
CN104517089B (zh) * | 2013-09-29 | 2017-09-26 | 北大方正集团有限公司 | 一种二维码解码系统及其方法 |
JP5959550B2 (ja) * | 2014-01-29 | 2016-08-02 | 京セラドキュメントソリューションズ株式会社 | 画像処理装置 |
USD757094S1 (en) * | 2014-04-29 | 2016-05-24 | Tencent Technology (Shenzhen) Company Limited | Display screen portion with animated graphical user interface |
CN104778491B (zh) * | 2014-10-13 | 2017-11-07 | 刘整 | 用于信息处理的图像码及生成与解析其的装置与方法 |
CN104598904B (zh) * | 2014-11-14 | 2019-04-02 | 腾讯科技(深圳)有限公司 | 一种图形码校正图形中心的定位方法和设备 |
EP3467700B1 (en) * | 2014-11-18 | 2022-05-04 | Cognex Corporation | Systems and methods for decoding two-dimensional matrix symbols |
WO2016120776A1 (en) | 2015-01-28 | 2016-08-04 | Sodyo Ltd. | Hybrid visual tagging using customized colored tiles |
CN106033592A (zh) * | 2015-03-11 | 2016-10-19 | 株式会社理光 | 原稿的复制件矫正方法、原稿提供装置、复制件矫正装置以及原稿的复制件矫正系统 |
CN106156674B (zh) * | 2015-03-31 | 2019-03-08 | 联想(北京)有限公司 | 一种识别方法及电子设备 |
CN104951726B (zh) * | 2015-06-25 | 2017-12-08 | 福建联迪商用设备有限公司 | 用于qr二维码位置探测的方法及装置 |
US9501681B1 (en) * | 2015-07-14 | 2016-11-22 | A9.Com, Inc. | Decoding visual codes |
WO2017017898A1 (ja) * | 2015-07-28 | 2017-02-02 | パナソニックIpマネジメント株式会社 | 移動方向決定方法および移動方向決定装置 |
USD768709S1 (en) * | 2015-07-31 | 2016-10-11 | Gen-Probe Incorporated | Display screen or portion thereof with animated graphical user interface |
CN105184208B (zh) * | 2015-09-02 | 2017-10-31 | 福建联迪商用设备有限公司 | 一种二维码初步定位方法及系统 |
CN105138943B (zh) * | 2015-09-02 | 2017-10-24 | 福建联迪商用设备有限公司 | Qr码位置探测图形破损时的解码方法及系统 |
EP3352170A4 (en) * | 2015-09-15 | 2019-08-07 | Dai Nippon Printing Co., Ltd. | INFORMATION STORAGE DEVICE AND INFORMATION READING DEVICE |
US9430682B1 (en) * | 2015-09-28 | 2016-08-30 | King Saud University | Pressure profile data coding system and method |
JP6520659B2 (ja) * | 2015-11-17 | 2019-05-29 | 富士通株式会社 | シンボル検出装置、画像処理装置、及び、シンボル検出方法 |
JP2018001333A (ja) * | 2016-06-30 | 2018-01-11 | セイコーエプソン株式会社 | 校正ボード、ロボット、及び検出方法 |
CN106897648B (zh) | 2016-07-22 | 2020-01-31 | 阿里巴巴集团控股有限公司 | 识别二维码位置的方法及其系统 |
MA39233B1 (fr) * | 2016-07-27 | 2018-11-30 | Univ Abdelmalek Essaadi Tetouan | Procédé d'identification à distance du code qr au moyen d'une caméra. |
CN106326801B (zh) * | 2016-09-22 | 2019-02-05 | 华中科技大学 | 一种立体二维码的扫描方法 |
CN107490379B (zh) * | 2017-08-28 | 2020-11-27 | 山东非凡智能科技有限公司 | 利用二维码地标定位agv工作点位置的方法及系统 |
US10303907B1 (en) | 2017-11-29 | 2019-05-28 | Dell Products L.P. | Decoding parts with encoded geometry for retrieving passively represented information |
US10528855B2 (en) | 2017-11-29 | 2020-01-07 | Dell Products L.P. | Generating parts with encoded geometry for passively representing information |
WO2019116397A1 (en) * | 2017-12-16 | 2019-06-20 | Seshaasai Business Forms Pvt. Ltd | System and method for enhancing the quality of a qr code image for better readability |
US11222188B2 (en) * | 2017-12-22 | 2022-01-11 | Dell Products L.P. | Using passively represented information to identify items within a multi-dimensional space |
US10452884B2 (en) * | 2017-12-22 | 2019-10-22 | Dell Products L.P. | Using passively represented information to identify items within a multi-dimensional space |
CN108763996B (zh) * | 2018-03-23 | 2021-06-15 | 南京航空航天大学 | 一种基于二维码的平面定位坐标与方向角测量方法 |
WO2020012316A1 (en) | 2018-07-11 | 2020-01-16 | Sodyo Ltd. | Detection of machine-readable tags with high resolution using mosaic image sensors |
CN109060840B (zh) * | 2018-08-10 | 2022-04-05 | 北京极智嘉科技股份有限公司 | 二维码的质量监测方法、装置、机器人、服务器和介质 |
CN110046528B (zh) * | 2018-11-20 | 2022-10-28 | 维库(厦门)信息技术有限公司 | 一种点状DataMatrix二维码识别方法 |
WO2020131077A1 (en) * | 2018-12-20 | 2020-06-25 | Hewlett-Packard Development Company, L.P. | Read curved visual marks |
CN109740716B (zh) * | 2018-12-30 | 2020-11-06 | 尤尼泰克(嘉兴)信息技术有限公司 | 一种快速准确识别的二维码绘制方法 |
WO2020143561A1 (zh) | 2019-01-07 | 2020-07-16 | 尤尼泰克(嘉兴)信息技术有限公司 | 一种快速准确识别的二维码及其绘制方法 |
CN109934038B (zh) * | 2019-03-18 | 2021-12-07 | 创新先进技术有限公司 | 二维码校正方法、装置及设备 |
CN113420859A (zh) | 2019-03-18 | 2021-09-21 | 创新先进技术有限公司 | 二维码、二维码的生成、识别方法、装置及设备 |
JP7230652B2 (ja) | 2019-04-05 | 2023-03-01 | オムロン株式会社 | シンボル評価装置、および評価方法 |
US10796121B1 (en) | 2019-05-31 | 2020-10-06 | Dell Products L.P. | Decoding parts with encoded geometry for retrieving passively represented information |
US10817693B1 (en) * | 2019-07-10 | 2020-10-27 | Datalogic Ip Tech S.R.L. | System for decode of two-dimensional indicia |
CN110399956A (zh) * | 2019-07-31 | 2019-11-01 | 中国工商银行股份有限公司 | 用于识别二维码的方法、装置、电子设备以及介质 |
US11003881B2 (en) * | 2019-09-11 | 2021-05-11 | Datalogic Ip Tech S.R.L. | System for multiple decode of captured images |
US10832016B1 (en) | 2019-09-27 | 2020-11-10 | Dell Products L.P. | Three dimensional encoded geometry fabrication operation |
US11023794B2 (en) | 2019-09-27 | 2021-06-01 | Dell Products L.P. | Encoded geometry fabrication operation |
US11531826B2 (en) * | 2019-11-01 | 2022-12-20 | Zebra Technologies Corporation | Systems and methods for user choice of barcode scanning range |
US11562157B2 (en) * | 2019-12-20 | 2023-01-24 | Zebra Technologies Corporation | System and method of selective auxiliary data capture |
CN113378595B (zh) * | 2020-03-10 | 2023-09-22 | 顺丰科技有限公司 | 二维码定位方法、装置、设备及存储介质 |
CN111667479A (zh) * | 2020-06-10 | 2020-09-15 | 创新奇智(成都)科技有限公司 | 目标图像的图案核验方法及装置、电子设备、存储介质 |
DE102020130929A1 (de) * | 2020-07-31 | 2022-02-03 | Technische Universität Dortmund | Verfahren und Vorrichtung zur Auswertung von Matrixcodes |
CN112069852B (zh) * | 2020-09-07 | 2023-12-12 | 凌云光技术股份有限公司 | 一种基于游程编码的低质量二维码信息提取方法及装置 |
JP7122017B2 (ja) * | 2020-12-28 | 2022-08-19 | 株式会社APSAM Imaging | 画像解析方法、推定装置、推定システム、制御プログラム、記録媒体 |
CN113664838B (zh) * | 2021-10-21 | 2022-01-18 | 季华实验室 | 机器人定位放置控制方法、装置、电子设备及存储介质 |
CN114548136A (zh) * | 2021-11-18 | 2022-05-27 | 福建星网天合智能科技有限公司 | 一种反光二维码图片的解析方法、装置、设备和介质 |
CN114239631B (zh) * | 2021-11-19 | 2024-03-26 | 支付宝(杭州)信息技术有限公司 | 二维码识别方法、装置、存储介质及电子设备 |
CN113822092B (zh) * | 2021-11-25 | 2022-03-15 | 北京紫光青藤微系统有限公司 | 用于定位位置探测图形的方法及装置、电子设备、介质 |
CN114386448A (zh) * | 2021-12-28 | 2022-04-22 | 易唯思智能自动化装备无锡有限公司 | 一种轮胎dot码在线识别方法及在线识别系统 |
EP4332832A1 (de) * | 2022-09-02 | 2024-03-06 | Sick Ag | Lokalisieren eines optischen codes |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5276315A (en) * | 1992-05-14 | 1994-01-04 | United Parcel Service Of America, Inc. | Method and apparatus for processing low resolution images of degraded bar code symbols |
JP2952170B2 (ja) * | 1994-12-16 | 1999-09-20 | オリンパス光学工業株式会社 | 情報再生システム |
JP3668275B2 (ja) * | 1995-03-15 | 2005-07-06 | シャープ株式会社 | デジタル情報記録方法、解読方法および解読装置 |
JP3627416B2 (ja) | 1996-12-20 | 2005-03-09 | 株式会社デンソー | 2次元コード読取装置および記憶媒体 |
US6685095B2 (en) * | 1998-05-05 | 2004-02-03 | Symagery Microsystems, Inc. | Apparatus and method for decoding damaged optical codes |
US6267296B1 (en) * | 1998-05-12 | 2001-07-31 | Denso Corporation | Two-dimensional code and method of optically reading the same |
EP0999519B1 (en) * | 1998-11-06 | 2006-07-26 | Datalogic S.P.A. | Distortion correction method in optical code reading |
JP2000222517A (ja) * | 1998-11-27 | 2000-08-11 | Denso Corp | 2次元コ―ド読取方法、2次元コ―ド読取装置及び記録媒体 |
JP2996243B1 (ja) | 1998-12-09 | 1999-12-27 | 株式会社デンソー | 2次元コード読取方法、2次元コード読取装置及び記録媒体 |
-
2002
- 2002-07-18 JP JP2002210302A patent/JP4301775B2/ja not_active Expired - Fee Related
-
2003
- 2003-07-09 DE DE60326520T patent/DE60326520D1/de not_active Expired - Lifetime
- 2003-07-09 EP EP03015491A patent/EP1383074B1/en not_active Expired - Lifetime
- 2003-07-16 KR KR1020030048587A patent/KR100563875B1/ko active IP Right Grant
- 2003-07-18 US US10/621,887 patent/US6863218B2/en not_active Expired - Lifetime
- 2003-07-18 CN CNB03133167XA patent/CN100502444C/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
DE60326520D1 (de) | 2009-04-23 |
US20040020989A1 (en) | 2004-02-05 |
KR100563875B1 (ko) | 2006-03-28 |
CN100502444C (zh) | 2009-06-17 |
EP1383074B1 (en) | 2009-03-11 |
KR20040010219A (ko) | 2004-01-31 |
JP2004054530A (ja) | 2004-02-19 |
EP1383074A1 (en) | 2004-01-21 |
CN1492661A (zh) | 2004-04-28 |
US6863218B2 (en) | 2005-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4301775B2 (ja) | 2次元コード読み取り装置,2次元コード読み取り方法,2次元コード読み取りプログラム及び該プログラムの記録媒体 | |
JP2835274B2 (ja) | 画像認識装置 | |
EP1909215B1 (en) | Image region detection method, recording medium, and device therefor | |
US8254683B2 (en) | Code image processing method | |
US8019164B2 (en) | Apparatus, method and program product for matching with a template | |
US7106904B2 (en) | Form identification method | |
JP5229050B2 (ja) | 画像からの文書領域抽出装置、方法、及びプログラム | |
JP6900164B2 (ja) | 情報処理装置、情報処理方法及びプログラム | |
WO2013044875A1 (zh) | 线性条码识别方法和系统 | |
TW201437925A (zh) | 物體識別裝置、方法及電腦程式產品 | |
JP2005316755A (ja) | 2次元矩形コードシンボル読み取り装置及び2次元矩形コードシンボル読み取り方法 | |
US20070140564A1 (en) | 2-Dimensional code region extraction method, 2-dimensional code region extraction device, electronic device, 2-dimensional code region extraction program, and recording medium containing the program | |
CN115205223A (zh) | 透明物体的视觉检测方法、装置、计算机设备及介质 | |
JP5111055B2 (ja) | 画像処理装置及び画像処理方法、コンピュータプログラム | |
JP4348702B2 (ja) | 平面4指画像判定装置、平面4指画像判定方法及び平面4指画像判定プログラム | |
JP2898562B2 (ja) | ナンバープレート決定方法 | |
CN114781417A (zh) | 一种二维码识别方法、二维码识别装置及电子设备 | |
JP5251489B2 (ja) | 画像処理装置及び画像処理プログラム | |
JP2007094584A (ja) | 二次元コードの検出方法、検出装置、及び検出プログラム | |
JP2006047252A (ja) | 画像処理装置 | |
JPS63132386A (ja) | 指紋照合方法 | |
JPH07141465A (ja) | 文書画像の傾き検出方法 | |
JP5185072B2 (ja) | 枠検出方法、枠検出装置及び枠検出プログラム | |
CN116539617A (zh) | 透镜缺陷的检测方法、设备及介质 | |
JP5691281B2 (ja) | 文字認識装置、文字認識プログラム及び文字認識方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050525 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20060912 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20081028 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081217 |
|
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: 20090421 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090421 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120501 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 4301775 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120501 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130501 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140501 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |