JP4905767B2 - 二次元コード検出システムおよび二次元コード検出プログラム - Google Patents

二次元コード検出システムおよび二次元コード検出プログラム Download PDF

Info

Publication number
JP4905767B2
JP4905767B2 JP2006033215A JP2006033215A JP4905767B2 JP 4905767 B2 JP4905767 B2 JP 4905767B2 JP 2006033215 A JP2006033215 A JP 2006033215A JP 2006033215 A JP2006033215 A JP 2006033215A JP 4905767 B2 JP4905767 B2 JP 4905767B2
Authority
JP
Japan
Prior art keywords
decoding
dimensional code
code
noise
noise removal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2006033215A
Other languages
English (en)
Other versions
JP2007213358A (ja
Inventor
伸一 矢田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Fujifilm Business Innovation Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuji Xerox Co Ltd, Fujifilm Business Innovation Corp filed Critical Fuji Xerox Co Ltd
Priority to JP2006033215A priority Critical patent/JP4905767B2/ja
Publication of JP2007213358A publication Critical patent/JP2007213358A/ja
Application granted granted Critical
Publication of JP4905767B2 publication Critical patent/JP4905767B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、二次元コードの画像を読み取って復号を行う二次元コード検出システムおよび二次元コード検出プログラムに関する。
近年、バーコードは広く世の中で活用されている。その中でも表現できる情報量の多さから二次元コードの利用が広まっている(特許文献1、2参照)。例えば、紙の書類の記載内容を二次元コードに変換し、その紙文書の余白に二次元コードを追加しておくことで、その紙文書をスキャンしたときに、そのバーコードを認識して復号すれば、OCRなどを用いることなく、その文書の記載内容を電子データとして取得することが可能である。
二次元コードとして多く用いられるQRコードは情報量の多さとロバスト性の高さから、様々なワークフローで活用されている。QRコードは階調表現を必要としないことから、ファクシミリを経由したワークフローでも利用可能である。
ここで、二次元コードは、一次元コード(バーコード)よりも表現できる情報量が大きいが、それでもその情報量には限界がある。大量の情報量をバーコードで表現する場合には、その情報を複数のバーコードに分割して表現するやり方がある(JIS-X-0510、p22、5.3.2.7、連結モードを参照。)。
二次元コードの代表例であるQRコードには3個の位置要素パターンがある。画像中からQRコードを検出するには、まず画像全体をスキャンして位置要素パターンを検出し、その位置要素パターンの中心座標を全て算出する(JIS-X-0510、p65〜p66を参照。)。例えばQRコードが一つであれば、位置要素パターンの中心座標は3個、QRコードが4個あれば、位置要素パターンの中心座標は3×4=12個算出される。
この位置要素パターンは図7のように、左上に位置検出パターンA、右上に位置検出パターンB、左下に位置検出パターンCが配置される。そして、これらの位置要素パターンA、B、Cの中心を頂点とする直角二等辺三角形を構成し、二次元コードの上下位置および回転を検出する。
特開平6−12515号公報 特許第2938338号明細書
しかし、ファクシミリ等のように比較的画質の悪い処理パスを経由する場合、QRコードを含む紙面上に孤立点などのノイズが乗るケースが多い。QRコードはエラー訂正技術により、ある程度のノイズが乗っても復号可能である(エラー訂正レベル:L/M/Q/H)。しかし、QRコードの位置検出パターンの上にノイズが乗っている場合、正確に位置検出パターンが検出できず、結果としてそのQRコードを認識できず復号できないという不具合が生じる。
例えば、図8(a)に示す位置検出パターンにおいて、図8(b)に示すようなノイズが乗っている場合、スキャン(図中横線)がノイズの位置にあたると位置検出パターンの比率を正確に算出することができず、QRコードの復号を確実に行うことができない。
そこで、対策としてQRコード検出前に一般的なノイズ除去フィルタを画像データに施してノイズ除去を行うことが知られているが、QRコードが微細な場合には、QRコードの描画情報自体がノイズとして除去されてしまう不具合が生じる。
例えば、図9(a)に示すようなQRコードがあり、ノイズ除去フィルタによってノイズ除去を施すと、図9(b)のようにノイズではないQRコードの情報部分を誤って除去してしまい、確実な復号ができなくなってしまう。
本発明はこのような課題を解決するために成されたものである。すなわち、本発明は、検出対象となる二次元コードの画像を読み取る読取手段と、読取手段によって読み取った二次元コードの画像からその二次元コードを構成する最小単位を算出する算出手段と、二次元コードの画像から最小単位より小さい画素をノイズとして除去し、ノイズ除去後の画像によって二次元コードの復号を行う復号手段とを備える二次元コード検出システムである。
このような本発明では、検出対象となる二次元コードの読み取り画像からその二次元コードの最小単位を算出しているため、この最小単位より小さい画素についてはノイズとして除去することができ、二次元コードの情報には影響を与えることなくノイズを確実に除去して復号を行うことができるようになる。
また、本発明は、検出対象となる二次元コードの画像を読み取る読取手段と、読取手段によって読み取った二次元コードの画像から復号を実行し、復号できなかった場合には単位画素サイズの画素をノイズとして除去して再度復号を実行し、さらに復号できなかった場合には単位画素サイズを順次拡大してノイズ除去を行って再度復号を実行する処理を復号が完了するまで繰り返す復号手段とを備える二次元コード検出システムでもある。
このような本発明では、検出対象となる二次元コードの読み取り画像から復号を行って、復号できなかった場合にはノイズの除去サイズを徐々に大きくしていき、復号できるまで繰り返すため、確実にノイズだけを除去して復号を行うことができる。
また、上記二次元コード検出方法をプログラム処理で実現することによって、二次元コードを検出する機能を備えた各種電子機器へ適用できるようになる。
ここで、二次元コードとしては、QRコード、PDF417、マキシコード(Maxi Code)、データマトリクス(Data Matrix)、といったものが挙げられ、二次元コードの特性(例えば、QRコードでは最小画素単位であるモジュールサイズ)に応じたノイズ除去を行うことによって、二次元コードの描画内容に影響が出ないようなノイズ除去を実現できる。
したがって、本発明によれば、二次元コードの検出精度(復号精度)を向上させることが可能となり、例えばファクシミリといった高画質ではないワークフローで使用する場合にも確実に二次元コードを復号することが可能となる。
以下、本発明の実施の形態を図に基づき説明する。
(システム全体の説明)
図1は、本実施形態に係る二次元コード検出方法を実行するシステムの構成図である。画像入力装置1はスキャナのような紙原稿を読み取り、ラスター画像データを生成する。画像入力装置1としては、デジタルカメラのような装置でもよい。メモリ2は画像入力装置1で取得されたラスター画像データを保持する。CPU3はプログラムを読み込み二次元コードの検出処理および復号処理をソフトウエアで実行する。本発明に係る二次元コード検出方法は、CPU3で実行可能なプログラムとして実現される。
本システムは、復号されたデータに基づいて、様々な処理を行う。例えば、復号されたデータがデータベースに蓄積された文書を識別するID番号(以下文書ID)だった場合には、文書IDを検索キーとしてデータベース6に問い合わせを行い、その結果得られる文書データ本体を取得し、プリンタのような画像出力装置5を用いて文書データ本体をプリントする。あるいは得られた文書データ本体を、外部インタフェース4を経由してネットワーク経由で他のコンピュータに転送することもできる。
以下、各実施形態について説明するが、検出対象となる二次元コードとしてはQRコードを例として説明する。
(第1の実施形態)
第1の実施形態では、先ず、QRコードの描画単位であるモジュールサイズ(最小単位)を予め指定することにより、除去するノイズのサイズをモジュールサイズより小さい値に設定する。これにより、QRコード描画に影響を与えず、ノイズだけを除去することが可能となる。
ノイズ除去の方法は一般的な手法を用いても良いし、次のような方法でもよい。すなわち、モジュールサイズがM×N画素の場合、M×N画素のノイズ除去ウィンドウWを開き(図2参照)、画像をスキャンしていく。ノイズ除去ウィンドウWの内側の外周部の画素値が全て白(OFF)の場合には、そのウィンドウの内部の画素値を全て白(OFF)に変更する。
例えば、図3(a)に示すような2つの画素ブロックB1、B2があった場合、図3(b)に示すようにノイズ除去ウィンドウWを重ねると、図中左側の画素ブロックB1はノイズ除去ウィンドウWの内側の外周部の画素値が全て白となる。つまりノイズ除去ウィンドウWの中に画素ブロックB1が含まれることから、この画素ブロックB1の値を白に変更する。
一方、図3(b)の右側に示す画素ブロックB2はノイズ除去ウィンドウWを重ねた場合、ノイズ除去ウィンドウWの内側の外周部の画素値に黒が含まれるため、画素値の変更を行わない。このように、ノイズ除去ウィンドウWを用いることでこのウィンドウより小さい画素ブロックはノイズとして除去され、図3(c)に示すように左側の画素ブロックが除去され、右側の画素ブロックB2のみが残る状態となる。
ここで、QRコードのモジュールサイズが既知の場合には、ノイズ除去時にモジュールサイズをパラメータとして与える。例えばワークフローの条件として「モジュールサイズ3ドット以上のQRコードに対応する」といった設定が成されることがある。その場合には、3×3画素未満の孤立点をノイズとして除去する。そして、ノイズ除去後にQRコードの検出および復号処理を行う。
(第2の実施形態)
第2の実施形態は、検出対象となるQRコードのモジュールサイズが分からない場合でも、的確にノイズ除去を行って復号できる検出方法である。先ず、読み取ったQRコードの画像についてノイズ除去無しでQRコードの検出を行い、良好に復号できればそのまま処理を終了する。
一方、復号出来なかった場合には、ノイズ除去サイズを1×1画素に設定してノイズ除去を行い、再度検出および復号処理を行う。それでも出来ない場合には除去するノイズのサイズを順次拡大していき、復号できるまで繰り返す。
図4は、第2の実施形態に係る検出処理を説明するフローチャートである。先ず、除去するノイズサイズをM=0に初期化する(ステップS11)。次いで、ノイズ除去(ステップS12)、QRコード検出(ステップS13)、QRコード復号(ステップS14)を行うが、ノイズサイズがM=0の場合には実質的にノイズ除去は行われない。
この状態でQR復号できたか否かを判断し(ステップS15)、復号できている場合には処理を終了し、復号できなかった場合には除去するノイズサイズをM=M+1によって1つ拡大し(ステップS16)、ノイズ除去を行う(ステップS12)。その後、ノイズ除去した画像によってQRコード検出(ステップS13)、QRコード復号(ステップS14)を行い、QR復号できた場合には処理を終了する。
一方、ここでもQR復号できなかった場合には再度除去するノイズサイズを1つ拡大し(ステップS16)、ノイズ除去(ステップS12)、QRコード検出(ステップS13)、QRコード復号(ステップS14)を行う。このように、QR復号できるまでノイズサイズを順次拡大することで、モジュールサイズが不明でも確実にノイズ除去してQR復号できることになる。
なお、上記の例では、QR復号処理まで行ってノイズ除去を再度行うか否かの判断を行ったが、ノイズ除去後にQR検出のみを行い、QR検出の可否でノイズ除去を再度行うか否かを判断してもよい。図5は、QR検出の可否でノイズ除去を判断する場合のフローチャートである。先ず、除去するノイズサイズの初期化(ステップS21)、ノイズ除去(ステップS22)、QRコード検出(ステップS23)までは、図4に示すステップS11〜13と同じである。その後、QRコードの検出ができたか否かを判断し(ステップS24)、できている場合にはそのままQRコードの復号処理を行う(ステップS25)。
一方、QRコードの検出ができなかった場合は、除去するノイズサイズをM=M+1によって1つ拡大し(ステップS26)、ノイズ除去を行う(ステップS22)。その後、ノイズ除去した画像によってQRコード検出(ステップS23)QR検出できた場合にはQRコード復号を行う(ステップS25)。
また、ここでもQR検出できなかった場合には再度除去するノイズサイズを1つ拡大し(ステップS26)、ノイズ除去(ステップS22)、QRコード検出(ステップS23)を行う。このように、QR検出できるまでノイズサイズを順次拡大することで、モジュールサイズが不明でも確実にノイズ除去してQR復号できることになる。
図5に示す処理では、QR検出が成功した場合にだけQR復号を行うことから、処理の高速化を図ることが可能となる。
(第3の実施形態)
第3の実施形態は、検出対象となるQRコードのモジュールサイズが分からない場合でも、ノイズ除去処理前にモジュールサイズを検出し、的確にノイズ除去を行って復号できる検出方法である。
すなわち、QRコードのモジュールサイズが未知の場合には、ノイズ除去の前にモジュールサイズを推定する処理が必要になる。モジュールサイズを推定するには、読み取ったQRコードの画像を水平方向にスキャンして画素値の変動波形を得る。この波形にLPF(ローパスフィルタ)を施してから、所定のしきい値で波形をクリップ(=二値化)して、白黒変動の画素数をカウントする。
図6は、モジュールサイズの検出を説明する模式図である。この図に示す例では、24画素(24Byte)分のデータからモジュールサイズの検出を行っており、先ず、取り込んだ画像から変動波形を求め(図6(a)参照)、LPFを施して孤立点を除去する(図6(b)参照)。そして、この波形から得られる画素数の比率が1:1:3:1:1となる箇所の画素数から比率1となる画素数を求め、これをモジュールサイズとして推定する。そして、このモジュールサイズによって図2に示すノイズ除去ウィンドウWを設定し、ノイズ除去を行い、ノイズ除去後の画像によってQR復号を実行する。
これにより、検出対象となるQRコードのモジュールサイズが不明であっても、スキャンによってモジュールサイズを推定して、的確かつ高速にノイズ除去を行って正確なQRコードの復号処理を行うことが可能となる。
上記説明した実施形態では、二次元コードとしてQRコードを例としたが、本発明はこれに限定されず、各種の二次元コード(例えば、PDF417、マキシコード(Maxi Code)、データマトリクス(Data Matrix))に適用可能である。また、本発明の二次元コード検出システムおよび二次元コード検出プログラムは、携帯電話や携帯端末などカメラを備えた小型機器のほか、複写機等の画像形成装置でも適用でき、また二次元コード検出プログラムは所定の記憶媒体に格納して配布したり、ネットワークを介して配信することも可能である。
本実施形態に係る二次元コード検出方法を実行するシステムの構成図である。 ノイズ除去ウィンドウを説明する模式図である。 ノイズ除去ウィンドウによるノイズ除去を説明する模式図である。 第2の実施形態に係る検出処理を説明するフローチャートである。 QR検出の可否でノイズ除去を判断する場合のフローチャートである。 モジュールサイズの検出を説明する模式図である。 位置検出パターンを説明する模式図である。 位置検出パターンにノイズが乗っている場合を説明する模式図である。 ノイズ除去フィルタによるノイズ除去を説明する模式図である。
符号の説明
1…画像入力装置、2…メモリ、3…CPU、4…外部インタフェース、5…画像出力装置、6…データベース、W…ノイズ除去ウィンドウ

Claims (2)

  1. 検出対象となる二次元コードの画像を読み取る読取手段と、
    前記読取手段によって読み取った前記二次元コードの画像から復号を実行し、復号できなかった場合には単位画素サイズの画素をノイズとして除去して再度復号を実行し、さらに復号できなかった場合には前記単位画素サイズを順次拡大してノイズ除去を行って再度復号を実行する処理を復号が完了するまで繰り返す復号手段と
    を備えることを特徴とする二次元コード検出システム。
  2. 検出対象となる二次元コードの画像を読み取るステップと、
    前記二次元コードの復号を実行し、復号できなかった場合には単位画素サイズの画素をノイズとして除去して再度復号を実行し、さらに復号できなかった場合には前記単位画素サイズを順次拡大してノイズ除去を行って再度復号を実行する処理を復号が完了するまで繰り返すステップと
    をコンピュータによって実行することを特徴とする二次元コード検出プログラム。
JP2006033215A 2006-02-10 2006-02-10 二次元コード検出システムおよび二次元コード検出プログラム Active JP4905767B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006033215A JP4905767B2 (ja) 2006-02-10 2006-02-10 二次元コード検出システムおよび二次元コード検出プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006033215A JP4905767B2 (ja) 2006-02-10 2006-02-10 二次元コード検出システムおよび二次元コード検出プログラム

Publications (2)

Publication Number Publication Date
JP2007213358A JP2007213358A (ja) 2007-08-23
JP4905767B2 true JP4905767B2 (ja) 2012-03-28

Family

ID=38491729

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006033215A Active JP4905767B2 (ja) 2006-02-10 2006-02-10 二次元コード検出システムおよび二次元コード検出プログラム

Country Status (1)

Country Link
JP (1) JP4905767B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106445768A (zh) * 2016-10-20 2017-02-22 深圳铂睿智恒科技有限公司 移动终端的生产测试方法及系统

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4539701B2 (ja) * 2007-09-26 2010-09-08 富士ゼロックス株式会社 コード読取装置、及びコード読取プログラム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3036244B2 (ja) * 1992-07-20 2000-04-24 松下電器産業株式会社 画像信号処理装置
JP3635829B2 (ja) * 1996-12-10 2005-04-06 松下電器産業株式会社 バーコード読み取り装置
JP3627416B2 (ja) * 1996-12-20 2005-03-09 株式会社デンソー 2次元コード読取装置および記憶媒体
JP2003141532A (ja) * 2001-11-02 2003-05-16 Seiko Epson Corp 画像処理装置及びその方法、プリンタ、並びにコンピュータが読出し可能なプログラムを格納した記憶媒体

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106445768A (zh) * 2016-10-20 2017-02-22 深圳铂睿智恒科技有限公司 移动终端的生产测试方法及系统

Also Published As

Publication number Publication date
JP2007213358A (ja) 2007-08-23

Similar Documents

Publication Publication Date Title
JP4911340B2 (ja) 二次元コード検出システムおよび二次元コード検出プログラム
JP5262869B2 (ja) 画像処理システム、画像処理サーバ、mfp及び画像処理方法
JP4180497B2 (ja) コード種類判別方法、およびコード境界検出方法
KR100828539B1 (ko) 이차원 코드의 검출 방법, 검출 장치, 및 검출 프로그램을기억한 기억 매체
JP2001092919A (ja) 2次元バーコードのねじれ角決定法
EP3144856B1 (en) Two-dimensional code, and two-dimensional-code analysis system
US8467608B2 (en) Method and apparatus for character string recognition
JP2004185058A (ja) バーコード認識方法、および認識用デコード処理装置
US10460142B2 (en) Barcode identification method for improving decoding reliability by correcting image distortion
JP4905767B2 (ja) 二次元コード検出システムおよび二次元コード検出プログラム
JP4874706B2 (ja) Qrコード読取装置
US9704006B2 (en) Image processing apparatus
JP5379626B2 (ja) スタック型バーコード情報読取方法及びスタック型バーコード情報読取装置
JP4398498B2 (ja) コード境界検出方法
JP5121685B2 (ja) バーコード読取装置、バーコード読取プログラム、バーコード読取方法
JP2007102386A (ja) シンボル情報読取方法及びシンボル情報読取装置
JP2009175845A (ja) 画像処理装置、ペン・デバイスおよびプログラム
JP2007094584A (ja) 二次元コードの検出方法、検出装置、及び検出プログラム
EP2088533A1 (en) Apparatus and methods for decoding digital codes
JP2010182219A (ja) 画像処理装置
JP4397866B2 (ja) 2次元パターン読み取り装置、2次元パターン読み取り方法
JP5092732B2 (ja) コード認識装置及びプログラム
JP4403063B2 (ja) シンボル情報読取方法及びシンボル情報読取装置
JP2010140311A (ja) バーコード読取装置、バーコード読取プログラム、バーコード読取方法
JP6802107B2 (ja) 情報処理装置、方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081225

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20091009

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111025

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111027

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111124

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

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

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

Free format text: PAYMENT UNTIL: 20150120

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4905767

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350