JP5482963B2 - 画像処理装置、画像処理方法及び画像処理プログラム - Google Patents

画像処理装置、画像処理方法及び画像処理プログラム Download PDF

Info

Publication number
JP5482963B2
JP5482963B2 JP2013504497A JP2013504497A JP5482963B2 JP 5482963 B2 JP5482963 B2 JP 5482963B2 JP 2013504497 A JP2013504497 A JP 2013504497A JP 2013504497 A JP2013504497 A JP 2013504497A JP 5482963 B2 JP5482963 B2 JP 5482963B2
Authority
JP
Japan
Prior art keywords
boundary
module
image processing
image
pair length
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
JP2013504497A
Other languages
English (en)
Other versions
JPWO2012124123A1 (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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Application granted granted Critical
Publication of JP5482963B2 publication Critical patent/JP5482963B2/ja
Publication of JPWO2012124123A1 publication Critical patent/JPWO2012124123A1/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
    • G06K7/1404Methods for optical code recognition
    • G06K7/1439Methods for optical code recognition including a method step for retrieval of the optical code
    • G06K7/1452Methods for optical code recognition including a method step for retrieval of the optical code detecting bar code edges
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
    • G06K7/1404Methods for optical code recognition
    • G06K7/1408Methods for optical code recognition the method being specifically adapted for the type of code
    • G06K7/14172D bar codes

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Electromagnetism (AREA)
  • General Health & Medical Sciences (AREA)
  • Toxicology (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Processing (AREA)

Description

本発明は、2次元コードが撮像された画像を処理する画像処理装置、画像処理方法及び画像処理プログラムに関する。
2次元コードでは、所定サイズの正方形要素(モジュールともいう)を縦横2次元の格子状に並べ、各モジュールの明暗(白/黒)の配置の組み合わせによってデータが格納されている。2次元コードをデコードするためには、個々のモジュールの撮像画像中の位置を正確に決定し、その位置での白/黒を正確に判定する。
2次元コードは、この位置の検出を容易かつ高精度に行うため、予め定められた特定の形状をしたマークを有している。このマークは、例えば、QRコード(登録商標)の位置検出パターンであり、DataMatrix(登録商標)のファインダパターンである。
また、2次元コードは、白又は黒の所定サイズのモジュールが交互に直線状に配置されたパターンを有している。このパターンはタイミングパターンと呼ばれ、モジュールサイズやコードサイズなどの物理特性データを表す。
図1は、2次元コードの例を示す図である。図1(A)は、DataMatrix(登録商標)の一例を示す。図1(A)に示すパターン11がタイミングパターンであり、図1(A)に示すパターン12がファインダパターンである。
図1(B)は、QRコード(登録商標)の一例を示す。図1(B)に示すパターン13は、図1(A)同様、タイミングパターンを示す。図1(B)に示すパターン14は、位置検出パターンである。
図1に示すような各パターンを高精度に検出するためには、コードの外周部の境界線の位置を求めることが重要になる。このコード境界を高速に検出するため、コード境界の外側で、白画素が直線状に配置されている位置をコード境界と定める技術がある。
図2は、従来技術における境界線検出方法を説明する図である。図2に示すように、コード内部の開始点15から外側に走査し、白画素が連続して配置されている位置を検出して境界線を検出する。また、2次元コードを読み取るための様々な技術がある。
特開2008−102952号公報 特開2002−329163号公報 特開平10−63772号公報
しかしながら、例えば携帯電話などで使用するような廉価なデジタルカメラでは、そのレンズ特性によるピントのボケの発生、処理能力の限界によって、低画素数・低解像度の撮影画像を用いなければならない場合がある。
図3は、従来技術の課題を説明するための図である。図3に示す画像20は、2次元コードを撮像した画像の一例を示す。図3に示す2次元コードの一部を含む領域を拡大したのが画像21である。画像21に示すように、境界線のボケや歪みにより境界線を正確に検出することができなかった。
例えば、従来技術により、境界線を算出すると、境界線26を検出したいが、2次元コードの外接線が境界線25になり、検出したい境界線26よりも外側にずれてしまう。
よって、従来技術では、2次元コードの外周部の境界がボケたり、歪んだりすることで、境界線の位置を正確に求めることができないという問題点があった。
そこで、開示の技術は、上記問題点に鑑みてなされたものであり、2次元コードの境界線の検出精度を向上させることができる画像処理装置、画像処理方法及び画像処理プログラムを提供することを目的とする。
開示の一態様の画像処理装置は、モジュールが2次元状に配置された2次元コードを撮像した画像に対し、該画像内の2次元コード内から走査してコード領域の境界の候補点を検出する候補点検出手段と、前記候補点を用いて第1境界線を算出する算出手段と、前記第1境界線からの距離が閾値以内にある候補点を選択する選択手段と、前記選択手段により選択された候補点を用いて算出した第2境界線を検出する境界線検出手段と、を備える。
開示の技術によれば、2次元コードの境界線の検出精度を向上させることができる。
2次元コードの例を示す図。 従来技術における境界線検出方法を説明する図。 従来技術の課題を説明するための図。 実施例における画像処理装置の構成の一例を示すブロック図。 境界検出手段の構成の一例を示すブロック図。 境界線検出処理の説明するための図。 境界候補点のデータテーブルの一例を示す図。 境界候補点の選択結果のデータテーブルの一例を示す図。 選択後の境界候補点のデータテーブルの一例を示す図。 処理対象画像生成手段の構成の一例を示すブロック図。 回転・拡縮処理を説明するための図。 タイミングパターン検出手段の構成の一例を示すブロック図。 明暗モジュールペア長の例を示す図。 算出された明暗モジュールペア長の一例を示す図。 並べ替え後の明暗モジュールペア長の一例を示す図。 累積移動平均値及び平均値との比の一例を示す図。 明暗モジュールペア長、累積移動平均値、上限値、下限値の関係を示す図。 実施例における画像処理方法の一例を示すフローチャート。 携帯端末装置500のハードウェアの一例を示すブロック図。
100 撮像手段
101 境界検出手段
102 頂点検出手段
103 処理対象画像生成手段
104 タイミングパターン検出手段
105 デコード手段
110 画像処理装置
201 境界候補点検出手段
202 境界候補点補間手段
203 仮近似直線算出手段
204 境界候補点選択手段
205 境界線検出手段
301 回転角度検出手段
302 範囲決定手段
303 回転・拡縮処理手段
331 撮像解像度検出手段
332 補正倍率決定手段
401 処理対象画像選択手段
402 明暗モジュールペア長検出手段
403 基準モジュールペア長決定手段
404 モジュールペア補正手段
405 コードサイズ決定手段
以下、図面に基づいて、実施例について説明する。
[実施例]
<構成>
図4は、実施例における画像処理装置110の構成の一例を示すブロック図である。図4に示す画像処理装置110は、境界検出手段101、頂点検出手段102、処理対象画像生成手段103、タイミングパターン検出手段104を備える。なお、画像処理装置110は、撮像手段100、デコード手段105、その他表示部などを備えてもよい。
撮像手段100は、2次元コードを撮像した画像を生成する。生成された画像は、境界検出手段101に出力される。
境界検出手段101は、撮像手段100により撮像された2次元コードを含む画像に対して、2次元コードのコード領域とコード周辺の余白領域との境界線を検出する。余白領域は、クワイエトゾーンと呼ばれる。ここでは、2次元コードが持つ4つの辺の境界線をそれぞれ同じ方法で検出する処理を行う。
頂点検出手段102は,境界検出手段101から検出した4つの境界線の両端をおのおの延長し、その交点をコード領域の4頂点として検出する。境界線の検出精度が高ければ高い程、4頂点も高精度に検出できる。この4頂点を結ぶ直線が作る四角形の内部にコード領域が含まれており、4頂点位置が以後の処理の基準点となる。
処理対象画像生成手段103は、頂点検出手段102により検出されたコード境界の回転角度および撮影画像の解像度に基づいて、画像データの一部を処理対象画像データとして抽出する。ここでは、所定サイズのモジュール1辺当りの画素数を基準とする。モジュールは、二次元コードのシンボルを構成する最小の単位のセルである。
処理対象画像生成手段103は、処理対象画像が回転していたり、解像度が少なかったりするので、回転角度補正、拡大処理又は縮小処理を行って、処理対象画像データを生成する。拡大率または縮小率は、処理対象画像データの解像度がその後の処理に適した値になるように調整する。
処理対象画像生成手段103は、例えば、モジュールの一辺当りの画素数が2〜8画素になるように調整する。モジュールの一辺当りの画素数が2〜8画素であると、一般的に処理がしやすいと言われている。
タイミングパターン検出手段104は、処理対象画像生成手段103が生成した処理対象画像のうち、タイミングパターンを含む画像を用いて2次元コードのモジュールサイズとコードサイズを検出する。モジュールサイズは、所定サイズのモジュール1辺当りの画素数を表し、コードサイズは、2次元コードの1辺当りのモジュール数を表す。
デコード手段105は、ここまでの各処理手段で取得した値を用いて、2次元コードに対するデコード処理を行い、2次元コードに格納されているデータを取り出す。取り出されたデータは、表示部などに出力される。次に、各処理手段の処理内容について順に説明する。
(境界検出処理)
図5は、境界検出手段101の構成の一例を示すブロック図である。図5に示す境界検出手段101は、境界候補点検出手段201、境界候補点補間手段202、仮近似直線算出手段203、境界候補点選択手段204、境界線検出手段205を備える。
境界候補点検出手段201は、2次元コードの内部から外部へ向けて画像データの画素を走査し、画素が暗(例えば黒)から明(例えば白)に変わる点を境界線の候補点として検出する。境界候補点検出手段201は、例えば、特開2008−102952号公報に記載されているように、白画素の連続長を見つけることで候補点を検出してもよい。境界線の候補点を境界候補点と呼ぶ。
境界候補点検出手段201は、画素を走査する際、モジュールのサイズを推定する。境界候補点検出手段201は、例えば、境界候補点を検出する各走査ラインにおいて黒画素と白画素の幅を求め、各走査ラインで最小となる幅の平均値を、1つのモジュールのサイズと推定する。
境界候補点補間手段202は、境界候補点検出手段201により検出された境界候補点に対して、その隣接画素の階調値に比例するよう位置を補間修正して境界候補点の位置精度を画素単位より高くなるように向上させる。この処理は、必ずしも必要な処理ではない。
仮近似直線算出手段203は、境界候補点補間手段202による補間後の複数の境界候補点を用いて、仮の近似直線を求める。近似直線の求め方としては、例えば、最小二乗法を用いるのが一般的であるが、ハフ変換や、コード外側の境界候補点の外接直線を用いるなど、他の方式を用いてもよい。仮近似直線算出手段203により算出された近似直線を、仮近似直線と呼ぶ。
境界候補点選択手段204は、仮近似直線算出手段203により算出された仮近似直線からの距離が、所定の閾値以内にある境界候補点を選択する。境界候補点選択手段204は、仮近似直線から所定範囲内にある境界候補点を選択するようにしてもよい。仮近似直線からの距離が閾値を超える境界候補点は、ボケや歪みなどの影響で正しく検出されていないものと判断され除外される。
閾値は、例えば、予め決められた基準値であってもよいが、境界候補点検出手段201で推定されたモジュールのサイズであってもよい。閾値がモジュールサイズの場合、撮像された2次元コードに応じて適切な境界候補点を選択することができる。
また、仮近似直線を外接直線とする場合、境界候補点選択手段204は、仮近似直線から画像内部方向に対し、閾値以内となる境界候補点を選択するようにすればよい。仮近似直線が外接直線である場合、仮近似直線よりも画像外部方向に境界候補点がないからである。これにより、境界候補点の選択処理を効率よく行うことができる。
境界線検出手段205は、境界候補点選択手段204により選択された複数の境界候補点を用いて再度近似直線を算出し、この近似直線を境界線として検出する。この場合の近似直線の求め方は、最小二乗法などを用いればよい。求めた境界線は、頂点検出手段102に出力される。
図6は、境界線検出処理の説明するための図である。図6を用いて、境界線検出処理について具体的に説明する。図6に示す例では、仮近似直線を算出する際には外接直線を用い、境界線を算出する際には最小二乗法を用いる例である。
また、図6に示す例は、カメラの特性や撮像画像の解像度不足によって、ボケや歪みが発生している例である。また、図6に示す例では、2次元コードの撮影時に2次元コードが回転状態で撮影されてしまったため、境界線に擬似輪郭が発生してギザギザになっている場合を示す。
境界候補点算出手段201は、2次元コードの内部から、垂直上方向に画素を走査して境界候補点を検出する。図6に示す丸印(白色丸30、灰色丸31含む)が検出された境界候補点である。
この検出処理では、本来の境界点ではないコード内部のモジュール境界を検出している。また、本来の境界点であっても、擬似輪郭によって境界点を検出した位置にずれが生じている。
図7は、境界候補点のデータテーブルの一例を示す図である。図7に示すように、各境界候補点には、整理番号が付与され、x座標、y座標が関連付けられている。
仮近似直線算出手段203は、検出された複数の境界候補点を用いて、境界候補点の外接直線を仮近似直線32として算出する。図6に示すように、仮近似直線32は、擬似輪郭の影響で2次元コードの外側で算出されたため,以降の処理を正確に行うことができない。
境界候補点選択手段204は、近似直線32から所定範囲を規定して候補点の選択を行う。所定範囲は、モジュールの大きさXmを基準に設定する。1つのモジュールの大きさXmは、2次元コード内部のモジュールの大きさの分布からおおよその大きさを推定することが可能である。
タイミングパターン上は、単位サイズのモジュールが明暗交互に並んでいる形式である。よって、境界候補点の選択には、推定したモジュールサイズの半分である選択基準サイズ範囲(所定範囲)を以下に式(1)により求める。
Lim0=±Xm/2 ・・・式(1)
境界候補点選択手段204は、仮近似直線から選択基準サイズ範囲に入る境界候補点を選択する。ただし、境界候補点の検出誤差が小さいことが予測されるような場合にはこの範囲Lim0より小さい範囲を用いてもよい。逆に、検出誤差が大きいことが予測される場合には、この範囲Lim0より大きな範囲(±Xmや±Xm×1.5など)を用いてもよい。
境界候補点の検出誤差が小さいと予測される範囲は、例えば、境界線の中央部であり、境界候補点の現出誤差が大きいと予測される範囲は、境界線の端部である。
また、境界候補点選択手段204は、境界候補点の選択を行った後、再度別の方法を用いて選択後の境界候補点に対して仮の近似直線を求めた上で、Lim0(例えば±Xm/2)の範囲を用いて境界候補点の選択を行ってもよい。
なお、図6に示す例では、仮近似曲線が外接直線を示すため、境界候補点選択手段204は、仮近似直線から画像内部方向に対し、例えばXm/2以内にある境界候補点を選択すればよい。
図6に示す白色丸30が選択された境界候補点を示し、灰色丸31が選択されなかった境界候補点を示す。
図8は、境界候補点の選択結果のデータテーブルの一例を示す図である。図8に示す例では、Xm=3.0、Lim0=1.5とした場合の例である。図8に示すように、仮近似直線からの距離が1.5以内であれば、境界候補点の選択結果は「○」になる。選択結果「○」は選択されたことを表し、選択結果「×」は選択されなかったことを表す。
図9は、選択後の境界候補点のデータテーブルの一例を示す図である。図9に示す境界候補点は、図8に示す選択結果が「○」のものだけが抽出されている。図9に示す境界候補点が、コード領域と余白領域との境界線算出に用いられる。
境界線検出手段205は、境界候補点選択手段204により選択された境界候補点を用いて近似直線を算出する。境界線検出手段205は、算出された近似直線をコード領域と余白領域との境界線として検出する。
これにより、前述したように境界線を検出することで、カメラの特性や撮像画像の解像度不足によって、ボケや歪みが発生した場合でも、境界線の検出精度を向上させることが可能となる。
(回転・拡縮処理)
次に、タイミングパターン検出の処理対象画像を生成する処理について説明する。図10は、処理対象画像生成手段103の構成の一例を示すブロック図である。図10に示す処理対象画像生成手段103は、回転角度検出手段301、範囲決定手段302、回転・拡縮処理手段303を備える。
回転角度検出手段301は、境界線の傾きから、画像データ中の2次元コードの水平/垂直に対する回転角度を求める。
範囲決定手段302は、境界線の位置を基準とし、使用する処理方法に対応した画像範囲を決定する。範囲決定手段302は、例えば、DataMatrix(登録商標)のタイミングパターンの処理を行う場合には、タイミングパターンを含む頂点間の境界線に沿って一定の幅の矩形領域を切り出す。
回転・拡縮処理手段303は、境界線が画像データ中で水平又は垂直になるように回転補正を行う。回転補正には、アフィン変換処理や射影変換処理などを用いればよい。また、回転・拡縮処理手段303は、予め指定した解像度となるように隣接画素間をその階調値に比例して補間することで拡大補正ないし縮小補正を行う。
以上より、回転補正を行いコード領域が画像データ中で正立となるようにすることで、以後の処理での位置検出を容易かつ高精度・高速に行うことが可能となる。また、解像度が低かったり、高かったりする場合には、拡大補正又は縮小補正を行うことで以後の処理での位置検出精度を高めることが可能となる。縮小補正を行う場合、処理する画素数を低減するため、以後の処理の高速化が可能となる。
なお、回転・拡縮処理手段303は、撮像解像度検出手段331、補正倍率決定手段332を備える。
撮像解像度検出手段331は、境界線に隣接したモジュールの幅を検出し、検出したモジュールの幅に含まれるおおよその解像度を求める。
補正倍率決定手段332は、検出した解像度が予め指定した基準解像度より大きい場合には基準解像度と同等となるように縮小倍率を決定し、検出した解像度がk順解像度より小さい場合には基準解像度と同等となるように拡大倍率を決定する。
基準解像度は、使用するカメラの特性や以後のデコード処理アルゴリズムの特性に従って任意に設定される。一般的には、サンプリング定理に従って1モジュール当り2〜3画素が基準解像度として設定される。
しかし、より高精度の検出が必要な場合には、2〜3画素より大きな値(例えば4〜8画素)が設定されてもよい。また、精度を必要とせず処理速度を優先させたい場合には2〜3画素より小さい値(例えば1画素)が設定されてもよい。
これにより、カメラやデコード処理アルゴリズムの特性や用途に対応して、適切な倍率を設定することができ、より高性能なデコード処理を行うことが可能となる。
図11は、回転・拡縮処理を説明するための図である。図11を用いて、回転・拡縮処理の具体例について説明する。
境界線の回転角度が検出されると、範囲決定手段302により処理対象画像の範囲が決定される。図11に示す線40が、境界線を表す。図11に示すように、タイミングパターンの検出の場合、境界線を基準にタイミングパターン全体を含む矩形領域が、処理対象画像の範囲41として切り出される。例えば、範囲決定手段302は、境界線40から所定の幅を有する矩形領域を処理対象画像の範囲41として決定する。
回転・拡縮処理手段303は、図11に示す範囲41のモジュールの大きさを求める。この大きさは、おおよその値でよいため、回転・拡縮処理手段303は、タイミングパターンに沿ったモジュールの大きさを所定個数求めて、その平均値を用いる。ここでは、モジュールの大きさを画素数で表す。
図11に示す例の場合、モジュール1個当りおよそ2画素の解像度が求められたとする。以降の処理での基準解像度が、1モジュール当り8画素となっている場合、回転・拡縮処理手段303は、処理対象画像に対し、8/2=4倍の拡大補間処理を行う。
また、回転・拡縮処理手段303は、処理対象画像に対し、回転補正処理を行い、境界線40が処理対象画像中で水平となるようにする。
この結果、処理対象画像は、解像度が以降の処理に適切な1モジュール当り8画素に補正され、処理精度が向上する。また、回転補正処理によって境界線の擬似輪郭も補正され、よりきれいな境界線を得られるため、以降の処理の精度が向上する。また、以降の処理で画素走査を行う場合に、水平/垂直方向のインデックスインクリメントだけで済むため、処理速度が向上する。
(タイミングパターン検出処理)
次に、タイミングパターンの検出処理について説明する。図12は、タイミングパターン検出手段104の構成の一例を示すブロック図である。図12に示すタイミングパターン検出手段104は、処理対象画像選択手段401、明暗モジュールペア長検出手段402、基準モジュールペア長決定手段403、モジュールペア補正手段404、コードサイズ決定手段405を備える。
処理対象画像選択手段401は、タイミングパターンが存在する処理対象画像を選択する。2次元コードがDataMatrix(登録商標)の場合、4境界線のうち、2境界線がファインダパターン、残り2境界線がタイミングパターンである。
しかし、連続した黒画素のファインダパターンは検出が容易であるため、処理対象画像選択手段401は、ファインダパターン以外の2境界線を含む処理対象画像を選択する。選択された処理対象画像は、以後の処理に用いられる。
明暗モジュールペア長検出手段402は、タイミングパターンに含まれる隣接する明1個+暗1個のモジュールペアの長さを順次求める。このモジュールペアを、明暗モジュールペアと呼ぶ。
明暗モジュールペア長検出手段402は、明暗の境界の位置を決定する際に、隣接画素の階調値に比例するよう位置を補間修正して位置精度を画素単位より高くなるように向上させてもよい。
基準モジュールペア長決定手段403は、検出された明暗モジュールペア長を小さい方から順に並べ、累積移動平均値を順に算出する。基準モジュールペア長決定手段403は、処理中の明暗モジュールペア長が、累積移動平均値に対して予め規定された倍率をかけた上限値より大きいか否かを判定する。
基準モジュールペア長決定手段403は、判定結果が「上限値より大きい」を示す場合、何らかの異常が発生したものとして、この明暗モジュールペア長を含むそれより大きな明暗モジュールペア長を破棄する。ここでの異常は、例えば、主にボケ等によるモジュールの欠落である。
基準モジュールペア長決定手段403は、例えば、残りの明暗モジュールペア長から求めた累積移動平均値の最大値を、基準モジュールペア長に決定する。なお、基準モジュールペア長決定手段403は、予め定められた所定個数の明暗モジュールペアに対して処理した場合に、基準モジュールペア長を決定する。
これは、何らかの異常が発生して明暗モジュールペア長が極度に小さくなっている場合があるからである。何らかの異常とは、主に汚れ等によるモジュールの誤検出や、ボケ等によるモジュール幅の極端な太り/細りなどである。
モジュールペア補正手段404は、基準モジュールペア長に対し、予め定められた倍率をかけた閾値を設定する。モジュールペア補正手段404は、この閾値に基づく範囲に入らない明暗モジュールペアが存在する場合に、基準モジュールペア長に基づいてモジュールペア数を補正する。補正処理は、タイミングパターンの欠落時と誤検出時などに行われる処理である。
(タイミングパターン欠落時の補正処理)
次に、タイミングパターン欠落時の具体的な補正処理について説明する。モジュールペア補正手段404は、基準モジュールペア長に対し、予め定められた倍率を乗算して決定した上限値より大きい明暗モジュールペア長を、モジュールの欠落が発生していると判断する。この倍率は、四捨五入を考慮して、例えば1.4とする。
この場合、モジュールペア補正手段404は、基準モジュールペア長とこの明暗モジュールペア長との比率に対応する明暗モジュールペアの個数を追加する。例えば、モジュールペア補正手段404は、追加個数分のモジュールがこの明暗モジュールペア長内に均等に配置されているものと仮定して、明または暗モジュールを追加補正する。これにより、モジュールの欠落が発生した場合でも、適切にモジュール数を検出することが可能となる。
(タイミングパターン誤検出時の補正処理)
次に、タイミングパターン誤検出時の具体的な補正処理について説明する。モジュールペア補正手段404は、基準モジュールペア長に対し、予め定められた倍率をかけて決定した下限値より小さい明暗モジュールペア長を、モジュールの誤検出が発生していると判断する。この倍率は、四捨五入を考慮して、例えば0.5とする。なお、汚れなどが原因で誤検出が発生する場合がある。
この場合、モジュールペア補正手段404は、この明暗モジュールペア長を隣接する明暗モジュールペアのうちペア長が短い方に加算した上で、この明暗モジュールペア長を削除し、明暗モジュールペアの個数を1減算する。これにより、モジュールの誤検出が発生した場合でも、適切にモジュール数を検出することが可能となる。
コードサイズ決定手段405は、補正処理後のモジュールペア数の2倍をコードサイズとして決定する。
以上より、基準モジュールペア長を前述した処理で決定することで、タイミングパターンの画像に何らかの異常が発生していたとしても、基準モジュールペア長を適切に決定することが可能となる。また、基準モジュールペア長を用いて、異常が発生した明暗モジュールペアを補間することで、コードサイズを適切に決定することが可能となる。
次に、図13〜17を用いて、タイミングパターン検出処理の具体例について説明する。図13は、明暗モジュールペア長の例を示す図である。図13に示す例では、タイミングパターンの暗モジュールの1個が欠落している部分51がある。
明暗モジュール長検出手段402は、タイミングパターンを構成するモジュールの中心付近を水平方向に走査し、明(例えば白)、暗(例えば黒)モジュールペア長a1〜a14を求める。
なお、図13に示す例では、a14の右に位置する右端の明暗モジュールペア50は、明モジュールの検出誤差が大きくなることが予想されるため用いていない。最後の明モジュールは次のモジュールがないため、白画素が連続し、モジュールの境目が判断しにくいからである。
しかし、コード領域と余白領域との境界線が明確に分かっているなどの検出誤差が小さいと予想される場合には、最後の明暗モジュールペア50を用いてもよい。
図14は、算出された明暗モジュールペア長の一例を示す図である。図14に示すように、明暗モジュールペア長を識別するための番号「No」と、明暗モジュールペア長とが対応付けられている。例えば、「a1」の明暗モジュールペア長は、「18」であり、「a2」の明暗モジュールペア長は、「13」である。ペア長は、例えば画素値で表す。
基準モジュールペア長決定手段403は、検出された明暗モジュールペア長を小さい(短い)順に並べ替え、小さい方から順に累積移動平均を求める。明暗モジュールペア長は、本来は全て同じとなるはずであるが、解像度やノイズや欠落などにより値が変動する。
図15は、並べ替え後の明暗モジュールペア長の一例を示す図である。図15に示す例は、図14に示す明暗モジュールペア長を小さい順に並べ替えている。並べ替え後の順は以下の通りになる。
a9<a2<a3<a14<a5<・・・<a1<a12
基準モジュールペア長決定手段403は、異常値を検出するための、基準モジュールペア長に乗算する値として、四捨五入すると値が変わってしまう0.5倍を下限にし、1.5倍を上限にする。
基準モジュールペア長決定手段403は、例えば、累積移動平均の0.5倍以上1.4倍以内なら正常値と判断して処理を続行する。なお、カメラの特性や以降の処理アルゴリズムの特性によっては、この倍率と異なる値を用いてもよい。
図16は、累積移動平均値及び平均値との比の一例を示す図である。図16に示すように、明暗モジュールペア長、累積移動平均値、平均値との比が対応付けられている。平均値との比は、累積移動平均値から明暗モジュールペア長への比である。
図17は、明暗モジュールペア長、累積移動平均値、上限値、下限値の関係を示す図である。図17に示す例では、a12の明暗モジュールペア長で、上限値を上回るため、a12の明暗モジュールペア長は、何らかの異常が発生したものと判断される。
よって、基準モジュールペア長決定手段403は、a12以前のa9からa1までの累積移動平均値を基準モジュールペア長と決定する。この場合、図16を参照すると、a1までの累積移動平均値は、「16.08」であるので、基準モジュールペア長を「16」とする。
モジュールペア補正手段404は、異常値と判断されたa12に対応する明暗モジュールペアに対し、以下の式(2)により、補正すべきペア長を算出する。
a12のペア長/基準モジュールペア長=34画素/16画素 =2.1… ≒2(四捨五入) ・・・式(2)
モジュールペア補正手段404は、式(2)により算出された値を四捨五入して求めた値を用いて、a12のペア長は、明暗モジュールペア2個分であったと判断する。
よって、モジュールペア補正手段404は、以降の処理のため、欠落している暗モジュール1個を追加する。暗モジュールを1個追加すれば、その両隣に明モジュールができるため、結果的に明暗モジュールペアが2個でき、明暗モジュールペアが1つ追加される。
コードサイズ決定手段405は、モジュールサイズと、コードサイズとを以下の式(3)、(4)により求める。
モジュールサイズ=正常値の累積移動平均値/2 ・・・式(3)
コードサイズ=補正後のモジュールペア数×2 ・・・式(4)
図13に示すモジュールサイズは、図16を参照してa1までの累積移動平均値(16.08)を2で除算して四捨五入し、「8」となる。よって、図13に示す1つのモジュールの辺当たりの画素数は、8画素である。a1までの累積移動平均値は、最終的には、正常値の平均値と同じである。
図13に示すコードサイズの場合、以下の式(5)により決定される。
(14+1(追加1ペア分)+1(右端の処理に加えていないペア数))×2(ペアは2モジュール)=16×2=32 ・・・(5)
よって、図13に示すコードサイズは、32モジュールと決定することができる。
<動作>
次に、画像処理装置110の動作について説明する。図18は、実施例における画像処理方法の一例を示すフローチャートである。図18に示すステップS101で、境界候補点検出手段201は、2次元コードの4境界線のうちの1つの辺に対して、2次元コード内部から外部に走査し、境界候補点を求める。
ステップS102で、仮近似直線算出手段203は、境界候補点から仮の近似直線を求める。境界候補点選択手段204は、仮の近似直線からの距離を選択基準として、候補点の選択を行う。
ステップS103で、境界線検出手段205は、選択して残った境界候補点を用いて、近似直線を算出する
ステップS104で、境界線検出手段205は、算出した近似直線を境界線として決定する。
ステップS105で、境界検出手段101は、4境界線に対し、ステップS101〜S104の処理を行ったかを判定する。4境界線の検出が終了していなければ(ステップS105−NO)ステップS101に戻り、4境界線の検出が終了していれば(ステップS105−YES)ステップS106に進む。
ステップS106で、頂点検出手段102は、4境界線を延長し、その交点から2次元コードのコード領域の4頂点位置を決定する。
ステップS107で、範囲決定手段302は、タイミングパターンを含む処理対象画像の範囲を決定する。
ステップS108で、回転・拡縮処理手段303は、処理対象画像の範囲に対し、回転補正および拡大補正/縮小補正を行い、処理対象画像のデータを作成する。
ステップS109で、明暗モジュールペア長検出手段402は、タイミングパターン中の明暗モジュールペアの長さを求める。
ステップS110で、基準モジュールペア長決定手段403は、基準モジュールペア長を用いて正常な明暗モジュールペア長を選択する。モジュールペア補正手段404は、基準モジュールペア長を用いて明暗モジュールペアの補正を行う。
ステップS111で、コードサイズ決定手段405は、前述した式(3)及び式(4)により、2次元コードのモジュールサイズとコードサイズを決定する。
ステップS112で、デコード手段105は、取得された境界線・4頂点、モジュールサイズ、コードサイズに基づいて2次元コードのデコード処理を行う。
以上、実施例によれば、2次元コードの境界線の検出精度を向上させることができる。また、実施例によれば、境界線を求める際、候補点を補間して求めた上で、候補点の選択処理を行うことで、境界線を高精度に求めることが可能になる。
また、実施例によれば、境界線を基準にコード領域の画像を補間して回転補正をすることで、明暗モジュールペアの長さ検出などの処理を高精度かつ高速に行うことができる。また、実施例によれば、タイミングパターンの明暗モジュールペアの長さのうち、累積移動平均値との乖離に基づき、正しく検出されているものを選択することで、コードサイズなどを適切に求めることができる。
よって、実施例によれば、例えば、廉価なデジタルカメラで撮像した2次元コードを含む画像に対して、高性能かつ高速な認識処理を行うことが可能となる。
次に、画像処理装置110が実装された携帯端末装置500について説明する。図19は、携帯端末装置500のハードウェアの一例を示すブロック図である。携帯端末装置500は、アンテナ501、無線部502、ベースバンド処理部503、制御部504、カメラ505、表示部506、主記憶部507、補助記憶部508、端末インタフェース部509を有する。
アンテナ501は、送信アンプで増幅された無線信号を送信し、また、基地局から無線信号を受信する。無線部502は、ベースバンド処理部503で拡散された送信信号をD/A変換し、直交変調により高周波信号に変換し、その信号を電力増幅器により増幅する。無線部502は、受信した無線信号を増幅し、その信号をA/D変換してベースバンド処理部503に伝送する。
ベースバンド部503は、送信データの誤り訂正符号の追加、データ変調、拡散変調、受信信号の逆拡散、受信環境の判定、各チャネル信号の閾値判定、誤り訂正復号などのベースバンド処理などを行う。
制御部504は、例えばプロセッサなどであり、制御信号の送受信などの無線制御を行う。また、制御部504は、補助記憶部508などに記憶されている画像処理プログラムを実行し、実施例において説明した画像処理を行う。
カメラ505は、例えばCCD(Charge Coupled Device)を有し、2次元コードを含む撮像画像を生成する。
表示部506は、例えば、LCD(Liquid Crystal Display)などであり、画像やテキストや2次元コードに格納されたデータを表示する。
主記憶部507は、ROM(Read Only Memory)やRAM(Random Access Memory)などであり、制御部504が実行する基本ソフトウェアであるOSやアプリケーションソフトウェアなどのプログラムやデータを記憶又は一時保存する記憶装置である。例えば、前述した境界候補点や累積移動平均値などは、主記憶部507に記憶される。
補助記憶部508は、HDD(Hard Disk Drive)などであり、アプリケーションソフトウェアなどに関連するデータを記憶する記憶装置である。
端末インタフェース部509は、データ用アダプタ処理、ハンドセットおよび外部データ端末とのインタフェース処理を行う。
図4に示す撮像手段100は、例えば、カメラ505により実現され、画像処理装置110、デコード手段105は、例えば、制御部504により実現されうる。
これにより、携帯端末装置500において、2次元コードを撮影して、高速かつ高精度に処理を行うことができる。また、実施例における画像処理装置110を1又は複数の半導体集積化回路として、携帯端末装置500に実装することも可能である。
また、開示の技術は、携帯端末装置500に限らず、他の機器にも実装することができる。例えば、前述した画像処理装置110、又は前述した画像処理は、2次元コードを読み取る読取装置、コンパクトデジタルカメラ、又はカメラを有する情報処理装置などにも適用可能である。
また、前述した実施例で説明した画像処理を実現するためのプログラムを記録媒体に記録することで、実施例での画像処理をコンピュータに実施させることができる。
また、このプログラムを記録媒体に記録し、このプログラムが記録された記録媒体をコンピュータや携帯端末装置に読み取らせて、前述した制御処理を実現させることも可能である。なお、記録媒体は、CD−ROM、フレキシブルディスク、光磁気ディスク等の様に情報を光学的,電気的或いは磁気的に記録する記録媒体、ROM、フラッシュメモリ等の様に情報を電気的に記録する半導体メモリ等、様々なタイプの記録媒体を用いることができる。
以上、実施例について詳述したが、特定の実施例に限定されるものではなく、特許請求の範囲に記載された範囲内において、種々の変形及び変更が可能である。また、前述した実施例の構成要素を全部又は複数を組み合わせることも可能である。

Claims (8)

  1. モジュールが2次元状に配置された2次元コードが撮像された画像に対し、該画像内の2次元コード内から走査してコード領域の境界の候補点を検出する候補点検出手段と、
    前記候補点を用いて第1境界線を算出する算出手段と、
    前記第1境界線からの距離が閾値以内にある候補点を選択する選択手段と、
    前記選択手段により選択された候補点を用いて算出した第2境界線を検出する境界線検出手段と、
    を備える画像処理装置。
  2. 前記閾値は、前記モジュールのサイズに基いて決定される請求項1記載の画像処理装置。
  3. 前記候補点検出手段は、
    前記2次元コード内から走査する際、検出されるモジュールの間隔に基づき前記モジュールのサイズを推定する請求項2記載の画像処理装置。
  4. 前記第2境界線を用いて前記コード領域の4頂点を検出する頂点検出手段と、
    前記頂点検出手段により検出された4頂点から処理対象画像を生成する生成手段と、
    前記処理対象画像に対し、明と暗とのモジュールのペアが交互に配列されたパターンを検出する際、前記モジュールのペア長に基づき、欠落した前記モジュールのペアを補正するパターン検出手段と、
    をさらに備える請求項1乃至いずれか一項に記載の画像処理装置。
  5. 前記パターン検出手段は、
    前記モジュールのペア長に対し、小さい順に累積移動平均値を算出して該累積移動平均値に基づいて基準となるペア長を決定する決定手段と、
    前記決定手段により決定されたペア長に基づく上限値を超えるモジュールのペア長に対し、該モジュールのペア長と、前記決定されたペア長との比率により前記モジュールのペアを補正する補正手段と、
    を備える請求項記載の画像処理装置。
  6. 前記補正手段は、
    前記決定手段により決定されたペア長に基づく下限値より小さいモジュールのペア長を削除する請求項記載の画像処理装置。
  7. 画像処理装置に実行される画像処理方法であって、
    モジュールが2次元状に配置された2次元コードが撮像された画像に対し、該画像内の2次元コード内から走査してコード領域の境界の候補点を検出し、
    前記候補点を用いて第1境界線を算出し、
    前記第1境界線からの距離が閾値以内にある候補点を選択し、
    選択された候補点を用いて算出した第2境界線を検出する画像処理方法。
  8. モジュールが2次元状に配置された2次元コードが撮像された画像に対し、該画像内の2次元コード内から走査してコード領域の境界の候補点を検出し、
    前記候補点を用いて第1境界線を算出し、
    前記第1境界線からの距離が閾値以内にある候補点を選択し、
    選択された候補点を用いて算出した第2境界線を検出する、
    処理をコンピュータに実行させるための画像処理プログラム。
JP2013504497A 2011-03-17 2011-03-17 画像処理装置、画像処理方法及び画像処理プログラム Active JP5482963B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2011/056465 WO2012124123A1 (ja) 2011-03-17 2011-03-17 画像処理装置、画像処理方法及び画像処理プログラム

Publications (2)

Publication Number Publication Date
JP5482963B2 true JP5482963B2 (ja) 2014-05-07
JPWO2012124123A1 JPWO2012124123A1 (ja) 2014-07-17

Family

ID=46830250

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013504497A Active JP5482963B2 (ja) 2011-03-17 2011-03-17 画像処理装置、画像処理方法及び画像処理プログラム

Country Status (3)

Country Link
US (1) US8746572B2 (ja)
JP (1) JP5482963B2 (ja)
WO (1) WO2012124123A1 (ja)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014145193A1 (en) * 2013-03-15 2014-09-18 Nexref Technologies, Llc Marker-based augmented reality (ar) display with inventory management
CN104932696B (zh) * 2015-06-29 2018-01-05 上海中航光电子有限公司 一种显示图像显示方法
CN104933977B (zh) 2015-06-29 2017-10-24 上海中航光电子有限公司 一种图像显示系统
DE102015216619B4 (de) * 2015-08-31 2017-08-10 Disco Corporation Verfahren zum Bearbeiten eines Wafers
CN105138945B (zh) * 2015-09-25 2017-12-08 三明学院 一种钢筋表面二维码识别方法
CN105488448B (zh) * 2015-12-11 2018-10-09 杭州晟元数据安全技术股份有限公司 一种条码和二维码的区分方法
JP6602213B2 (ja) * 2016-01-25 2019-11-06 ヤマハ発動機株式会社 基板作業装置および部品実装装置
CN106529368B (zh) * 2016-09-29 2019-06-07 上海正雅齿科科技股份有限公司 二维码识别区域定位的方法
CN107886026B (zh) * 2016-09-30 2019-12-13 腾讯科技(深圳)有限公司 图形码处理方法及装置
CN106951812B (zh) * 2017-03-31 2018-12-07 腾讯科技(深圳)有限公司 识别二维码的方法、装置和终端
CN107273777A (zh) * 2017-04-26 2017-10-20 广东顺德中山大学卡内基梅隆大学国际联合研究院 一种基于滑动部件匹配的二维码码型识别方法
CN108596001B (zh) * 2017-09-21 2021-02-02 北京三快在线科技有限公司 二维码纠错译码方法、装置、电子设备及计算机可读介质
US11294800B2 (en) * 2017-12-07 2022-04-05 The Johns Hopkins University Determining performance of autonomy decision-making engines
JP7021651B2 (ja) * 2019-03-01 2022-02-17 オムロン株式会社 シンボル境界特定装置、シンボル境界特定方法および画像処理プログラム
CN111275693B (zh) * 2020-02-03 2023-04-07 北京明略软件系统有限公司 一种图像中物体的计数方法、计数装置及可读存储介质
CN113536822B (zh) * 2021-07-28 2024-05-03 中移(杭州)信息技术有限公司 二维码校正方法、装置及计算机可读存储介质
CN116306733B (zh) * 2023-02-27 2024-03-19 荣耀终端有限公司 一种放大二维码的方法及电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07234915A (ja) * 1994-02-24 1995-09-05 Tec Corp 画像認識装置
JP2001092919A (ja) * 1999-09-21 2001-04-06 Matsushita Electric Ind Co Ltd 2次元バーコードのねじれ角決定法
JP2005316755A (ja) * 2004-04-28 2005-11-10 Nec Electronics Corp 2次元矩形コードシンボル読み取り装置及び2次元矩形コードシンボル読み取り方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5742041A (en) 1996-05-29 1998-04-21 Intermec Corporation Method and apparatus for locating and decoding machine-readable symbols, including data matrix symbols
JP2002329163A (ja) 2001-02-27 2002-11-15 Asahi Glass Co Ltd 多値画像2値化装置、多値画像2値化方法および多値画像2値化プログラム、並びに、2次元コード読取装置、2次元コード読取方法および2次元コード読取プログラム
KR100746641B1 (ko) * 2005-11-11 2007-08-06 주식회사 칼라짚미디어 동영상 이미지 코드와 동영상 이미지 코드 생성/디코딩장치 및 그 방법
US8050502B2 (en) * 2006-06-21 2011-11-01 Namco Bandai Games Inc. Two-Dimensional code generation method, two-dimensional code, two-dimensional code recognition method, and image recognition device
WO2008021384A2 (en) * 2006-08-17 2008-02-21 Gregory Hovis High density, rectangular binary code symbol
JP4398498B2 (ja) 2007-12-03 2010-01-13 富士通株式会社 コード境界検出方法
CN101882207B (zh) * 2010-06-01 2012-06-20 福建新大陆电脑股份有限公司 Data Matrix码条码解码芯片及其解码方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07234915A (ja) * 1994-02-24 1995-09-05 Tec Corp 画像認識装置
JP2001092919A (ja) * 1999-09-21 2001-04-06 Matsushita Electric Ind Co Ltd 2次元バーコードのねじれ角決定法
JP2005316755A (ja) * 2004-04-28 2005-11-10 Nec Electronics Corp 2次元矩形コードシンボル読み取り装置及び2次元矩形コードシンボル読み取り方法

Also Published As

Publication number Publication date
WO2012124123A1 (ja) 2012-09-20
US8746572B2 (en) 2014-06-10
JPWO2012124123A1 (ja) 2014-07-17
US20140008442A1 (en) 2014-01-09

Similar Documents

Publication Publication Date Title
JP5482963B2 (ja) 画像処理装置、画像処理方法及び画像処理プログラム
JP3915563B2 (ja) 画像処理装置および画像処理プログラム
JP5505007B2 (ja) 画像処理装置、画像処理方法及び画像処理用コンピュータプログラム
US9451132B2 (en) System for capturing a document in an image signal
US9892300B2 (en) Two-dimensional code
EP1862939A1 (en) The two-directional bar code symbol and its encoding & decoding method
JP5296967B2 (ja) 3次元形状計測装置
US10306210B2 (en) Image processing apparatus and image capturing apparatus
JP2015173430A (ja) 投影システム、半導体集積回路、および画像補正方法
JP2005316755A (ja) 2次元矩形コードシンボル読み取り装置及び2次元矩形コードシンボル読み取り方法
WO2018059365A1 (zh) 图形码处理方法及装置、存储介质
CN113077459B (zh) 图像清晰度检测方法、装置、电子设备及存储介质
JP2000222517A (ja) 2次元コ―ド読取方法、2次元コ―ド読取装置及び記録媒体
JP2009212969A (ja) 画像処理装置、画像処理方法、及び画像処理プログラム
JP2013005258A (ja) ブレ補正装置、ブレ補正方法及び帳票
US8538191B2 (en) Image correction apparatus and method for eliminating lighting component
JP2014155063A (ja) 解像度測定用チャート、解像度測定方法、カメラモジュールにおける位置調整方法およびカメラモジュールの製造方法
US20120206410A1 (en) Method and system for generating calibration information for an optical imaging touch display device
JP4182937B2 (ja) 撮影装置、撮影装置の画像処理方法及びプログラム
JP2004362053A (ja) 二次元コード読取装置
JP4871918B2 (ja) 画像変換装置、画像変換方法、画像変換プログラム及び画像変換プログラムを記録したコンピュータ読み取り可能な記録媒体
US7702176B2 (en) One dimensional feature enhancement
KR20140038749A (ko) 영상 왜곡 보정 장치 및 방법
JP2011171991A (ja) 画像処理装置、電子機器、画像処理方法、および、画像処理プログラム
JP3698867B2 (ja) 円形パターン判定方法、装置および記録媒体

Legal Events

Date Code Title Description
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: 20140121

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140203

R150 Certificate of patent or registration of utility model

Ref document number: 5482963

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150