JP2011014012A - 2次元コード読取方法、2次元コード抽出方法、2次元コード認識方法及び2次元コード読取装置 - Google Patents
2次元コード読取方法、2次元コード抽出方法、2次元コード認識方法及び2次元コード読取装置 Download PDFInfo
- Publication number
- JP2011014012A JP2011014012A JP2009158625A JP2009158625A JP2011014012A JP 2011014012 A JP2011014012 A JP 2011014012A JP 2009158625 A JP2009158625 A JP 2009158625A JP 2009158625 A JP2009158625 A JP 2009158625A JP 2011014012 A JP2011014012 A JP 2011014012A
- Authority
- JP
- Japan
- Prior art keywords
- dimensional code
- image
- code
- module
- binary 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.)
- Granted
Links
Images
Abstract
【解決手段】2次元コード抽出手段13は、入力画像データを2値化した2値化画像に所定のぼかし処理を施し、暗画素が所定の割合以上に分布している画素集合を検出し、2次元コード候補とする。さらに、2値画像を用いて2次元コード候補が2次元コードの特徴を満たすかどうかを判定し、2次元コードを特定する。2次元コード認識手段14は、2次元コードに対応する2値画像から基準画像パタンを検出する。基準画像パタンに基づく仮モジュールを2値化した2次元コードの画像に割り当て、デコード処理を行う。
【選択図】図1
Description
QRコード(登録商標)であれば、画像データを走査してJIS(Japanese Industrial Standards)規格に定められる3つのファインダパタン(Finder Pattern;位置検出パタン)を検出し、検出されたファインダパタンの囲む領域をもってコード画像部抽出としている。そして、コードを構成するモジュール(セルとも呼ばれる)の配置状態を特定し、認識処理を行う。QRコードの一部が正しく読み取れなかった場合は、QRコードの特徴に基づいて不具合領域を推定し、誤り訂正を行う(例えば、特許文献1参照)。
このような点に鑑み、低解像度や非線形な歪みを持った低品質な画像であっても、2次元コードの読み取りが可能な2次元コード読取方法、2次元コード抽出方法、2次元コード認識方法及び2次元コード読取装置を提供することを目的とする。
図1は、第1の実施の形態の2次元コード読取装置の構成の一例を示した図である。
2次元コード読取装置10は、画像データ記憶手段11a及びコード情報記憶手段11bを含む記憶手段、画像入力手段12、2次元コード抽出手段13、2次元コード認識手段14及び結果出力手段15を有する。2次元コード読取装置10の各処理手段は、コンピュータが、2次元コード読取プログラムを実行することにより、その処理機能を実現する。
2次元コード抽出手段13は、画像データ記憶手段11aに格納された入力画像データを読み出し、入力画像データから2次元コードを抽出する。2次元コード抽出手段13はまず、画像データ記憶手段11aから読み出した入力画像データを2値化し、2値画像を生成して、画像データ記憶手段11aに格納する。2次元コード抽出手段13は次いで、生成した2値画像に対して所定のぼかし処理を施す。ぼかし処理は、明画素と暗画素との境界をぼかす処理で、ぼかし処理には、平滑化やOR間引きが含まれる。2値画像に対してぼかし処理を行うことによって、所定の範囲に点在する暗画素同士が連結され、暗画素が所定の割合以上で偏って分布している画素集合(黒画素の塊)が形成される。2次元コード抽出手段13はこの画素集合を検出し、画素集合の元になった2値画像が2次元コード画像の特徴を満たすかどうか判定する。まず、ぼかし処理を施した画像に基づいて、その形状が2次元コード画像の形状の特徴を満たす画素集合を2次元コード候補として抽出する。例えば、対象の2次元コード全体(外縁)の形状が正方形をしている場合には、画素集合の形状がおおよそ正方形をしているかどうかを判定し、画素集合がおおよそ正方形をしていれば、2次元コード候補として抽出する。なお、2次元コード候補抽出のとき、2次元コード抽出手段13が画素集合のノイズをチェックし、検出されたノイズを除去して画素集合の形状を整えた後、画素集合形状の判定を行うとしてもよい。こうして、2次元コード抽出手段13は、ぼかし処理を施した画像に基づいて、2次元コード候補を抽出する。続いて2次元コード抽出手段13は、2次元コード候補の画素集合に相当する領域を、画像データ記憶手段11aに格納されるぼかし処理前の2値画像から抽出する。そして、より詳細に、抽出した2次元コード候補の2値画像を、2次元コードを特徴付ける2次元コード検出用パタンと照合する。例えば、2次元コードのファインダパタンの形状がわかっていれば、2次元コード抽出手段13は、抽出された2次元コード候補に対応する2値画像の領域を走査し、ファインダパタンを探索する。2次元コード候補の2値画像からファインダパタンが検出できれば、2次元コード抽出手段13はこの2次元コード候補を2次元コードと判定し、その画像領域の位置を示す2次元コード位置情報を生成し、コード情報記憶手段11bに格納する。ここでは、2次元コード外縁形状が正方形の場合で説明したが、検出基準の形状は対象の2次元コードに応じて決まる。例えば、2次元コードの縦横の比が既知の矩形であれば、その形状と画素集合の形状とを照合する。また、2次元コードであるか否かの判定に用いる詳細な2次元コードの特徴も、対象の2次元コードに応じて適宜決める。
このような2次元コード読取装置10の動作及び2次元コード読取方法について説明する。
まず、QRコードの読み取りに用いるQRコードの画像の特徴について説明する。QRコードには、デコードを補助するために用いる機能パタンの領域と、情報(データ)が書き込まれる領域とがある。なお、以下の説明では、暗画素を黒画素または黒、明画素を白画素または白と呼ぶ。
図2に示すQRコード20は、QRコードから機能パタン領域の画像を取り出して示している。なお、情報(データ)は、符号化され、符号化領域25に設定される。
ここで、QRコード読取装置のハードウェア構成について説明する。図3は、QRコード読取装置のハードウェア構成例を示すブロック図である。
次に、QRコード読取装置100のソフトウェア構成を、QRコード抽出部と、QRコード認識部とに分けて説明する。
QRコード読取装置100は、画像データ記憶部110a、コード情報記憶部110b、画像入力部120、QRコード抽出部130、QRコード認識部140及び結果出力部150を有する。
図5は、ラベルリストの一例を示した図である。
図6は、QR候補リストの一例を示した図である。
QR候補リスト1150には、QRコード候補抽出部134が、ラベルリスト1140から抽出したQRコード候補が登録される。QR候補リスト1150の各情報項目は、図5のラベルリスト1140と同様である。
図7は、QRリストの一例を示した図である。
矩形左上座標1161は、ラベルリスト1140の矩形左上座標1141と同様である。矩形右下座標1162は、ラベルリスト1140の矩形右下座標1142と同様である。ファインダパタン位置1163は、QRコード候補から検出されたファインダパタンの位置座標が登録される。傾き1164には、画像上のQRコードの傾きが登録される。
図8は、QRコード認識部を中心としたソフトウェア構成を示した図である。図4と同じものには同じ番号を付し、説明は省略する。なお、図8の実線矢印はデータの書き込みを表し、点線矢印はデータの読み出しを表す。
2値化処理部141は、QRリスト1160を読み出し、矩形左上座標1161及び矩形右下座標1162によって指定されたQRコードの位置座標に基づき、QRコードの画像データを元画像領域1100から読み出し、2値化処理する。サブピクセル化を行った後、2値化処理を行うとしてもよい。2値化処理部141は、2値化したQRコード画像を、2値画像領域1110に格納する。なお、QRコード抽出部130が生成した2値画像を用いるとすることもできる。しかし、QRコード抽出部130及びQRコード認識部140は、処理状況に応じて2値化処理の手法を適宜選択するので、ここでは、QRコード認識部140が、以降の処理手順の実行前に改めて元画像に対する2値化処理を行うとする。2値化処理の手順は、QRコード抽出部130の処理と同様である。しかしながら、2値化の対象範囲は、QRコードの領域に限定されるので、入力画像全体を2値化するQRコード抽出部130の場合と比較し、2値化のための処理時間は少なくて済む。
図9は、パタンリストの一例を示した図である。
幅・高さリスト1180には、サイズ算出部143が算出したモジュールごとの幅1181と、高さ1182とが、モジュールを識別する識別番号に対応付けて登録される。また、傾きリスト1183には、サイズ算出部143が算出したQRコード画像の傾きが登録される。
RSブロックリスト1190には、デコード処理部145が検出したRSブロックごとに誤り訂正の成否が登録される。RSブロックリスト1190には、RSブロックの識別情報1191に対応付けて、そのRSブロックの誤り訂正の成否1192が設定される。
QRコード抽出部130は、処理が開始されると処理対象の元画像データを元画像領域1100から読み出し、2値化処理部131が読み出した元画像データに対する2値化処理を行い、2値画像を生成する。2値化処理部131により生成された2値画像は、2値画像領域1110に格納する。
図12は、ぼかし処理の概要を示した図である。図12の例では、ぼかし処理としてOR間引きを行うとする。なお、間引き画像はイメージであり、実際のぼかし画像を示すものではない。
OR間引き1/2は、元の2値画像の画素数を縦・横ともに1/2にする間引き処理である。2値画像1101の4画素(例えば、縦2画素×横2画素)内に黒画素が1つでも含まれるときは、黒画素を選択して2値画像の間引き処理を行う。OR間引き1/2を施したぼかし画像1102では、QRコード212は、黒画素が所定の割合以上を占める正方形となっている。なお、QRコード以外の部分も黒の正方形と見なせる場合もある。図12の例では、文字の部分がほぼ黒の正方形になっている。
図13は、QRコードの上方向にノイズがある場合のノイズ除去の例を示した図である。
(A)ラベリング処理実行後の状態では、QRコード230の上方向に発生しているノイズ320と、右方向に発生しているノイズ321とを含めてラベリングされている。このときのラベル範囲420は、ノイズ320,321を含む縦長の形状になっている。
次に、QRコード精査判定部135は2値画像を用いて、QR候補リスト1150に登録されるQRコード候補がQRコードであるかどうかを判定する。QRコード精査判定部135は、ぼかし画像のQRコード候補の領域に対応する2値画像を2値画像領域1110から読み出し、2値画像を走査してQRコードのファインダパタンを検出する。ここでは、上記の「3隅の正方形シンボル内に別の正方形がある」という条件により、ファインダパタンを検出する。QRコード以外はファインダパタンが検出できないことから、QRコード候補抽出部134においてQRコード以外の黒い正方形がQRコード候補として抽出されていた場合であっても、QRコード以外の黒い四角形はQRコードと認められない。
QRコード240には、3隅にファインダパタン241a,241b,241cがある。しかし、画像が低解像度または低品質のため、図15の例ではファインダパタン241aにはノイズ331a、ファインダパタン241bにはノイズ331bが混じっている。このため、ファインダパタン241cは検出されるが、ファインダパタン241a,241bはノイズの影響でファインダパタンと認識されない。そこで、検出されたファインダパタン241cと、QRコード候補抽出部134で検出されたQRコード候補の外縁を示すラベル範囲とに基づいて、残りの2つのファインダパタンの位置を推定する。そして、推定位置に、例えば、ファインダパタンの黒画素の外枠部分あるいは黒の正方形が検出できるかどうかを判定する。黒画素の外枠の外縁は、QRコード候補のラベル範囲とほぼ等しく、かつ、クワイエットゾーンによって周囲から切り離されているので検出しやすい。例えば、図15のファインダパタン241bは、ノイズ331bによってファインダパタンとして検出されないが、黒画素の外枠は検出可能である。また、内側の黒の正方形は、QRコードであれば黒画素の外枠の内側に白画素の枠が存在するので、検出しやすい。例えば、図15のファインダパタン241aは、ノイズ331aによりファインダパタンとして検出されない。また、黒画素の外枠もノイズ331aがQRコード外部にも伸びていることから、検出することができない。しかし、内側の黒の正方形は検出可能である。推定位置から黒画素の外枠部分あるいは黒の正方形を検出できた場合には、このQRコード候補は真のQRコードであると判定する。なお、黒画素の外枠と、内側の黒い正方形の間の白の枠をファインダパタンの判定に用いる検出対象とすることもできる。また、2つのファインダパタンが検出できたときは、その2つのファインダパタンから残りの1つのファインダパタンの位置を推定する。そして、上記と同様に、推定位置から黒画素の外枠部分あるいは黒の正方形を検出できるかどうかで、QRコード候補が真のQRコードか否かを判定する。また、ファインダパタンの推定位置の中心を直線的に横切ったときの黒画素のヒストグラムをファインダパタンのヒストグラムと比較し、黒画素ヒストグラムがファインダパタン固有のヒストグラムとほぼ一致すればファインダパタンと判定するとしてもよい。
図16は、QRコード抽出処理全体の手順を示したフローチャートである。
元画像領域1100に格納される元画像データを読み出して、処理が開始される。
[ステップS21] 真のQRコードが検出できず、かつ、実行していない2値化処理が存在しないときは、QRコードの抽出失敗と判断し、処理を終了する。
ラベルリスト1140に黒画素の集まりが登録された後、1つのラベルが選択され、処理が開始される。
[ステップS165] 縦方向のノイズチェック処理後のラベル範囲の偏平率を算出し、偏平率が正方形範囲内になったかどうかを判定する。ラベル範囲の偏平率が正方形範囲内でなければ、処理をステップS166に進める。ラベル範囲の偏平率が正方形範囲内であれば処理をステップS173に進める。
[ステップS169] 横方向のノイズチェック処理後のラベル範囲の偏平率を算出し、偏平率が正方形範囲内になったかどうかを判定する。ラベル範囲の偏平率が正方形範囲内でなければ、処理をステップS170に進める。ラベル範囲の偏平率が正方形範囲内であれば処理をステップS173に進める。
[ステップS174] ラベル範囲の偏平率が正方形範囲内にならないときは、このラベルをQRコード候補から除外し、処理を終了する。
ラベル範囲が縦長であることが検出され、処理が開始される。
次に、ラベル範囲の横方向のノイズチェック処理について説明する。図19は、横方向のノイズチェック処理の手順を示したフローチャートである。
[ステップS1701] ラベル範囲の画像を、ラベル範囲の左限から右方向に向かって1ラインずつ縦方向に走査し、1ライン中で連続して検出された黒画素の数と、その黒画素の集まりの本数をカウントする。
次に、QRコード候補の精査処理について説明する。図20は、QRコード候補の精査処理の詳細を示したフローチャートである。
[ステップS1801] 2値画像から選択されたQRコード候補の領域の画像を読み出し、ファインダパタンを抽出する。ファインダパタンは、例えば、「QRコード候補領域の3隅の正方形シンボル内に別の正方形がある」という条件で抽出する。
(2)QRコード認識処理
QRコード認識部140は、QRコード抽出部130が生成したQRリスト1160に基づき、QRコードに対応する元画像データを元画像領域1100から読み出し、2値化処理部141で2値画像を生成する。続いて、パタン検出部142が、2値画像からファインダパタン、タイミングパタン及び位置合わせパタンを検出する。検出したパタンの位置座標は、パタンリスト1170に登録する。続いて、検出されたパタンに基づいて、QRコードの傾きと、各モジュールの幅と高さを算出し、傾き・幅・高さリスト1180に登録する。
図21に示したように、QRコードには、ファインダパタン21a,21b,21cと、タイミングパタン22a,22bと、が配置されている。タイミングパタン22a,22bは、白モジュールと黒モジュールが1モジュールずつ交互に並ぶ。また、ファインダパタン21a,21b,21cは、上端から順に、高さ1の黒モジュール、高さ1の白モジュール、高さ3の黒モジュール、高さ1の白モジュール、高さ1の黒モジュールである。
領域A251は、水平方向にタイミングパタン22aが、垂直方向にファインダパタン21a,21bがある。領域A251の図示水平方向の各モジュールの幅は、水平方向のタイミングパタン22aの各モジュールの幅と同じと推定する。領域A251の上下方向の高さは、ファインダパタン21a,21bと同じく7モジュールである。そこで、領域A251の上端2モジュールの各モジュール高さは、ファインダパタン21bの上端の黒モジュールと白モジュールとの高さから推定する。同様に、領域A251の下端2モジュールの各モジュールの高さは、ファインダパタン21bの下端の黒モジュールと白モジュールとの高さから推定する。また、領域A251の中央3モジュールの各モジュール高さは、ファインダパタン21bの中央の黒モジュールの高さを3等分した値と同じと推定する。
こうして傾き・幅・高さリスト1180が登録されると、モジュール割当部144は、各モジュールを2値画像に割り当てる割当処理を行う。
(A)は、元のモジュールで、3×3画素が整列する配置である。(B)は、モジュール変形例1で、元のモジュールから上端の画素を左に1ずつずらした領域を1つのモジュールと見なしている。(C)は、モジュール変形例2で、元のモジュールから下端の画素を左に1ずつずらした領域を1つのモジュールと見なしている。(D)は、モジュール変形例3で、元のモジュールから中央の画素を左に1ずつずらした領域を1つのモジュールと見なしている。(E)は、モジュール変形例4で、元のモジュールから左端の画素を下に1ずつずらした領域を1つのモジュールと見なしている。
図24は、モジュールを組み合わせた一例である。
m11からm16は、図22のモジュール割当2200と同じである。m21からm26の列は、モジュール幅がそれぞれm11からm16と同じで、モジュール高さが2である。m21からm26の列では、水平方向の歪みは生じていないものとする。m31からm36の列は、タイミングモジュールに基づいてモジュール幅がそれぞれm11からm16と同じ画素数と見なせる。また、モジュールの高さは、3画素になる。しかし、m31については、モジュール幅をm11と同じく3画素とすると、三角形で示した白の画素に、四角形で示した黒の画素が含まれてしまう。前述のように、モジュールの変形処理を行なう場合には、同一色の画素が含まれた領域が1つのモジュールを構成しているものと推定し、m31のモジュール幅を2画素とする。m32からm26については、m12からm16と同じモジュール幅としてモジュールの変形処理を行う。図24のモジュール変形処理では、m31からm36の列は、上端の2画素を左に1ずつずらした領域を1つのモジュールと見なしている。
RSブロックは、QRコード領域3000の予め決められたモジュールにより構成される。図の例では、D11,D12,E11,E12,E13,E14から1つのRSブロックが形成される。RSブロックは、読み取られたQRコードの誤り訂正に用いられる。RSブロックによる誤り訂正ができなかったときは、このRSブロックに属するモジュールの割当処理をやり直し、割当処理をやり直したQRコードをデコードする。
図26は、QRコード認識処理全体の手順を示したフローチャートである。
QRリスト1160にQRコードが登録された後、1つのQRコードが選択され、処理が開始される。
[ステップS59] 誤り訂正ができなかったRSブロックが存在し、かつ、未実行の2値化処理がないときは、デコード失敗として処理を終了する。
[ステップS541] サイズ算出部143は、ファインダパタン及びタイミングパタンを用いて画像の傾きと、各モジュールの幅及び高さ(縦横画素数)と、を推定する。推定した幅・高さは、傾き・幅・高さリスト1180に登録する。
[ステップS546] モジュール割当を行っていない割当未領域が2値画像にあるかどうかを判定する。モジュールの割当未領域が2値画像にあれば、ステップS542に戻って、割当未領域のモジュール割当を行う。2値画像にモジュール割当未領域がなければ、処理を終了する。
(付記1) 入力画像データから2次元コード画像を抽出し、歪みを補正して2次元コードの認識処理を行う2次元コード読取方法において、
コンピュータが、
撮像装置によって撮像された画像データを2値化して2値画像を生成し、前記2値画像を前記画像データ記憶手段に格納し、
前記2値画像に対してぼかし処理を施し、
前記ぼかし処理を施したぼかし画像から、暗画素が所定の割合以上に分布している画素集合を2次元コード候補として検出し、
前記2次元コード候補の領域に対応する2値画像を前記画像データ記憶手段から読み出して、2次元コードの特徴を示す情報と照合し、
前記2次元コードの特徴を満たすと判定された前記2次元コード候補が検出されたときは、前記2次元コード候補を2次元コードと特定し、
前記2次元コードの2値画像として、前記2次元コードとして特定された前記2次元コード候補の領域に対応する2値画像を前記画像データ記憶手段から読み出し、
前記画像データ記憶手段から読み出した前記2次元コードの2値画像から、前記2次元コードの基準画像パタンを検出し、
検出された前記基準画像パタンを用いて、前記2次元コードを構成する各モジュールの縦横の画素数を推定して仮モジュールを生成し、
前記2次元コードの2値画像の画素配列に合わせて前記仮モジュールを前記2次元コードの2値画像に割り当て、
割り当てられたモジュールに基づき前記2次元コードのデコードを行う、
ことを特徴とする2次元コード読取方法。
複数の2値化処理手順及びぼかし処理手順から一の2値化処理手順及び一のぼかし処理手順を選択して実行し、
得られたぼかし画像から前記2次元コードが抽出できなかったときは、未実行の2値化処理手順または未実行のぼかし処理手順を選択して再度実行し、
前記2次元コード画像が抽出されるか、または、未実行の前記2値化処理手順及びぼかし処理手順がなくなるまで、2値化処理及びぼかし処理を繰り返す、
ことを特徴とする付記1記載の2次元コード読取方法。
前記2値画像を縮小し、縮小率に応じた所定の範囲の画素に含まれる暗画素が所定の割合以上のときは、前記所定の範囲に対応する縮小画像の画素を暗画素にすることを特徴とする付記1〜2記載の2次元コード読取方法。
前記2値画像の所定の範囲内の画素に暗画素が含まれている場合は暗画素を、前記所定の範囲の画素がすべて明画素のときは明画素を選択して間引き処理を行う、
ことを特徴とする付記3記載の2次元コード読取方法。
前記2次元コードを特定する際、前記2次元コード候補に対応する2値画像を前記画像データ記憶手段から読み出し、前記読み出した2値画像に、前記2次元コードを特徴付ける2次元コード検出用パタンが検出されるかどうかを判定する、
ことを特徴とする付記1〜4記載の2次元コード読取方法。
ことを特徴とする付記5記載の2次元コード読取方法。
ことを特徴とする付記5〜7記載の2次元コード読取方法。
前記2次元コード候補として前記QRコード候補を検出する際、前記所定のぼかし処理の結果得られた前記画素集合の形状が、正方形であるかどうかを判定し、所定の許容範囲内で正方形と見なせる前記画素集合をQRコード候補とし、
前記2次元コードとして前記QRコードを特定する際、前記QRコード候補に対応する2値画像を前記画像データ記憶手段から読み出し、前記QRコード候補に対応する2値画像に、前記QRコードのファインダパタンが検出されるかどうかを判定することを特徴とする付記1〜4記載の2次元コード読取方法。
ことを特徴とする付記8記載の2次元コード読取方法。
ことを特徴とする付記9記載の2次元コード読取方法。
ことを特徴とする付記1〜7記載の2次元コード読取方法。
ことを特徴とする付記11記載の2次元コード読取方法。
ことを特徴とする付記11〜13記載の2次元コード読取方法。
前記基準画像パタン検出の際、前記基準画像パタンとしてQRコードのファインダパタン及びタイミングパタンを検出し、前記ファインダパタン及び前記タイミングパタンの画素配列に基づいて前記仮モジュールの縦横の画素数を算出する、
ことを特徴とする付記11記載の2次元コード読取方法。
ことを特徴とする付記15記載の2次元コード読取方法。
ことを特徴とする付記15〜16記載の2次元コード読取方法。
ことを特徴とする付記15〜17記載の2次元コード読取方法。
コンピュータが、
撮像装置によって撮像された画像データを2値化して2値画像を生成して前記画像データ記憶手段に格納し、
前記2値画像に対してぼかし処理を施し、
前記ぼかし処理を施したぼかし画像から、暗画素が所定の割合以上に分布している画素集合を2次元コード候補として検出し、
前記2次元コード候補の領域に対応する2値画像を前記画像データ記憶手段から読み出して、2次元コードの特徴を示す情報と照合し、
前記2次元コードの特徴を満たすと判定された前記2次元コード候補が検出されたときは、前記2次元コード候補を2次元コードと特定し、
特定された2次元コードの画像領域の位置を示す2次元コード位置情報を前記2次元コード候補の領域に基づいて生成し、前記2次元コード位置情報をコード情報記憶手段に格納する、
ことを特徴とする2次元コード抽出方法。
コンピュータが、
撮像装置によって撮像された画像データから前記2次元コード画像を抽出し、
抽出した前記2次元コードの画像を2値化して2次元コードの2値画像を生成して画像データ記憶手段に格納し、
前記2次元コードの2値画像から、2次元コードの基準画像パタンを検出し、
検出された基準画像パタンを用いて前記2次元コードの2値画像を構成する各モジュールの縦横の画素数を推定して仮モジュールを生成し、
前記画像データ記憶手段から読み出した前記2次元コードの2値画像の画素配列に合わせて前記仮モジュールを前記2次元コードの2値画像に割り当て、
割り当てられたモジュールに基づき前記2次元コードのデコードを行う、
ことを特徴とする2次元コード認識方法。
撮像装置によって撮像された画像データを2値化して2値画像を生成し、前記2値画像を前記画像データ記憶手段に格納し、前記2値画像に対してぼかし処理を施し、前記ぼかし処理を施したぼかし画像から、暗画素が所定の割合以上に分布している画素集合を2次元コード候補として検出し、前記2次元コード候補の領域に対応する2値画像を前記画像データ記憶手段から読み出して、2次元コードの特徴を示す情報と照合し、前記2次元コードの特徴を満たすと判定された前記2次元コード候補が検出されたときは、前記2次元コード候補を2次元コードと特定する2次元コード抽出手段と、
前記2次元コードの2値画像として、前記2次元コードとして特定された前記2次元コード候補の領域に対応する2値画像を前記画像データ記憶手段から読み出し、前記画像データ記憶手段から読み出した前記2次元コードの2値画像から、前記2次元コードの基準画像パタンを検出し、検出された前記基準画像パタンを用いて、前記2次元コードを構成する各モジュールの縦横の画素数を推定して仮モジュールを生成し、前記2次元コードの2値画像の画素配列に合わせて前記仮モジュールを前記2次元コードの2値画像に割り当て、割り当てられたモジュールに基づき前記2次元コードのデコードを行う2次元コード認識手段と、
を有することを特徴とする2次元コード読取装置。
コンピュータに、
撮像装置によって撮像された画像データを2値化して2値画像を生成し、前記2値画像を前記画像データ記憶手段に格納し、
前記2値画像に対してぼかし処理を施し、
前記ぼかし処理を施したぼかし画像から、暗画素が所定の割合以上に分布している画素集合を2次元コード候補として検出し、
前記2次元コード候補の領域に対応する2値画像を前記画像データ記憶手段から読み出して、2次元コードの特徴を示す情報と照合し、
前記2次元コードの特徴を満たすと判定された前記2次元コード候補が検出されたときは、前記2次元コード候補を2次元コードと特定し、
前記2次元コードの2値画像として、前記2次元コードとして特定された前記2次元コード候補の領域に対応する2値画像を前記画像データ記憶手段から読み出し、
前記画像データ記憶手段から読み出した前記2次元コードの2値画像から、前記2次元コードの基準画像パタンを検出し、
検出された前記基準画像パタンを用いて、前記2次元コードを構成する各モジュールの縦横の画素数を推定して仮モジュールを生成し、
前記2次元コードの2値画像の画素配列に合わせて前記仮モジュールを前記2次元コードの2値画像に割り当て、
割り当てられたモジュールに基づき前記2次元コードのデコードを行う、
手順を実行させることを特徴とする2次元コード読取プログラム。
11a 画像データ記憶手段
11b コード情報記憶手段
12 画像入力手段
13 2次元コード抽出手段
14 2次元コード認識手段
15 結果出力手段
Claims (10)
- 入力画像データから2次元コード画像を抽出し、歪みを補正して2次元コードの認識処理を行う2次元コード読取方法において、
コンピュータが、
撮像装置によって撮像された画像データを2値化して2値画像を生成し、前記2値画像を画像データ記憶手段に格納し、
前記2値画像に対してぼかし処理を施し、
前記ぼかし処理を施したぼかし画像から、暗画素が所定の割合以上に分布している画素集合を2次元コード候補として検出し、
前記2次元コード候補の領域に対応する2値画像を前記画像データ記憶手段から読み出して、2次元コードの特徴を示す情報と照合し、
前記2次元コードの特徴を満たすと判定された前記2次元コード候補が検出されたときは、前記2次元コード候補を2次元コードと特定し、
前記2次元コードの2値画像として、前記2次元コードとして特定された前記2次元コード候補に対応する2値画像を前記画像データ記憶手段から読み出し、
前記画像データ記憶手段から読み出した前記2次元コードの2値画像から、前記2次元コードの基準画像パタンを検出し、
検出された前記基準画像パタンを用いて、前記2次元コードを構成する各モジュールの縦横の画素数を推定して仮モジュールを生成し、
前記2次元コードの2値画像の画素配列に合わせて前記仮モジュールを前記2次元コードの2値画像に割り当て、
割り当てられたモジュールに基づき前記2次元コードのデコードを行う、
ことを特徴とする2次元コード読取方法。 - 前記2次元コード候補を検出する際、前記ぼかし処理の結果得られた前記画素集合の形状を、前記2次元コードを特徴付ける外縁の形状と照合し、所定の許容範囲内で前記2次元コードを特徴付ける形状と一致する前記画素集合を前記2次元コード候補とし、
前記2次元コードを特定する際、前記2次元コード候補に対応する2値画像を前記画像データ記憶手段から読み出し、前記読み出した2値画像に、前記2次元コードを特徴付ける2次元コード検出用パタンが検出されるかどうかを判定する、
ことを特徴とする請求項1記載の2次元コード読取方法。 - 前記2次元コード候補を検出する際、前記ぼかし処理の結果得られた前記画素集合の形状が、前記2次元コードを特徴付ける外縁の形状と一致しないときは、前記画素集合内に予め決められたノイズ形状の条件を満たす形状を持つ画像の有無を検査し、前記条件を満たすノイズ形状が検出されたときは、検出されたノイズ形状を取り除いて前記画素集合の形状を補正し、補正後に前記2次元コードを特徴付ける外縁の形状と照合する、
ことを特徴とする請求項2記載の2次元コード読取方法。 - 前記2次元コードを特定する際、前記2次元コード候補に対応する2値画像が前記2次元コード検出用パタンを複数有するときは、少なくとも1つの前記2次元コード検出用パタンが検出され、かつ、検出された前記2次元コード検出用パタンと、前記2次元コード候補に対応する2値画像における前記2次元コード画像の範囲とに基づいて推定される残りの前記2次元コード検出用パタンの推定位置に、前記2次元コード検出用パタンの条件を満たす形状が少なくとも1つ検出されたときは、前記2次元コード候補に対応する2値画像を2次元コードと特定する、
ことを特徴とする請求項2〜3記載の2次元コード読取方法。 - 前記モジュールの割り当ての際、前記基準画像パタンに基づいて、前記基準画像パタンに対応するモジュールの縦横の画素数と、前記2次元コード画像の傾きを算出し、算出された前記モジュールの縦の画素数を高さ、前記モジュールの横の画素数を幅とする仮モジュールを生成するとともに、前記傾き及び既に前記2次元コードの2値画像に割り当てられた既割当のモジュールの形状とに応じて前記仮モジュールを変形し、前記2次元コードの2値画像に割り当てる、
ことを特徴とする請求項1〜4記載の2次元コード読取方法。 - 前記モジュールの割り当ての際、前記2次元コード画像の所定の範囲のモジュール割当が終了したときは、割り当てられたモジュールと、前記2次元コードの2値画像とのずれを計測し、ずれの大きさが予め決められた閾値を超えているときは、前記仮モジュールの変形を調整し、前記所定の範囲について調整された仮モジュールを割り当てる処理を行う、
ことを特徴とする請求項5記載の2次元コード読取方法。 - 前記モジュールの割り当ての際、前記2次元コードに、前記2次元コード領域を所定のブロック単位に区切り、1または複数の前記ブロックから成るブロック領域ごとに誤り訂正符号が設定されているときは、前記ブロック領域ごとに前記誤り訂正符号によって誤り訂正ができなかったブロック領域の数を計測し、前記誤り訂正ができなかったブロック領域が存在し、かつ、前記誤り訂正ができなかったブロック領域の数が所定の閾値以下の場合に、前記誤り訂正ができなかったブロック領域に対応するモジュールについて前記2値画像への割当処理を再度実行する、
ことを特徴とする請求項5〜6記載の2次元コード読取方法。 - 入力画像データから2次元コード画像を抽出する2次元コード抽出方法において、
コンピュータが、
撮像装置によって撮像された画像データを2値化して2値画像を生成して前記画像データ記憶手段に格納し、
前記2値画像に対してぼかし処理を施し、
前記ぼかし処理を施したぼかし画像から、暗画素が所定の割合以上に分布している画素集合を2次元コード候補として検出し、
前記2次元コード候補の領域に対応する2値画像を前記画像データ記憶手段から読み出して、2次元コードの特徴を示す情報と照合し、
前記2次元コードの特徴を満たすと判定された前記2次元コード候補が検出されたときは、前記2次元コード候補を2次元コードと特定し、
特定された2次元コードの画像領域の位置を示す2次元コード位置情報を前記2次元コード候補の領域に基づいて生成し、前記2次元コード位置情報をコード情報記憶手段に格納する、
ことを特徴とする2次元コード抽出方法。 - 2次元コード画像の歪みを補正して認識処理を行う2次元コード認識方法において、
コンピュータが、
撮像装置によって撮像された画像データから前記2次元コード画像を抽出し、
抽出した前記2次元コードの画像を2値化して2次元コードの2値画像を生成して画像データ記憶手段に格納し、
前記2次元コードの2値画像から、2次元コードの基準画像パタンを検出し、
検出された基準画像パタンを用いて前記2次元コードの2値画像を構成する各モジュールの縦横の画素数を推定して仮モジュールを生成し、
前記画像データ記憶手段から読み出した前記2次元コードの2値画像の画素配列に合わせて前記仮モジュールを前記2次元コードの2値画像に割り当て、
割り当てられたモジュールに基づき前記2次元コードのデコードを行う、
ことを特徴とする2次元コード認識方法。 - 入力画像データから2次元コード画像を抽出し、歪みを補正して2次元コードの認識処理を行う2次元コード読取装置において、
撮像装置によって撮像された画像データを2値化して2値画像を生成し、前記2値画像を前記画像データ記憶手段に格納し、前記2値画像に対してぼかし処理を施し、前記ぼかし処理を施したぼかし画像から、暗画素が所定の割合以上に分布している画素集合を2次元コード候補として検出し、前記2次元コード候補の領域に対応する2値画像を前記画像データ記憶手段から読み出して、2次元コードの特徴を示す情報と照合し、前記2次元コードの特徴を満たすと判定された前記2次元コード候補が検出されたときは、前記2次元コード候補を2次元コードと特定する2次元コード抽出手段と、
前記2次元コードの2値画像として、前記2次元コードとして特定された前記2次元コード候補の領域に対応する2値画像を前記画像データ記憶手段から読み出し、前記画像データ記憶手段から読み出した前記2次元コードの2値画像から、前記2次元コードの基準画像パタンを検出し、検出された前記基準画像パタンを用いて、前記2次元コードを構成する各モジュールの縦横の画素数を推定して仮モジュールを生成し、前記2次元コードの2値画像の画素配列に合わせて前記仮モジュールを前記2次元コードの2値画像に割り当て、割り当てられたモジュールに基づき前記2次元コードのデコードを行う2次元コード認識手段と、
を有することを特徴とする2次元コード読取装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009158625A JP5507134B2 (ja) | 2009-07-03 | 2009-07-03 | 2次元コード読取方法、2次元コード認識方法及び2次元コード読取装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009158625A JP5507134B2 (ja) | 2009-07-03 | 2009-07-03 | 2次元コード読取方法、2次元コード認識方法及び2次元コード読取装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011014012A true JP2011014012A (ja) | 2011-01-20 |
JP5507134B2 JP5507134B2 (ja) | 2014-05-28 |
Family
ID=43592810
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009158625A Active JP5507134B2 (ja) | 2009-07-03 | 2009-07-03 | 2次元コード読取方法、2次元コード認識方法及び2次元コード読取装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5507134B2 (ja) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012231353A (ja) * | 2011-04-27 | 2012-11-22 | Kyocera Document Solutions Inc | 画像処理装置 |
US9202097B2 (en) | 2013-08-05 | 2015-12-01 | Kabushiki Kaisha Toshiba | Information processing apparatus, information processing method, and computer program product |
JP2017016527A (ja) * | 2015-07-03 | 2017-01-19 | 富士ゼロックス株式会社 | 情報処理装置及びプログラム |
CN106408324A (zh) * | 2016-08-29 | 2017-02-15 | 星空电讯科技(北京)股份有限公司 | 智能云屏的识别码匹配方法 |
CN107808109A (zh) * | 2016-09-09 | 2018-03-16 | 中兴通讯股份有限公司 | 一种二维码图像识别方法及移动终端 |
CN109325383A (zh) * | 2018-10-31 | 2019-02-12 | 惠州高盛达科技有限公司 | 产品包装标签的识别方法及识别系统 |
JP2020025336A (ja) * | 2019-11-11 | 2020-02-13 | 富士ゼロックス株式会社 | 情報処理システム及びプログラム |
CN111597849A (zh) * | 2020-05-07 | 2020-08-28 | 北京凌云光技术集团有限责任公司 | 一种可变码区域的提取方法 |
CN111753573A (zh) * | 2020-06-28 | 2020-10-09 | 北京奇艺世纪科技有限公司 | 二维码图像识别方法、装置、电子设备以及可读存储介质 |
CN111815725A (zh) * | 2020-07-29 | 2020-10-23 | 苏州中科全象智能科技有限公司 | 一种qr码区域定位方法 |
CN113283262A (zh) * | 2020-12-29 | 2021-08-20 | 深圳怡化电脑股份有限公司 | 一种二维码定位方法、装置、电子设备、机器可读介质 |
CN113515965A (zh) * | 2020-04-09 | 2021-10-19 | 富士通株式会社 | 二维码检测装置、二维码检测方法及存储介质 |
CN113642350A (zh) * | 2021-08-24 | 2021-11-12 | 凌云光技术股份有限公司 | 一种工业产品承载的二维码快速识读方法及装置 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3161727A4 (en) * | 2014-06-24 | 2018-02-14 | Pic2go Ltd. | Photo tagging system and method |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07262301A (ja) * | 1994-03-16 | 1995-10-13 | Asahi Optical Co Ltd | データシンボル読み取り装置 |
JPH10187868A (ja) * | 1996-12-20 | 1998-07-21 | Denso Corp | 2次元コード読取装置および記憶媒体 |
JP2004054530A (ja) * | 2002-07-18 | 2004-02-19 | Sharp Corp | 2次元コード読み取り装置,2次元コード読み取り方法,2次元コード読み取りプログラム及び該プログラムの記録媒体 |
JP2009093360A (ja) * | 2007-10-05 | 2009-04-30 | Canon Inc | 画像処理装置、画像処理方法およびプログラム |
-
2009
- 2009-07-03 JP JP2009158625A patent/JP5507134B2/ja active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07262301A (ja) * | 1994-03-16 | 1995-10-13 | Asahi Optical Co Ltd | データシンボル読み取り装置 |
JPH10187868A (ja) * | 1996-12-20 | 1998-07-21 | Denso Corp | 2次元コード読取装置および記憶媒体 |
JP2004054530A (ja) * | 2002-07-18 | 2004-02-19 | Sharp Corp | 2次元コード読み取り装置,2次元コード読み取り方法,2次元コード読み取りプログラム及び該プログラムの記録媒体 |
JP2009093360A (ja) * | 2007-10-05 | 2009-04-30 | Canon Inc | 画像処理装置、画像処理方法およびプログラム |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012231353A (ja) * | 2011-04-27 | 2012-11-22 | Kyocera Document Solutions Inc | 画像処理装置 |
US8561883B2 (en) | 2011-04-27 | 2013-10-22 | Kyocera Document Solutions Inc. | Image processing apparatus |
US9202097B2 (en) | 2013-08-05 | 2015-12-01 | Kabushiki Kaisha Toshiba | Information processing apparatus, information processing method, and computer program product |
JP2017016527A (ja) * | 2015-07-03 | 2017-01-19 | 富士ゼロックス株式会社 | 情報処理装置及びプログラム |
CN106408324A (zh) * | 2016-08-29 | 2017-02-15 | 星空电讯科技(北京)股份有限公司 | 智能云屏的识别码匹配方法 |
CN107808109A (zh) * | 2016-09-09 | 2018-03-16 | 中兴通讯股份有限公司 | 一种二维码图像识别方法及移动终端 |
CN109325383A (zh) * | 2018-10-31 | 2019-02-12 | 惠州高盛达科技有限公司 | 产品包装标签的识别方法及识别系统 |
JP2020025336A (ja) * | 2019-11-11 | 2020-02-13 | 富士ゼロックス株式会社 | 情報処理システム及びプログラム |
CN113515965A (zh) * | 2020-04-09 | 2021-10-19 | 富士通株式会社 | 二维码检测装置、二维码检测方法及存储介质 |
CN111597849A (zh) * | 2020-05-07 | 2020-08-28 | 北京凌云光技术集团有限责任公司 | 一种可变码区域的提取方法 |
CN111597849B (zh) * | 2020-05-07 | 2023-07-18 | 凌云光技术股份有限公司 | 一种可变码区域的提取方法 |
CN111753573A (zh) * | 2020-06-28 | 2020-10-09 | 北京奇艺世纪科技有限公司 | 二维码图像识别方法、装置、电子设备以及可读存储介质 |
CN111753573B (zh) * | 2020-06-28 | 2023-09-15 | 北京奇艺世纪科技有限公司 | 二维码图像识别方法、装置、电子设备以及可读存储介质 |
CN111815725A (zh) * | 2020-07-29 | 2020-10-23 | 苏州中科全象智能科技有限公司 | 一种qr码区域定位方法 |
CN111815725B (zh) * | 2020-07-29 | 2024-03-08 | 苏州中科全象智能科技有限公司 | 一种qr码区域定位方法 |
CN113283262A (zh) * | 2020-12-29 | 2021-08-20 | 深圳怡化电脑股份有限公司 | 一种二维码定位方法、装置、电子设备、机器可读介质 |
CN113642350A (zh) * | 2021-08-24 | 2021-11-12 | 凌云光技术股份有限公司 | 一种工业产品承载的二维码快速识读方法及装置 |
CN113642350B (zh) * | 2021-08-24 | 2023-09-29 | 凌云光技术股份有限公司 | 一种工业产品承载的二维码快速识读方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
JP5507134B2 (ja) | 2014-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5507134B2 (ja) | 2次元コード読取方法、2次元コード認識方法及び2次元コード読取装置 | |
EP1909215B1 (en) | Image region detection method, recording medium, and device therefor | |
US8768052B2 (en) | Image processing apparatus, image processing method, and non-transitory computer readable medium | |
JP2835274B2 (ja) | 画像認識装置 | |
US8218890B2 (en) | Method and apparatus for cropping images | |
WO2018068415A1 (zh) | 元件错件检测方法和系统 | |
CN112183038A (zh) | 一种表格识别套打方法、计算机设备及计算机可读存储介质 | |
US20110133887A1 (en) | Image registration method for image comparison and document authentication | |
JP2002133426A (ja) | 多値画像から罫線を抽出する罫線抽出装置 | |
JP6343648B2 (ja) | 円検出方法、円検出装置、プログラム及び記憶媒体 | |
US8538170B2 (en) | System and method for document location and recognition | |
US7263228B2 (en) | Apparatus and method for detecting a pattern | |
CN110569845A (zh) | 一种试卷图像的校正方法及相关装置 | |
US10643097B2 (en) | Image processing apparatuses and non-transitory computer readable medium | |
CN112419207A (zh) | 一种图像矫正方法及装置、系统 | |
US7922087B2 (en) | Image processing apparatus, image processing method, and computer program stored in storage medium | |
JPH11110562A (ja) | パターン認識方法、装置および記録媒体 | |
TWI438699B (zh) | 條碼的處理方法與其相關裝置 | |
JP3989733B2 (ja) | フォーム処理でのひずみの訂正 | |
JP5720623B2 (ja) | 二次元コード読取装置 | |
US7103220B2 (en) | Image processing apparatus, method and program, and storage medium | |
US20220383471A1 (en) | Image processing apparatus, image processing method, and medium | |
JP5453193B2 (ja) | 傾き検出装置、撮像装置および方法 | |
JP3567904B2 (ja) | 2次元コード読み取り装置 | |
KR20220168787A (ko) | 만주어의 글자 추출 방법 및 이를 수행하는 시스템 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120316 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130531 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130611 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130809 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20131008 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20131226 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20140108 |
|
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: 20140318 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140319 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5507134 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |