JP2009070061A - 2次元コード読み取り装置、2次元コード読み取り方法、2次元コード読み取りプログラム及び記録媒体 - Google Patents

2次元コード読み取り装置、2次元コード読み取り方法、2次元コード読み取りプログラム及び記録媒体 Download PDF

Info

Publication number
JP2009070061A
JP2009070061A JP2007236688A JP2007236688A JP2009070061A JP 2009070061 A JP2009070061 A JP 2009070061A JP 2007236688 A JP2007236688 A JP 2007236688A JP 2007236688 A JP2007236688 A JP 2007236688A JP 2009070061 A JP2009070061 A JP 2009070061A
Authority
JP
Japan
Prior art keywords
dimensional code
pattern
black
condition
white
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2007236688A
Other languages
English (en)
Other versions
JP5145833B2 (ja
Inventor
Sadao Takahashi
禎郎 高橋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2007236688A priority Critical patent/JP5145833B2/ja
Publication of JP2009070061A publication Critical patent/JP2009070061A/ja
Application granted granted Critical
Publication of JP5145833B2 publication Critical patent/JP5145833B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】電子写真プリンタ、インクジェットプリンタなどの汎用のプリンタで印刷した2次元コードでも誤りなくデコードできるような2次元コードリーダを提供する。
【解決手段】2次元コードのデコードに失敗した場合、固有パターンを構成する黒若しくは白のパターンのうち、一方のパターンを構成するセルが予め定めたパターンを構成するセルと全て一致しかつ他方のパターンの一致度が所定範囲にないとき所定範囲に入るよう二値化パラメータを調整し、再度二値化を行ってその二値画像のデコードを行う。
【選択図】図11

Description

本発明は、2次元コード読み取り装置、2次元コード読み取り方法、2次元コード読み取りプログラム及び記録媒体に関し、特に多値で入力した画像を二値化してデコードする際、デコード失敗した場合にコード内の白黒画素の割合に応じて二値化パラメータを変更して再度適正な画像の二値化した上でデコードを行う2次元コード読み取り装置、2次元コード読み取り方法、2次元コード読み取りプログラム及び記録媒体に関する。
従来、スキャナ入力された二値画像に対し、デコードを実行する文書処理システム、文書処理方法、文書処理プログラムが提案されている(例えば特許文献1参照)。スキャナで入力された印刷文書はスキャナが有する単一二値化閾値で二値化する機能を利用して画像を二値化し、取得した二値画像に対してデコード処理を一回のみ行っている。
また、二値化に関連する技術として、画像二値化装置、画像撮像装置等が提案されている(例えば特許文献2参照)。文字背景の色や輝度に応じて二値化の閾値を局所的に変更して文書の二値化を適正に行うものであり、これにより光源などの入力条件が一定のスキャナだけでなく様々な光源下で一定しない撮影環境の中でデジタルカメラを用いて文書撮影を行ってもその上の文字やバーコード、2次元コードを正しく二値化できる。
以上のような技術を用いればデジタルカメラで撮影した画像を二値化し、2次元コードのデコードを行うことが容易になる。
特開2005−122682号公報 特開2001−008032号公報
しかしながら、上記のような技術には、以下の問題点がある。紙文書に2次元コードを印刷するためには2次元コードをラベルプリンタなどのバーコード専用プリンタで印刷するのではなく、電子写真プリンタ、インクジェットプリンタなどの汎用のプリンタを用いて印刷することが通常になる。電子写真プリンタはカーボンブラックを用いたトナーを利用して文書の文字を美しく印刷することに開発が注がれてきた。その結果、文字のかすれなどを嫌うがために細線を太めに印字するなどの工夫を行ってきた。そのため2次元コード、バーコードを印刷すると黒の部分が拡張されてしまう欠点がある。
また、インクジェットプリンタにおいては、インクの着弾場所が狙ったところに行かずにインクが白黒境界付近で飛散したり、紙に浸透してインクがにじんだり、あるいは顔料インク、染料インク等の濃度の違うインクが使われたり、印刷モードにも高画質モードやドラフトモードでは使用インク量が異なってモード間でかなりの印字濃度の差があったりする。すなわち、2次元コードやバーコードを同じ紙ではあっても異なる印刷条件で印刷し、同じ条件で画像入力し、同じパラメータで画像二値化を行っても出力される二値画像は黒が拡張されて黒潰れしているもの、コードの黒の部分に白画素が混じったり、黒領域の面積が少なくなっていたりする。そのため、2次元コードやバーコードのデコードを行っても正しくデコードできるとは限らない。
本発明はこのような状況に鑑みてなされたものであり、2次元コードのデコード失敗の場合に黒画素と白画素の比率を算出し、それを基に二値化パラメータを調整し、再度画像二値化を行って適切にデコードできる二値画像を生成し、デコード処理を実行することを目的とする。
請求項1記載の発明は、複数の白および黒の四角形のセルから構成され、前記セルの一部を固有パターンとして有する2次元コードを含む多値画像を入力し、所定の二値化パラメータを用いて画像の二値化を行い、二値画像を出力する画像二値化手段と、前記二値画像から前記2次元コードの領域を検出する2次元コード検出手段と、前記2次元コード領域内の2次元コード固有パターンを検出する固有パターン検出手段と、前記固有パターンを検出した後、前記2次元コードをデコードするデコード手段と、を有し、前記固有パターン検出手段は、検出した固有パターンを構成する黒若しくは白のパターンのうち、一方のパターンを構成するセルが、予め定めたパターンを構成するセルと全て一致していることを条件とする第1の条件と、他方のパターンの一致度が予め定めた一致度を満たすことを条件とする第2の条件と、を判定する判定手段を備え、前記二値化手段は、黒パターンの一致度が前記第1の条件を満たし、白パターンの一致度が前記第2の条件を満たさない場合は、白パターンの一致度が前記第2の条件を満たすような二値化パラメータを用いて前記多値画像を再度二値化し、また、白パターンの一致度が前記第1の条件を満たし、黒パターンの一致度が前記第2の条件を満たさない場合は、黒パターンの一致度が前記第2の条件を満たすような二値化パラメータを用いて前記多値画像を再度二値化し、前記固有パターン検出手段で前記再度二値化した二値画像から2次元コード固有パターンを検出し、前記デコード手段で前記2次元コードをデコードすることを特徴とする2次元コード読み取り装置である。
請求項2記載の発明は、複数の白および黒の四角形のセルから構成され、前記セルの一部を固有パターンとして有し、残りをデータ情報と誤り訂正情報として有する2次元コードを含む多値画像を入力し、所定の二値化パラメータを用いて画像の二値化を行って二値画像を出力する画像二値化手段と、前記二値画像から前記2次元コードの領域を検出する手段と、前記2次元コード領域内の2次元コード固有パターンを検出する固有パターン検出手段と、前記固有パターンを検出した後、前記2次元コードをデコードするデコード手段と、を有し、前記デコード手段は、誤り訂正に失敗した場合に黒セルの拡張度を算出し、白セルに対する黒セルの比率が一定値を越えるときは黒が拡張していると判断し、二値画像の黒画素が減少するような二値化パラメータを用いて多値画像を再度二値化し、また、黒が縮小していると判断したときは、二値画像の白画素が減少するような二値化パラメータを用いて多値画像を再度二値化し、前記固有パターン検出手段で固有パターンを検出し、前記デコード手段で前記2次元コードをデコードすることを特徴とする2次元コード読み取り装置である。
請求項3記載の発明は、複数の白および黒の四角形のセルから構成され、前記セルの一部を固有パターンとして有し、残りをデータ情報と誤り訂正情報として有する2次元コードを含む多値画像を入力し、所定の二値化パラメータを用いて画像の二値化を行って二値画像を出力する画像二値化手段と、前記二値画像から前記2次元コードの領域を検出する手段と、前記2次元コード領域内の2次元コード固有パターンを検出する固有パターン検出手段と、前記固有パターンを検出した後、前記2次元コードをデコードするデコード手段とを有し、前記固有パターン検出手段は、検出した固有パターンを構成する黒若しくは白のパターンのうち、一方のパターンを構成するセルが、予め定めたパターンを構成するセルと全て一致していることを条件とする第1の条件と、他方のパターンの一致度が予め定めた一致度を満たすことを条件とする第2の条件と、を判定する判定手段を備え、前記二値化手段は、黒パターンの一致度が前記第1の条件を満たし、白パターンの一致度が前記第2の条件を満たさない場合は、白パターンの一致度が前記第2の条件を満たすような二値化パラメータを用いて前記多値画像を再度二値化し、また、白パターンの一致度が前記第1の条件を満たし、黒パターンの一致度が前記第2の条件を満たさない場合は、黒パターンの一致度が前記第2の条件を満たすような二値化パラメータを用いて前記多値画像を再度二値化し、前記固有パターン検出手段で前記再度二値化した二値画像から2次元コード固有パターンを検出し、前記デコード手段で前記2次元コードをデコードし、前記デコード手段は、誤り訂正に失敗した場合に黒セルの拡張度を算出し、白セルに対する黒セルの比率が一定値を越えるときは黒が拡張していると判断し、二値画像の黒画素が減少するような二値化パラメータを用いて多値画像を再度二値化し、また、黒が縮小していると判断したときは、二値画像の白画素が減少するような二値化パラメータを用いて多値画像を再度二値化し、前記固有パターン検出手段で固有パターンを検出し、前記デコード手段で前記2次元コードをデコードすることを特徴とする2次元コード読み取り装置である。
請求項4記載の発明は、複数の白および黒の四角形のセルから構成され、前記セルの一部を固有パターンとして有する2次元コードを含む多値画像を入力し、所定の二値化パラメータを用いて画像の二値化を行い、二値画像を出力する画像二値化ステップと、前記二値画像から前記2次元コードの領域を検出する2次元コード検出ステップと、前記2次元コード領域内の2次元コード固有パターンを検出する固有パターン検出ステップと、前記固有パターンを検出した後、前記2次元コードをデコードするデコードステップと、を有し、前記固有パターン検出ステップは、検出した固有パターンを構成する黒若しくは白のパターンのうち、一方のパターンを構成するセルが、予め定めたパターンを構成するセルと全て一致していることを条件とする第1の条件と、他方のパターンの一致度が予め定めた一致度を満たすことを条件とする第2の条件と、を判定する判定ステップを備え、前記二値化ステップは、黒パターンの一致度が前記第1の条件を満たし、白パターンの一致度が前記第2の条件を満たさない場合は、白パターンの一致度が前記第2の条件を満たすような二値化パラメータを用いて前記多値画像を再度二値化し、また、白パターンの一致度が前記第1の条件を満たし、黒パターンの一致度が前記第2の条件を満たさない場合は、黒パターンの一致度が前記第2の条件を満たすような二値化パラメータを用いて前記多値画像を再度二値化し、前記固有パターン検出ステップで前記再度二値化した二値画像から2次元コード固有パターンを検出し、前記デコードステップで前記2次元コードをデコードすることを特徴とする2次元コード読み取り方法である。
請求項5記載の発明は、複数の白および黒の四角形のセルから構成され、前記セルの一部を固有パターンとして有し、残りをデータ情報と誤り訂正情報として有する2次元コードを含む多値画像を入力し、所定の二値化パラメータを用いて画像の二値化を行って二値画像を出力する画像二値化ステップと、前記二値画像から前記2次元コードの領域を検出するステップと、前記2次元コード領域内の2次元コード固有パターンを検出する固有パターン検出ステップと、前記固有パターンを検出した後、前記2次元コードをデコードするデコードステップと、を有し、前記デコードステップは、誤り訂正に失敗した場合に黒セルの拡張度を算出し、白セルに対する黒セルの比率が一定値を越えるときは黒が拡張していると判断し、二値画像の黒画素が減少するような二値化パラメータを用いて多値画像を再度二値化し、また、黒が縮小していると判断したときは、二値画像の白画素が減少するような二値化パラメータを用いて多値画像を再度二値化し、前記固有パターン検出ステップで固有パターンを検出し、前記デコードステップで前記2次元コードをデコードすることを特徴とする2次元コード読み取り方法である。
請求項6記載の発明は、複数の白および黒の四角形のセルから構成され、前記セルの一部を固有パターンとして有し、残りをデータ情報と誤り訂正情報として有する2次元コードを含む多値画像を入力し、所定の二値化パラメータを用いて画像の二値化を行って二値画像を出力する画像二値化ステップと、前記二値画像から前記2次元コードの領域を検出するステップと、前記2次元コード領域内の2次元コード固有パターンを検出する固有パターン検出ステップと、前記固有パターンを検出した後、前記2次元コードをデコードするデコードステップとを有し、前記固有パターン検出ステップは、検出した固有パターンを構成する黒若しくは白のパターンのうち、一方のパターンを構成するセルが、予め定めたパターンを構成するセルと全て一致していることを条件とする第1の条件と、他方のパターンの一致度が予め定めた一致度を満たすことを条件とする第2の条件と、を判定する判定ステップを備え、前記二値化ステップは、黒パターンの一致度が前記第1の条件を満たし、白パターンの一致度が前記第2の条件を満たさない場合は、白パターンの一致度が前記第2の条件を満たすような二値化パラメータを用いて前記多値画像を再度二値化し、また、白パターンの一致度が前記第1の条件を満たし、黒パターンの一致度が前記第2の条件を満たさない場合は、黒パターンの一致度が前記第2の条件を満たすような二値化パラメータを用いて前記多値画像を再度二値化し、前記固有パターン検出ステップで前記再度二値化した二値画像から2次元コード固有パターンを検出し、前記デコードステップで前記2次元コードをデコードし、前記デコードステップは、誤り訂正に失敗した場合に黒セルの拡張度を算出し、白セルに対する黒セルの比率が一定値を越えるときは黒が拡張していると判断し、二値画像の黒画素が減少するような二値化パラメータを用いて多値画像を再度二値化し、また、黒が縮小していると判断したときは、二値画像の白画素が減少するような二値化パラメータを用いて多値画像を再度二値化し、前記固有パターン検出ステップで固有パターンを検出し、前記デコードステップで前記2次元コードをデコードすることを特徴とする2次元コード読み取り方法である。
請求項7記載の発明は、複数の白および黒の四角形のセルから構成され、前記セルの一部を固有パターンとして有する2次元コードを含む多値画像を入力し、所定の二値化パラメータを用いて画像の二値化を行い、二値画像を出力する画像二値化処理と、前記二値画像から前記2次元コードの領域を検出する2次元コード検出処理と、前記2次元コード領域内の2次元コード固有パターンを検出する固有パターン検出処理と、前記固有パターンを検出した後、前記2次元コードをデコードするデコード処理と、をコンピュータに実行させ、前記固有パターン検出処理は、検出した固有パターンを構成する黒若しくは白のパターンのうち、一方のパターンを構成するセルが、予め定めたパターンを構成するセルと全て一致していることを条件とする第1の条件と、他方のパターンの一致度が予め定めた一致度を満たすことを条件とする第2の条件と、を判定する判定処理を備え、前記二値化処理は、黒パターンの一致度が前記第1の条件を満たし、白パターンの一致度が前記第2の条件を満たさない場合は、白パターンの一致度が前記第2の条件を満たすような二値化パラメータを用いて前記多値画像を再度二値化し、また、白パターンの一致度が前記第1の条件を満たし、黒パターンの一致度が前記第2の条件を満たさない場合は、黒パターンの一致度が前記第2の条件を満たすような二値化パラメータを用いて前記多値画像を再度二値化し、前記固有パターン検出処理で前記再度二値化した二値画像から2次元コード固有パターンを検出し、前記デコード処理で前記2次元コードをデコードすることを特徴とする2次元コード読み取りプログラムである。
請求項8記載の発明は、請求項7記載のプログラムの処理を記録するコンピュータ読み取り可能な記録媒体である。
本発明によれば、2次元コードのデコード失敗の場合に黒画素と白画素の比率を算出し、それを基に二値化パラメータを調整し、再度画像二値化を行って適切にデコードできる二値画像を生成し、デコード処理を実行することが出来る。
以下に、本発明の実施形態について図面を用いて詳細に説明する。なお、以下に述べる実施形態は、本発明の好適な実施形態であるから、技術的に好ましい種々の限定が付されているが、本発明の範囲は、以下の説明において特に本発明を限定する旨の記載がない限り、これらの態様に限られるものではない。
まず、本実施形態で用いる「2次元コード」について以下説明する。この2次元コードの基本は矩形であるが、斜め前方からのカメラを用いた読み取りにも高い読み取り性能を維持するため、そのような場合には2次元コードを台形に変形させる(後述する座標変換)ことも可能である。
[2次元コードの外観]
2次元コードの原型となる矩形コードを図1に示す。斜め方向からの読み取りによるコード画像劣化を防ぐために、コードの高さを低く抑えコードのセル配置数を12x7の横長とする。セルとは、白黒の矩形の最小単位で、一つのセルが1ビットを表す。白が0、黒が1に対応する。この12x7セルにデータ7バイト(56ビット)、誤り訂正データ2バイト(16ビット)、コードの識別パターン12ビットを埋め込む。そして12x7のセルを取り囲むようにセルと同じ大きさの黒枠で囲む。
このコードに座標変換を行って台形変形させると図2のようになる。このコードを斜めからカメラで読み取ると図1に示したコード画像に近いほぼ長方形のコード画像を得ることができる。
[クワイエットゾーン]
クワイエットゾーンは2次元コードの黒枠を囲む外接矩形の外側に設けられる余白領域であり、確実に読み取るために必要な領域である。クワイエットゾーンは最大セル長以上でかつ1mm以上であることが望ましい。
[コード識別パターン]
コードの識別パターン(「固有パターン」とも称す)はセル配列の最上行に配置された12個のセルの並びで判定する。セルの並びは左から「白白黒黒白白黒黒白白黒黒」であり、印刷品質や読み取り品質が低くてもコードであることを判定できるように白と黒が二つずつ並んだパターンを採用している(図3、図4参照)。
[コードの大きさ]
コードの大きさはセルの大きさを決定することで決まる。一般的な応用におけるクワイエットゾーンを含めないコードの最小の大きさは、コードを読み取る解像度を300dpiとし、読み取った画像において各セル一辺が4画素を含むとして、上底下底ともに5mm、高さは3mmとなる。
[誤り訂正]
2次元コードに使用する誤り訂正方式はリードソロモン方式である。データ7バイトに対して、2バイトの誤り訂正用データを付加する。誤り訂正できるバイト数は1である。
[データ配置]
上記のようにデータを7バイト、誤り訂正用データを2バイトとして、計9バイトのデータに加え、12ビットのコード識別パターンをコードに配置する。斜め前方からコードを読む構成となっているため、コードの高さを低く抑えてコードのセル配置数を12x7の横長とする。各セルへのデータの配置位置を図3に示す。図3は各セルへのデータのバイト単位の配置を示している。データの各バイトを(s1〜s7)、誤り訂正符号の各バイトを(r1〜r2)とする。また、最上行の白2セル、黒2セルの並びはコードを識別するための識別パターン(固有パターンとも称す)である。図4は各データのビット単位での配置を示す。数字の0がMSB、7がLSBを表す。
次に、台形を作成するためのエンコード(Encode:符号化)手順について説明する。
[エンコード手順の概要]
入力データを2次元コードに変換する際に要求される手順の概要は以下の通りである。
手順1・・・入力データのマスキング
入力データを7バイトのバイナリ形式に変換し、各バイトと0x96(16進表記)とで排他的OR演算を行う。
手順2・・・誤り訂正符号の生成
マスキングを行ったデータに誤り訂正符号を付加する。
手順3・・・矩形コードの生成
誤り訂正符号が付加された入力データを矩形コードに配置する。
手順4・・・矩形コードの台形化
矩形コードを台形に変形させる。
[入力データのマスキング](図5 ステップS1)
データ形式が整数値文字列の場合は7バイトの整数型データに変換する。データ形式が文字やバイナリの場合はそのまま使用する。データ形式の変換後、エンコードすべきデータの各バイトに対して0x96(16進表記)の値で排他的OR演算を行う。
[誤り訂正符号の生成](ステップS2、S3)
次にリードソロモン符号を使用して誤り訂正符号の生成を行う。排他的OR演算を行った7バイトデータ(s1〜s7)の各バイト値を係数とした多項式S(x) = s18+ s27 + s36 + s45 + s54 + s63 + s72を生成し、生成多項式G(x) = (x−α)(x−α2)で除算する。実際に使用する生成多項式はG(x) = x2 + 6x + 8である。除算して得られた剰余多項式R(x) = r1x + r2の係数(r1、 r2)が誤り訂正符号となる。ここで、αはGF(28)上の原始要素2の根であり、演算はすべてGF(28)上で行われる。誤り訂正能力は1バイトである。
[矩形コードの生成](ステップS4)
図3に示したとおり、s1〜s7、r1、r2の各ビットをコードにマッピングする。図4は各データのビット単位での配置を示し、数字の0がMSB、7がLSBを表す。各データのビット1を黒セルに、ビット0を白セルに割り当てる。
[矩形コードの台形化](ステップS5)
矩形コードの台形化の計算に必要な光学系パラメータを図6及び図7に示す。図示する符号の意は以下の通りである。
O:空間座標原点、S:撮像素子の結像中心、SC:光学中心、CO:紙面(z=0)、A:撮像される画端、B:コードの下端、C:撮像される中心、L:撮像される画端(直線)、T:z=0上の台形コード、R:台形コードTのもとになるz=0上での矩形コード、SO:撮像素子と紙面との距離、∠CSO:撮像時のあおり角度
台形化を行うための座標変換(2座標変換)について説明する。図8は、2次元コードの座標変換の動作処理を示すフローチャートである。まず、2次元コードのもとになる矩形コードRを平面z=0上に作成する(図9参照)。次に、直線Lを軸として矩形コードR内の点Pを∠CSOだけ回転させる。この点をPrとする(ステップS6)。次に、撮像素子の結像面の中心SとPrを結ぶ直線と平面z=0との交点Ptを求める(ステップS7)。このようにして矩形コードRは台形コードTに変換される。コード内の点を全て処理すると(ステップS8/Yes)座標変換処理は終了する。
上記のように作成した2次元コードをプリンタで紙に印刷する。
次に、本実施形態の2次元コード読み取り装置について説明する。図10は本実施形態に係る2次元コード読み取り装置のブロック構成図である。2次元コード読み取り装置は、デジタルカメラやスキャナなどの画像入力手段から多値(グレースケール。カラーの場合は輝度信号を抽出する)画像として入力され、一旦メモリ1に保存される。メモリ1に保存されたあと、あらかじめ二値化パラメータ設定部4により設定された二値化パラメータを用いて二値化される(図10 二値化部2)。二値化された画像を用いてデコード部3は二値化された画像に存在する2次元コードをデコードする。
2次元コードのデコードに失敗した場合、二値化パラメータ設定部4へ、失敗した旨の情報を出力する。二値化パラメータ設定部4は入力されたデコード失敗の情報を元に二値化パラメータの修正を行う。デコード失敗の情報とは、例えば二値化された画像に黒画素が多すぎる、あるいは白画素が多すぎる等の情報である。そして修正された二値化パラメータを使用して再度画像二値化を行い、その二値画像のデコードを行う。
二値化部2の構成は、特開2001−008032を利用することも考え得る。この場合、二値化パラメータ設定部4で設定される二値化パラメータは、特開2001−008032の二値化閾値設定回路で用いられる乗算係数Cbに相当する(多値画像の二値化に使用する二値化閾値THを設定する際に、平均輝度値aveに係数Cbを乗ずる)。Cbが大きくなると二値化画像において黒画素が増大し、Cbが小さくなると二値化画像において白画素が増大する。
このとき、Cb=x/16 (1<=x<=15;xは整数)と設定すると、二値化パラメータ設定部4はxの値を1〜15の範囲で変更することになる。この場合、通常はx=8の設定にしておく。デコード部3から黒画素が多すぎるという情報が入力された場合、(x+1)/2を新しくxに設定する。デコード部3から白画素が多すぎるという情報が入力された場合、(x+15)/2を新しくxに設定する。これにより一回目のデコードが失敗した場合でも、二回目のデコードを実行する際、2次元コードをデコードするためにより適した二値化画像を得ることができる。
次にデコード部3について詳述する。図11は、デコード部3のブロック構成図である。図11の点線で囲った部分がデコード部3である。
デコード部3は、頂点候補検出部5、黒枠判定部6、射影変換係数算出部7、セル位置取得部8、コード判定部9、ビット列取得部10、誤り訂正部11、データ復元部12、黒の拡張率算出部13から構成される。以下各構成について詳述する。
[頂点候補検出部5]
頂点候補検出部5は、2次元コードの各頂点候補を検出する。次の黒枠判定部6で黒枠(=コード枠)として認識されて始めて頂点候補が2次元コードの頂点であると判定されるため、頂点「候補」と称す。
頂点候補検出の動作処理について述べる。まず、図12に示すように画像の四隅から斜め走査を行い、黒画素を検出する。それをA、B、C、Dとする。さらに図13では、A、B、C、Dから矢印の方向、例えばAなら右下45度、Bなら左下45度というように、最低3画素以上の画素数だけ画素を追跡してそれらがすべて黒画素かどうかを判定する。それらがすべて黒画素であればA、B、C、Dを頂点候補として検出し、黒枠判定部6に処理を移す。
[黒枠判定部6]
黒枠判定部6は、検出した頂点候補同士を結ぶ2次元コードの黒枠が存在するか否かを判定する。隣接した2頂点を結ぶ直線の外側にほとんど白画素の領域、内側にほとんど黒画素の領域が存在するときに、黒枠であると判定する。黒枠検出では、図14のように、頂点候補A、B、C、Dから頂点候補検出部5において追跡した終端画素どうしを結ぶ4直線(黒枠判定ライン)を通過する画素のうち黒画素の割合が全ての直線において直線毎に9割以上存在すればそれを仮の黒枠であると判定する。
次に、頂点候補A、B、C、Dからそれぞれ外側へ0.5mmあるいは5画素程度の長さに位置する画素をクワイエットゾーン判定画素として、隣接するクワイエットゾーン判定画素を結ぶ直線上の画素が、直線毎に8割以上白画素であるならばそれをクワイエットゾーンとして判定し、先に判定した仮の黒枠とあわせて真の黒枠であると判定する。
このようにして頂点候補A、B、C、Dを2次元コードの頂点A、B、C、Dとして確定する。このとき、同時に頂点A、B、C、Dの座標も検出される。ここで、コードの黒枠が検出できなければ読み取りは終了する。黒枠が検出されれば、射影変換係数算出処理に進む。
[射影変換係数算出部7]
射影変換係数算出部7は、射影変換係数算出部7では、黒枠検出で検出されたコード枠の各頂点の座標と、コードが矩形であるとしたときのコード枠の各頂点の仮想的な規定座標とから、各セルの規定中心座標と読み取った2次元コード画像の各セルの中心座標とをマッピングする係数(射影変換係数)を求める。規定座標とは、各セルが1の長さを持つ正方形として2次元コードが作成され、結果的にコードは長方形の形になるときの座標のことをいう。規定中心座標とは、前記のような規定座標系で、各セルの中心座標のことをいう。射影変換の詳細は後述する。
[セル位置取得部8]
セル位置取得部8は、求めた射影変換係数を用いて、各セルの規定中心座標から読み取った2次元コードの各セルの座標を演算し、読み取るべきセルの位置を取得する。
[コード判定部9]
コード判定部9は、固有パターン検出手段としての機能を有する。コード判定部9は、取得したセル位置より2次元コード固有のパターン(コードの識別パターン)を検出し、目的の2次元コードであるか否かを判定するとともに2次元コード固有パターンの検出結果が所定の条件を満たす場合にその結果を二値化パラメータ設定部4に出力する。
コード判定には、二値画像、識別パターンのセル位置が必要となる。識別パターンのセル位置を画像データのサンプリング中心座標とし、その座標を中心とする3x3画素の黒画素数が白画素数を上回れば‘1’、そうでなければ‘0’としてデータを読み出す。読み出したデータと識別パターンの真のデータを比較し、誤りが2つ以下であれば、現在扱っている図形が2次元コードであると判定する。
コード判定が成功した場合は次のビット列取得部10の処理へ進む。
コード判定が失敗した場合は、真のパターンデータと読み出したデータとが一致した黒パターンの数と白パターンの数を比較し、黒パターンが全て一致し(全て一致していること:第1の条件)、白パターンの一致した数が所定の一致度(所定の一致度を満たしていること:第2の条件)、例えば白セル4個を満たしておらず、4個以下の場合、画像二値化後の画像内の白画素を増大させるための信号を二値化パラメータ設定部4に出力する。一方、白パターンが全て一致し黒パターンの一致した数が4個以下の場合(白パターンは第1条件を満たし、黒パターンが第2条件を満たさない場合)、画像二値化後の画像内の黒画素を増大させるための信号を二値化パラメータ設定部4に出力する。この信号を受信した二値化パラメータ設定部4は既述したように二値化パラメータを設定しなおし、画像二値化からデコード処理をやり直す。
[ビット列取得部10]
ビット列取得部10は、目的の2次元コードと判定された2次元コードの各セルの白黒情報を読み取りビット列を取得する。従ってビット列取得には、2次元コード画像、読み取った2次元コード画像のセル位置が必要である。読み取った2次元コード画像の各セルの位置を画像データのサンプリング中心座標とし、その座標を中心とする3x3画素の黒画素数が白画素数を上回れば(黒画素が多い)‘1’、そうでなければ(白画素が多い)‘0’としてデータを読み出し、データを配列する。
[誤り訂正部11]
誤り訂正部11は、ビット列から誤り訂正を行い、誤り訂正が出来なかった場合に所定の演算を行ってその結果を二値化パラメータ設定部4に出力する。読み出された72ビットのデータは誤り訂正部11に入力され、リードソロモン方式の誤り訂正の判定が行われる。誤りがないか、あるいは誤り訂正が可能ならば、56ビット(7バイト)のデータをデータ復元部12へ出力する。誤り訂正が不可能であった場合、白黒の画素数比および72ビットのデータとから黒の拡張率を算出する。黒の拡張率が1より大きい場合、画像二値化後の画像内の白画素を増大させるための信号を二値化パラメータ設定部4に出力する。黒の拡張率が1より小さい場合は、画像二値化後の画像内の黒画素を増大させるための信号を二値化パラメータ設定部4に出力する。黒の拡張率の詳細については後述する。
[データ復元部12]
データ復元部12は、誤り訂正をした後で元のデータを復元する。具体的には、誤り訂正部11で得られた7バイトのデータの各バイトに0x96(16進表記)で排他的論理和を演算して元のデータを復元する。
[黒の拡張率部13]
黒の拡張率は、デコードする2次元コードの黒領域がどれだけ拡張されているかを示す尺度である。入力画像がグレースケール画像であるため、二値化処理を実行し、画像を二値化する。2次元コード領域においてコードを各セルが正方形になるように矩形に変換したとき、理想の白黒比の状態から白黒の割合がどれだけ変化しているかを規定する。
まずコードの識別パターン「白白黒黒白白黒黒白白黒黒」の「白白黒黒白白」の1ライン分の画素数を数えて、白画素数をw、黒画素数をbとする。白黒隣接部分の平均拡張画素数expは次式のようになる。
exp=(b/2 − w/4)/2 = (2b − w)/8
よって黒の拡張率Bexpは、次式のようになる。
Bexp = exp/(2b+w)*8 + 1 = 4b/(2b+w)
これは理想のセル長を基準として白に隣接した黒のセルのはみ出し割合を示したものである。黒の拡張がなければBexpの値は1となる。
誤り訂正部11で誤り訂正が失敗したときに黒の拡張率が1より大きい場合、画像二値化後の画像内の白画素を増大させるための信号を二値化パラメータ設定部4に出力する。黒の拡張率が1より小さい場合は、画像二値化後の画像内の黒画素を増大させるための信号を二値化パラメータ設定部4に出力する。
上記二次元バーコード読み取り装置の動作処理を、図15のフローチャートに示す。画像入力(グレースケールの画像を入力)し(ステップS10)、二値化パラメータの設定を行う(ステップS11)。二値化パラメータ設定のステップで設定される二値化パラメータは、上述したように、特開2001−008032の二値化閾値設定回路で用いられる乗算係数Cbに相当する。Cbが大きくなると二値化画像において黒画素が増大し、Cbが小さくなると二値化画像において白画素が増大する。このとき、Cb=x/16 (1<=x<=15;xは整数)と設定すると、二値化パラメータ設定ステップはxの値を1〜15の範囲で変更することになる。通常はx=8の設定にしておく。デコードステップから黒画素が多すぎるという情報が入力された場合、(x+1)/2を新しくxに設定する。デコードステップから白画素が多すぎるという情報が入力された場合、(x+15)/2を新しくxに設定する。これにより一回目のデコードが失敗した場合でも、その状況により二値化パラメータ設定ステップで二値化パラメータを設定しなおし、それを用いて2次元コードのデコードにより適した二値画像を得ることができ、2次元コードのデコードをやり直すことができる。
次に、画像二値化を行う(ステップS12)。画像二値化は、二値化パラメータを用いて画像を二値化する。その後、二値化された画像内の2次元コードの各頂点候補を検出し(ステップS13)、検出した頂点候補を用いて2次元コードの黒枠を判定する(ステップS14)。黒枠と判定された領域の各頂点の座標を基に2次元コードの歪みを補正するための射影変換係数を算出する(ステップS15)。射影変換により2次元コード内の各セル位置を取得する(ステップS16)。
次に、コード判定の処理を行う(ステップS17)。取得したセル位置より2次元コード固有のパターンを検出して目的の2次元コードであるか否かを判定するとともに(ステップS18)、2次元コード固有パターンの検出結果が所定の条件を満たす場合にその結果を二値化パラメータ設定部4に出力する。
目的の2次元コードと判定されなかった場合は(ステップS18/No)、黒のパターンが全一致か否か:第1条件(ステップS19)、白のパターンが全一致か否か:第2条件(ステップS26)について判定し、その結果を二値化パラメータ設定ステップ(ステップS11)に出力する。
目的の2次元コードと判定された場合は(ステップS18/Yes)、目的の2次元コードと判定された2次元コードの各セルの白黒情報について読み取りビット列を取得する(ステップS20)。
ビット列から誤り訂正を行い(ステップS21)、誤り訂正が出来なかった場合には(ステップS22/No)、黒の拡張率を算出する(ステップS24)。黒の拡張率が1.0を越えるか否かについて判断し(ステップS25)、その結果を二値化パラメータ設定ステップ(ステップS11)に出力する。
誤り訂正が成功した場合は(ステップS23)、元のデータを復元する(ステップS23)。
なお、図15に示す動作処理は、コンピュータなどにおいてソフトウェアで2次元コードのデコードを行うための手順に相当し、本発明の範囲となる。
次に、射影変換の詳細について説明する。射影変換とは3次元空間内の図形・物体を2次元平面・スクリーンへと表示したときの変換である。3次元空間内の物体の座標を2次元平面上の座標へと変換するものである。
厳密な射影変換を図16を用いて説明する。図16は、読み取られたコード画像を模式的に示した図(左)と、電子的に生成されたコードを含む画像を模式的に示した図(右)である。コードの各頂点をAs〜Ds、Ar〜Drとする。それぞれの関係は、下記二つの式で結ばれている。
Figure 2009070061
Figure 2009070061
上記式1及び式2は、コードシンボル座標から画像座標への変換式を表し、Ar〜DrからAs〜Dsへの座標変換を規定する。この式でb1〜b8は変換パラメータで、これは未知数であるためAr〜Dr、As〜Dsの各座標値を式に代入して八元一次連立方程式を生成し、算出する。算出されたb1〜b8を用いて、電子的に生成されたコードの各セルの中心座標Prk(k=0〜83)を変換してコード画像のサンプリング中心座標Psk(k=0〜83)を求める。
As〜Ds:頂点候補検出により算出される。
Psk:上記式により算出される。
Ar〜Dr:コードの生成時に記憶される。
Prk:コード生成時に記憶される。
本願の発明により、様々な濃度のインクで印刷された2次元コード、あるいは様々な機種のプリンタで印刷された2次元コードのデコードをたとえ失敗したとしてもその失敗の原因を画像二値化にフィードバックすることでデコードにより適切な二値画像が得られ、2次元コードのデコードを確実に行うことができるようになる。
なお、上述した2次元コード読み取り装置の動作処理(図15のフローチャートに示す処理)を、CPUが実行するためのプログラムは本発明によるプログラムを構成する。このプログラムを記録する記録媒体としては、半導体記憶部や光学的及び/又は磁気的な記憶部等を用いることができる。このようなプログラム及び記録媒体を、前述した各実施形態とは異なる構成のシステム等で用い、そこのCPUで上記プログラムを実行させることにより、本発明と実質的に同じ効果を得ることができる。
以上、本発明を好適な実施の形態に基づき具体的に説明したが、本発明は上記のものに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることは言うまでもない。
本発明の実施形態に係る座標変換前の2次元コードを示す図である。 本発明の実施形態に係る座標変換後の台形2次元コードを示す図である。 本発明の実施形態に係る2次元コードにおけるバイト単位の配置を示す図である。 本発明の実施形態に係る2次元コードにおけるビット単位の配置を示す図である。 本発明の実施形態に係るエンコードの動作処理を示すフローチャートである。 本発明の実施形態に係る矩形コードの台形化の計算に必要な光学系パラメータを示す図である。 本発明の実施形態に係る矩形コードの台形化の計算に必要な光学系パラメータを示す図である。 本発明の実施形態に係る座標変換の動作処理を示すフローチャートである。 本発明の実施形態に係る座標変換の計算に必要な光学系パラメータを示す図である。 本発明の実施形態に係る2次元コード読み取り装置のブロック構成図である。 本発明の実施形態に係るデコード部3のブロック構成図である。 本発明の実施形態に係る頂点候補画素検出を説明するための図である。 本発明の実施形態に係る頂点候補検出を説明するための図である。 本発明の実施形態に係る黒枠判定を説明するための図である。 本発明の実施形態に係る二次元バーコード読み取り装置の動作処理を示すフローチャートである。 本発明の実施形態に係る射影変換の説明をするための図である。
符号の説明
1 メモリ
2 二値化部
3 デコード部
4 二値化パラメータ設定部
5 頂点候補検出部
6 黒枠判定部
7 射影変換係数算出部
8 セル位置取得部
9 コード判定部
10 ビット列取得部
11 誤り訂正部
12 データ復元部
13 黒の拡張率算出部

Claims (8)

  1. 複数の白および黒の四角形のセルから構成され、前記セルの一部を固有パターンとして有する2次元コードを含む多値画像を入力し、所定の二値化パラメータを用いて画像の二値化を行い、二値画像を出力する画像二値化手段と、
    前記二値画像から前記2次元コードの領域を検出する2次元コード検出手段と、
    前記2次元コード領域内の2次元コード固有パターンを検出する固有パターン検出手段と、
    前記固有パターンを検出した後、前記2次元コードをデコードするデコード手段と、を有し、
    前記固有パターン検出手段は、検出した固有パターンを構成する黒若しくは白のパターンのうち、一方のパターンを構成するセルが、予め定めたパターンを構成するセルと全て一致していることを条件とする第1の条件と、他方のパターンの一致度が予め定めた一致度を満たすことを条件とする第2の条件と、を判定する判定手段を備え、
    前記二値化手段は、黒パターンの一致度が前記第1の条件を満たし、白パターンの一致度が前記第2の条件を満たさない場合は、白パターンの一致度が前記第2の条件を満たすような二値化パラメータを用いて前記多値画像を再度二値化し、また、白パターンの一致度が前記第1の条件を満たし、黒パターンの一致度が前記第2の条件を満たさない場合は、黒パターンの一致度が前記第2の条件を満たすような二値化パラメータを用いて前記多値画像を再度二値化し、
    前記固有パターン検出手段で前記再度二値化した二値画像から2次元コード固有パターンを検出し、前記デコード手段で前記2次元コードをデコードすることを特徴とする2次元コード読み取り装置。
  2. 複数の白および黒の四角形のセルから構成され、前記セルの一部を固有パターンとして有し、残りをデータ情報と誤り訂正情報として有する2次元コードを含む多値画像を入力し、所定の二値化パラメータを用いて画像の二値化を行って二値画像を出力する画像二値化手段と、
    前記二値画像から前記2次元コードの領域を検出する手段と、
    前記2次元コード領域内の2次元コード固有パターンを検出する固有パターン検出手段と、
    前記固有パターンを検出した後、前記2次元コードをデコードするデコード手段と、を有し、
    前記デコード手段は、誤り訂正に失敗した場合に黒セルの拡張度を算出し、白セルに対する黒セルの比率が一定値を越えるときは黒が拡張していると判断し、二値画像の黒画素が減少するような二値化パラメータを用いて多値画像を再度二値化し、また、黒が縮小していると判断したときは、二値画像の白画素が減少するような二値化パラメータを用いて多値画像を再度二値化し、前記固有パターン検出手段で固有パターンを検出し、前記デコード手段で前記2次元コードをデコードすることを特徴とする2次元コード読み取り装置。
  3. 複数の白および黒の四角形のセルから構成され、前記セルの一部を固有パターンとして有し、残りをデータ情報と誤り訂正情報として有する2次元コードを含む多値画像を入力し、所定の二値化パラメータを用いて画像の二値化を行って二値画像を出力する画像二値化手段と、
    前記二値画像から前記2次元コードの領域を検出する手段と、
    前記2次元コード領域内の2次元コード固有パターンを検出する固有パターン検出手段と、
    前記固有パターンを検出した後、前記2次元コードをデコードするデコード手段とを有し、
    前記固有パターン検出手段は、検出した固有パターンを構成する黒若しくは白のパターンのうち、一方のパターンを構成するセルが、予め定めたパターンを構成するセルと全て一致していることを条件とする第1の条件と、他方のパターンの一致度が予め定めた一致度を満たすことを条件とする第2の条件と、を判定する判定手段を備え、
    前記二値化手段は、黒パターンの一致度が前記第1の条件を満たし、白パターンの一致度が前記第2の条件を満たさない場合は、白パターンの一致度が前記第2の条件を満たすような二値化パラメータを用いて前記多値画像を再度二値化し、また、白パターンの一致度が前記第1の条件を満たし、黒パターンの一致度が前記第2の条件を満たさない場合は、黒パターンの一致度が前記第2の条件を満たすような二値化パラメータを用いて前記多値画像を再度二値化し、
    前記固有パターン検出手段で前記再度二値化した二値画像から2次元コード固有パターンを検出し、前記デコード手段で前記2次元コードをデコードし、
    前記デコード手段は、誤り訂正に失敗した場合に黒セルの拡張度を算出し、白セルに対する黒セルの比率が一定値を越えるときは黒が拡張していると判断し、二値画像の黒画素が減少するような二値化パラメータを用いて多値画像を再度二値化し、また、黒が縮小していると判断したときは、二値画像の白画素が減少するような二値化パラメータを用いて多値画像を再度二値化し、前記固有パターン検出手段で固有パターンを検出し、前記デコード手段で前記2次元コードをデコードすることを特徴とする2次元コード読み取り装置。
  4. 複数の白および黒の四角形のセルから構成され、前記セルの一部を固有パターンとして有する2次元コードを含む多値画像を入力し、所定の二値化パラメータを用いて画像の二値化を行い、二値画像を出力する画像二値化ステップと、
    前記二値画像から前記2次元コードの領域を検出する2次元コード検出ステップと、
    前記2次元コード領域内の2次元コード固有パターンを検出する固有パターン検出ステップと、
    前記固有パターンを検出した後、前記2次元コードをデコードするデコードステップと、を有し、
    前記固有パターン検出ステップは、検出した固有パターンを構成する黒若しくは白のパターンのうち、一方のパターンを構成するセルが、予め定めたパターンを構成するセルと全て一致していることを条件とする第1の条件と、他方のパターンの一致度が予め定めた一致度を満たすことを条件とする第2の条件と、を判定する判定ステップを備え、
    前記二値化ステップは、黒パターンの一致度が前記第1の条件を満たし、白パターンの一致度が前記第2の条件を満たさない場合は、白パターンの一致度が前記第2の条件を満たすような二値化パラメータを用いて前記多値画像を再度二値化し、また、白パターンの一致度が前記第1の条件を満たし、黒パターンの一致度が前記第2の条件を満たさない場合は、黒パターンの一致度が前記第2の条件を満たすような二値化パラメータを用いて前記多値画像を再度二値化し、
    前記固有パターン検出ステップで前記再度二値化した二値画像から2次元コード固有パターンを検出し、前記デコードステップで前記2次元コードをデコードすることを特徴とする2次元コード読み取り方法。
  5. 複数の白および黒の四角形のセルから構成され、前記セルの一部を固有パターンとして有し、残りをデータ情報と誤り訂正情報として有する2次元コードを含む多値画像を入力し、所定の二値化パラメータを用いて画像の二値化を行って二値画像を出力する画像二値化ステップと、
    前記二値画像から前記2次元コードの領域を検出するステップと、
    前記2次元コード領域内の2次元コード固有パターンを検出する固有パターン検出ステップと、
    前記固有パターンを検出した後、前記2次元コードをデコードするデコードステップと、を有し、
    前記デコードステップは、誤り訂正に失敗した場合に黒セルの拡張度を算出し、白セルに対する黒セルの比率が一定値を越えるときは黒が拡張していると判断し、二値画像の黒画素が減少するような二値化パラメータを用いて多値画像を再度二値化し、また、黒が縮小していると判断したときは、二値画像の白画素が減少するような二値化パラメータを用いて多値画像を再度二値化し、前記固有パターン検出ステップで固有パターンを検出し、前記デコードステップで前記2次元コードをデコードすることを特徴とする2次元コード読み取り方法。
  6. 複数の白および黒の四角形のセルから構成され、前記セルの一部を固有パターンとして有し、残りをデータ情報と誤り訂正情報として有する2次元コードを含む多値画像を入力し、所定の二値化パラメータを用いて画像の二値化を行って二値画像を出力する画像二値化ステップと、
    前記二値画像から前記2次元コードの領域を検出するステップと、
    前記2次元コード領域内の2次元コード固有パターンを検出する固有パターン検出ステップと、
    前記固有パターンを検出した後、前記2次元コードをデコードするデコードステップとを有し、
    前記固有パターン検出ステップは、検出した固有パターンを構成する黒若しくは白のパターンのうち、一方のパターンを構成するセルが、予め定めたパターンを構成するセルと全て一致していることを条件とする第1の条件と、他方のパターンの一致度が予め定めた一致度を満たすことを条件とする第2の条件と、を判定する判定ステップを備え、
    前記二値化ステップは、黒パターンの一致度が前記第1の条件を満たし、白パターンの一致度が前記第2の条件を満たさない場合は、白パターンの一致度が前記第2の条件を満たすような二値化パラメータを用いて前記多値画像を再度二値化し、また、白パターンの一致度が前記第1の条件を満たし、黒パターンの一致度が前記第2の条件を満たさない場合は、黒パターンの一致度が前記第2の条件を満たすような二値化パラメータを用いて前記多値画像を再度二値化し、
    前記固有パターン検出ステップで前記再度二値化した二値画像から2次元コード固有パターンを検出し、前記デコードステップで前記2次元コードをデコードし、
    前記デコードステップは、誤り訂正に失敗した場合に黒セルの拡張度を算出し、白セルに対する黒セルの比率が一定値を越えるときは黒が拡張していると判断し、二値画像の黒画素が減少するような二値化パラメータを用いて多値画像を再度二値化し、また、黒が縮小していると判断したときは、二値画像の白画素が減少するような二値化パラメータを用いて多値画像を再度二値化し、前記固有パターン検出ステップで固有パターンを検出し、前記デコードステップで前記2次元コードをデコードすることを特徴とする2次元コード読み取り方法。
  7. 複数の白および黒の四角形のセルから構成され、前記セルの一部を固有パターンとして有する2次元コードを含む多値画像を入力し、所定の二値化パラメータを用いて画像の二値化を行い、二値画像を出力する画像二値化処理と、
    前記二値画像から前記2次元コードの領域を検出する2次元コード検出処理と、
    前記2次元コード領域内の2次元コード固有パターンを検出する固有パターン検出処理と、
    前記固有パターンを検出した後、前記2次元コードをデコードするデコード処理と、をコンピュータに実行させ、
    前記固有パターン検出処理は、検出した固有パターンを構成する黒若しくは白のパターンのうち、一方のパターンを構成するセルが、予め定めたパターンを構成するセルと全て一致していることを条件とする第1の条件と、他方のパターンの一致度が予め定めた一致度を満たすことを条件とする第2の条件と、を判定する判定処理を備え、
    前記二値化処理は、黒パターンの一致度が前記第1の条件を満たし、白パターンの一致度が前記第2の条件を満たさない場合は、白パターンの一致度が前記第2の条件を満たすような二値化パラメータを用いて前記多値画像を再度二値化し、また、白パターンの一致度が前記第1の条件を満たし、黒パターンの一致度が前記第2の条件を満たさない場合は、黒パターンの一致度が前記第2の条件を満たすような二値化パラメータを用いて前記多値画像を再度二値化し、
    前記固有パターン検出処理で前記再度二値化した二値画像から2次元コード固有パターンを検出し、前記デコード処理で前記2次元コードをデコードすることを特徴とする2次元コード読み取りプログラム。
  8. 請求項7記載のプログラムの処理を記録するコンピュータ読み取り可能な記録媒体。
JP2007236688A 2007-09-12 2007-09-12 2次元コード読み取り装置、2次元コード読み取り方法、2次元コード読み取りプログラム及び記録媒体 Expired - Fee Related JP5145833B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007236688A JP5145833B2 (ja) 2007-09-12 2007-09-12 2次元コード読み取り装置、2次元コード読み取り方法、2次元コード読み取りプログラム及び記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007236688A JP5145833B2 (ja) 2007-09-12 2007-09-12 2次元コード読み取り装置、2次元コード読み取り方法、2次元コード読み取りプログラム及び記録媒体

Publications (2)

Publication Number Publication Date
JP2009070061A true JP2009070061A (ja) 2009-04-02
JP5145833B2 JP5145833B2 (ja) 2013-02-20

Family

ID=40606258

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007236688A Expired - Fee Related JP5145833B2 (ja) 2007-09-12 2007-09-12 2次元コード読み取り装置、2次元コード読み取り方法、2次元コード読み取りプログラム及び記録媒体

Country Status (1)

Country Link
JP (1) JP5145833B2 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012073483A (ja) * 2010-09-29 2012-04-12 Toppan Forms Co Ltd バーコード表示ラベル
JP2014164622A (ja) * 2013-02-26 2014-09-08 Kddi Corp 情報システム及びサーバー
WO2016002510A1 (ja) * 2014-07-01 2016-01-07 ソニー株式会社 画像処理装置および方法
CN110969612A (zh) * 2019-12-04 2020-04-07 常州大学 二维码印刷缺陷检测方法
WO2020071188A1 (ja) 2018-10-01 2020-04-09 株式会社日立産機システム 印字検査装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0728924A (ja) * 1993-07-07 1995-01-31 Nec Corp Idマーク読み取り装置
JPH09179930A (ja) * 1995-12-25 1997-07-11 Olympus Optical Co Ltd 情報再生システム、情報記録媒体、及び情報記録装置
JP2004102348A (ja) * 2002-09-04 2004-04-02 Showa Information Systems Co Ltd 二次元コードの認識方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0728924A (ja) * 1993-07-07 1995-01-31 Nec Corp Idマーク読み取り装置
JPH09179930A (ja) * 1995-12-25 1997-07-11 Olympus Optical Co Ltd 情報再生システム、情報記録媒体、及び情報記録装置
JP2004102348A (ja) * 2002-09-04 2004-04-02 Showa Information Systems Co Ltd 二次元コードの認識方法

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012073483A (ja) * 2010-09-29 2012-04-12 Toppan Forms Co Ltd バーコード表示ラベル
JP2014164622A (ja) * 2013-02-26 2014-09-08 Kddi Corp 情報システム及びサーバー
WO2016002510A1 (ja) * 2014-07-01 2016-01-07 ソニー株式会社 画像処理装置および方法
JPWO2016002510A1 (ja) * 2014-07-01 2017-04-27 ソニー株式会社 画像処理装置および方法
US10349023B2 (en) 2014-07-01 2019-07-09 Sony Corporation Image processing apparatus and method
WO2020071188A1 (ja) 2018-10-01 2020-04-09 株式会社日立産機システム 印字検査装置
US11514256B2 (en) 2018-10-01 2022-11-29 Hitachi Industrial Equipment Systems Co., Ltd. Printing inspection device
CN110969612A (zh) * 2019-12-04 2020-04-07 常州大学 二维码印刷缺陷检测方法

Also Published As

Publication number Publication date
JP5145833B2 (ja) 2013-02-20

Similar Documents

Publication Publication Date Title
US7751585B2 (en) System and method for encoding high density geometric symbol set
US8459565B2 (en) Two-dimensional code generating apparatus, image forming system, two-dimensional code reading apparatus, and computer readable medium
US8023160B2 (en) Encoding message data in a cover contone image via halftone dot orientation
US7478746B2 (en) Two-dimensional color barcode and method of generating and decoding the same
US8594453B2 (en) Method of robust alignment and payload recovery for data-bearing images
US8014035B2 (en) Decoding message data embedded in an image print via halftone dot orientation
US8456699B2 (en) System and method for creating a data-bearing image
US8186594B2 (en) Image processing method and apparatus thereof
JP2004140764A (ja) 画像処理装置及び画像処理方法
JP2004530227A (ja) グラフィカルバーコードの基準目印パターン
JPWO2004093433A1 (ja) コード認識方法及び装置
JP5145833B2 (ja) 2次元コード読み取り装置、2次元コード読み取り方法、2次元コード読み取りプログラム及び記録媒体
US7911653B2 (en) Device using low visibility encoded image to manage copy history
JP4140519B2 (ja) 画像処理装置、プログラムおよび記録媒体
JP4192909B2 (ja) 改ざん検出装置、改ざん検出方法
US10027843B2 (en) Embedding data in halftone images
EP2529331A1 (en) Parallel test payload
JP2007299098A (ja) Qrコード読取装置
JP4397866B2 (ja) 2次元パターン読み取り装置、2次元パターン読み取り方法
JP5056063B2 (ja) 画像処理装置及び画像処理プログラム
JP4179177B2 (ja) 画像処理装置および画像処理方法
JP5434273B2 (ja) 画像処理装置及び画像処理プログラム
JP2007213358A (ja) 二次元コード検出システムおよび二次元コード検出プログラム
JP2005196659A (ja) 画像処理装置、プログラムおよび記録媒体
JP2005210622A (ja) 画像処理装置および画像処理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100414

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120514

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120529

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120723

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121112

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151207

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees