Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP4415010B2 - 2次元コード領域抽出方法、2次元コード領域抽出装置、電子機器、2次元コード領域抽出プログラム及びそのプログラムを記録した記録媒体 - Google Patents
[go: Go Back, main page]

JP4415010B2 - 2次元コード領域抽出方法、2次元コード領域抽出装置、電子機器、2次元コード領域抽出プログラム及びそのプログラムを記録した記録媒体 - Google Patents

2次元コード領域抽出方法、2次元コード領域抽出装置、電子機器、2次元コード領域抽出プログラム及びそのプログラムを記録した記録媒体 Download PDF

Info

Publication number
JP4415010B2
JP4415010B2 JP2006510645A JP2006510645A JP4415010B2 JP 4415010 B2 JP4415010 B2 JP 4415010B2 JP 2006510645 A JP2006510645 A JP 2006510645A JP 2006510645 A JP2006510645 A JP 2006510645A JP 4415010 B2 JP4415010 B2 JP 4415010B2
Authority
JP
Japan
Prior art keywords
dimensional code
margin
region extraction
detected
image data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2006510645A
Other languages
English (en)
Other versions
JPWO2005086074A1 (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.)
Sharp Corp
Original Assignee
Sharp 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 Sharp Corp filed Critical Sharp Corp
Publication of JPWO2005086074A1 publication Critical patent/JPWO2005086074A1/ja
Application granted granted Critical
Publication of JP4415010B2 publication Critical patent/JP4415010B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/1443Methods for optical code recognition including a method step for retrieval of the optical code locating of the code in an image
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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

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 Analysis (AREA)

Description

本発明は、2次元コードの存在する領域を抽出する2次元コード領域抽出方法、2次元コード領域抽出装置、電子機器、2次元コード領域抽出プログラム及びそのプログラムを記録した記録媒体に関する。
近年、小型で、低消費電力のイメージセンサが開発されたことに伴い、携帯電話機などの携帯型装置にカメラを内蔵することが可能となり、内蔵カメラにより撮影した画像を、電子メールで即座に送信できることが可能となっている。これらの内蔵カメラは、小型であることが優先され、一般的なデジタルカメラよりも解像度が低い。
また、近年の携帯電話機は、インターネットに接続する機能を有している。インターネットに接続するには、URL(Uniform Resource Locator)をキーから入力する必要があり、携帯電話機のキーでは、長いURLを打ち込むために手間がかかっていた。そこで、URLを一意の番号で管理し、その番号に対応するバーコードシンボル(以下、適宜バーコードと略称する)を印刷したものをバーコードリーダで読み込むことにより、URLの入力の手間を省き、ユーザの使い勝手をよくする試みがなされている。このような装置では、別途バーコードリーダを携帯電話機に接続する必要がある。
そこで、カメラを内蔵した携帯装置では、その内蔵カメラにより入力したバーコード画像に対してバーコードを認識できれば、別途バーコードリーダを用意しなくても、このようなサービスを利用することができる。
バーコードや2次元コードを2次元画像検出手段にて2次元的な画像データとして検出し、その画像データを一時的に記憶した画像データメモリ上を走査してコード読み取りを行う手法が従来から考えられている。しかし、この手法は画像中のどこに2次元コードが存在するのかわからないため画像データ全て、もしくは所定の間隔で全画像領域を操作する必要があり、時間がかかる。
この課題を解決する手段として、画像中に存在する2次元コードの領域を抽出する方法が提案されている。
例えば、特許文献1には、走査を画像中の同じ方向からでなく、反対方向からも交互に行っているため、画像中の幅全てを走査する必要がなく、時間の短縮を図っている。また、走査中に画素値の変化点を検出すると一定幅の直線を検出し、2次元コードの特徴であるL字型を検出する。これにより2次元コードの存在領域を絞り込んでいる。
また、特許文献2には、画像データを一定の小さいブロックに分割し、各ブロックの中で簡単に走査してその複雑度を算出している。複雑度とは、しきい値以上の階調差を検出した回数のことを示し、一般的に2次元コードの存在確立が高いブロックほど複雑度は増す。その観点から複雑度の高い順に各ブロックを走査して2次元コードを読み取っている。
特開2000−293615号公報 特開2001−22881号公報
しかしながら、このような従来の2次元コード存在領域検出方法にあっては以下のような問題点があった。
特許文献1に記載の方法では、2次元コードのL字型を検出するため、アルファベット等幾何学模様の入った画像では、誤検出する場合がある。また、QRコード(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次元コード候補領域に順位をつける順位決定手段をさらに備えることがより好ましい。
本発明の電子機器は、2次元バーコードシンボルを読み込み可能な電子機器において、上記2次元コード領域抽出装置を備えることを特徴としている。
別の観点から、本発明は、2次元コードが含まれる画像データを縦・横に走査するステップと、走査した画素の白黒階調を判定し、所定画素以上の白画素が続いた部分を余白部分として少なくとも2つ以上検出するステップと、検出した前記余白部分の間に存在する非余白部分の距離とその中心座標を算出するステップと、縦と横方向に存在する非余白部分の長さと中心座標を比較して2次元コードの存在を判定し、2次元コード候補領域として検出するステップとコンピュータに実行させるためのプログラムである。
また、本発明は、2次元コードが含まれる画像データを縦・横に走査するステップと、走査した画素の白黒階調を判定し、所定画素以上の白画素が続いた部分を余白部分として少なくとも2つ以上検出するステップと、検出した前記余白部分の間に存在する非余白部分の距離とその中心座標を算出するステップと、縦と横方向に存在する非余白部分の長さと中心座標を比較して2次元コードの存在を判定し、2次元コード候補領域として検出するステップとコンピュータに実行させるためのプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体である。
以上、詳述したように、本発明によれば、2次元的な画像データを一時的に記憶した画像データメモリ上において2次元コードの存在する領域を抽出する際、2次元コードを効率良く、かつ、正確に読み取ることができる。
本発明の実施の形態の2次元コード領域抽出装置及び方法の画像データと走査線の関係を示す図である。
(1)〜(3):(S1)の処理における走査線、(4):(S3)の処理における走査線、(5):(S30)の処理における走査線、Rx:(1)で検出した余白部分から算出した非余白部分(横)の長さ、Ry:(4)で検出した余白部分から算出した非余白部分(縦)の長さ、Rx’:(5)で検出した余白部分から算出した非余白部分(横)の長さ、Px:Rxの中心座標、Py:Ryの中心座標、Px’:Rx’の中心座標
本実施の形態の2次元コード領域抽出装置の一構成例を示すブロック図である。 本実施の形態の2次元コードの領域抽出装置及び方法のメインルーチン処理の概要を示すフローチャートである。 本実施の形態の2次元コード領域抽出装置及び方法がQRコードを走査する例を示す図である。 本実施の形態の2次元コードの領域抽出装置及び方法の2次元コード領域抽出方法の横方向の余白検出を行うルーチン処理を示すフローチャートである。 本実施の形態の2次元コードの領域抽出装置及び方法の2次元コード候補領域を検出するルーチン処理を示すフローチャートである。 本実施の形態の2次元コードの領域抽出装置及び方法の2次元コード候補領域を再比較するルーチン処理を示すフローチャートである。 本実施の形態の2次元コードの領域抽出装置及び方法の2次元コード候補領域の比較を示す図である。
符号の説明
1 2次元コード領域抽出装置(電子機器)
10 制御部
11 走査部(走査手段)
12 余白検出部(余白部分検出手段)
13 非余白情報算出部(非余白部分算出手段)
14 比較部(2次元コード候補領域抽出手段)
15 順位決定部(順位決定手段)
16 記憶部
H 入力画像データの高さ
W 入力画像データの幅
1A、1B、1C、1D 2次元コード候補領域1を構成する辺
2A、2B、2C、2D 2次元コード候補領域2を構成する辺
以下、添付図面を参照しながら本発明の好適な2次元コード領域抽出方法、2次元コード領域抽出装置及び電子機器の実施の形態について詳細に説明する。
図1は、本発明の実施の形態の2次元コード領域抽出装置及び方法の画像データと走査線の関係を示す図である。
より具体的には、図1は、2次元コード領域抽出装置、又は2次元コード領域抽出方法が画像データ上にある2次元コード領域を抽出する際に用いる処理と画像データとの位置関係を示している。本実施の形態では、図1に示す縦H画素×横W画素の画像データを例にして説明する。また、画像データ上に存在する2次元コードはQRコードである。
図2は、2次元コード領域抽出装置の一構成例を示すブロック図である。本実施の形態の2次元コード領域抽出装置及び方法は、カメラ付き携帯電話機/PHS(Personal Handy-Phone System)の携帯通信端末に適用することができる。
図2において、2次元コード領域抽出装置1は、装置全体を制御する制御部10と、2次元コードが含まれる画像データを縦・横に走査する走査部11(走査手段)と、走査した画素の白黒階調を判定し、所定画素以上の白画素が続いた部分を余白部分として少なくとも2つ以上検出する余白検出部12(余白部分検出手段)と、検出した前記余白部分の間に存在する非余白部分の距離とその中心座標を算出する非余白情報算出部13(非余白部分算出手段)と、縦と横方向に存在する非余白部分の長さと中心座標を比較して2次元コードの存在を判定し、2次元コード候補領域として検出する比較部14(2次元コード候補領域抽出手段)と、検出した複数の2次元コード候補領域を比較して2次元コード候補領域に順位をつける順位決定部15(順位決定手段)と、2次元的な画像データ及び演算データを一時的に記憶する画像データメモリからなる記憶部16とを含んで構成される。
走査部11は、図1に示すように画像データ中を縦や横に走査し、階調値から白黒の判定を行う。またその走査する範囲、方向は、制御部10によってその都度指定される。
余白検出部12は、制御部10を介して、走査部11で走査した画素が所定以上の長さを持った余白部分であるかどうかを判定し、所定以上の長さを持った余白部分であった場合は記憶部16に情報を記録する。
非余白情報算出部13は、余白検出部12で検出した余白情報をもとに非余白部分の長さと中心座標を算出する。
比較部14は、制御部10を介して縦と横の走査で検出した余白情報をもとにして算出した非余白部分の長さや位置を比較し、2次元バーコードの存在を判定し、2次元コード候補領域を検出する。
順位決定部15は、比較部14で複数検出した2次元コード候補領域を比較し、最も2次元コードの存在が高い領域を選出する。
次に2次元コード領域抽出方法の手順について説明する。
図3は、2次元コードの領域抽出装置及び方法のメインルーチン処理の概要を示すフローチャートである。図中、Sは本フローのステップを示す。
まず、ステップS1でカメラ等の画像取り込み手段によって取り込まれた図1の画像データを所定の間隔Dごとに水平方向に走査し、一定幅以上の余白部分を検出する。2次元コードにはクワイエットゾーンや、マージンと呼ばれる一定幅以上の余白部分が2次元コードの周辺に必ず存在し、QRコードの場合では余白部分が4セル以上なければならない。図1の(1)のようにQRコード上を走査した場合には両端にある2箇所の余白部分を検出することになる。よって、この条件から画像中の何も書かれていない部分や一色に染まっている部分と、2次元コードの存在する部分をおおまかに分けることができる。
ところで、ここで述べている間隔Dは、『画像データ上において取り得る最小の2次元コードを構成する一辺の長さの1/2以下』で決定され、高速、かつ確実にQRコードの存在する領域の判定を可能にしている。検出対象の2次元コードが同じものであっても、2次元画像取り込み手段との位置関係によっては、画像データ中において取り得る2次元コードの画像サイズや位置が異なってくる。一般的に縮小光学系を用いた場合、結像レンズなどの光学系から遠ざかるにつれて検出される2次元コードの画像サイズも小さくなる。但し、焦点距離からのずれが大きくなると読み取れなくなるため、適切な状態で検出されるという条件の下で、画像データ中において取り得る2次元コードの最小サイズが決まってくる。そして『1/2以下』としたのは、2次元コードを大きさに関係なく少なくとも2回は横切らせ、2次元コードの領域抽出を確実に行うことを目的としている。間隔Dを『画像データ上において取り得る最小サイズの2次元コードを構成する一辺の長さ』とすると、小さなサイズの2次元コードとそれよりも小さなノイズを多く含んだ画像であった場合、1ライン上で検出する余白部分の数は増加し、本来検出すべき2次元コードの領域だけでなく多くのノイズ領域を2次元コードと誤り、候補として指定してしまう可能性がある。また、図4のように走査する位置が矢印の位置(走査するQRコード内に白画素が連続する位置)になってしまうと、後述する縦の余白部分を検出できなくなり、結果的にQRコードの形状ではないと判断して候補から外れてしまう可能性もある。
このような現象を回避するために、本実施の形態では間隔Dを『画像データ中において取り得る最小サイズの2次元コードを構成する一辺の長さの1/2以下』とし、2次元コードの存在する範囲を少なくとも2箇所以上走査させ、2次元コードの大きさに関係なく2次元コードを確実・高速に検出できるようにした。なお、この例では、1セル=2画素となっているため、画像データ中において取り得るQRコードの最小画像サイズは40画素となる。また余白部分は4セル以上なので12画素以上白画素が続いた場合を余白部分として検出し、間隔Dは20画素となる。
上記ステップS1の横方向の余白部分を検出する処理については図5のサブルーチンにより後述する。
図3のメインフローに戻って、上記ステップS1の横方向の余白部分検出処理を終えると、ステップS2で見つかった2つの余白部分から、その間にある非余白部分の情報を算出する処理を行う。この処理では、記録された余白部分の情報(座標位置、長さ)を元に、図1に示すような非余白部分の長さRxと、その中心座標Pxを演算し、記録する。また、この処理は上記ステップS1の処理で走査した各ライン上で検出された全ての余白部分に対して行われる。このような計算処理が以下の処理でも行われるが、本2次元コード領域抽出方法は全体を通して複雑な計算工程を含まないため、高速化を図れるのである。
次いで、ステップS3で上記ステップS2の処理で算出した横方向の非余白部分の情報を用いて縦方向に走査する。横方向の非余白部分の中心座標Pxを中心にして長さRxから求められる一定の範囲を図1の(4)のように垂直方向に走査し、一定幅以上の余白部分を検出する。縦に走査する範囲は2次元コードの両端に存在する2つの余白部分を検出する目的から、中心座標Pxを中心にして横方向の非余白部分の長さRx+間隔D×2以上取らなければならない。しかし、前述したように、図4の矢印のような位置を走査してしまうとRxは極端に短くなり、縦方向の余白部分の検出はできない可能性がある。この対策として上記ステップS1の処理では間隔Dを『画像データ上において取り得る最小の2次元コードを構成する一辺の長さの1/2以下』とし、結果的に2次元コードの領域を抽出できるようにしている。また、縦方向の余白部分を検出できなくなる現象自体を解消するために、縦の走査する範囲を若干広く取り、縦方向の余白部分を検出できるようにしている。
上記ステップS3の処理を行った後、ステップS4で余白部分を検出できたか否かを判定する。一定幅以上の余白部分を2つ以上検出しなかった場合、ステップS7に進み、検出した場合はステップS5に進む。ステップS5では、2つの余白部分の間に存在する非余白部分の長さRyと、その中心座標Pyを求める。次いで、ステップS6で、上記ステップS2の処理及びステップS5の処理で算出した縦と横の非余白部分の情報を比較し、2次元コードの候補領域を検出する。
上記ステップS6の2次元コードの候補領域を検出する処理については図6のサブルーチンにより後述する。
ステップS7では、他の非余白部分(横)があるか否かを判定する。すなわち、ステップS7は、上記ステップS2の処理で算出した横方向に存在する非余白部分の中でまだ比較処理が行われていないものがあるかどうかを判定する。比較処理をされていない非余白部分がある場合は、ステップS8でその非余白部分を選択して上記ステップS3に戻り、ステップS3から一連の処理を繰り返す。比較処理されていない非余白部分がない場合は、ステップS9で2次元コードの候補として挙げられた領域同士を比較し、最も存在する可能性の高い領域を、例えば3つ選出して本フローを終了する。
図5は、2次元コード領域抽出方法の横方向の余白検出を行うルーチン処理を示すフローチャートであり、図3のステップS1の横方向の余白部分を検出する処理の詳細フローである。
入力画像を横方向に走査し余白部分を検出するには、まず、ステップS10で入力画像の先頭から間隔Dだけ縦方向にずらした位置に走査位置を合わせる。そして、ステップS11で水平方向に走査し、1画素ずつ白黒判定をして、一定幅以上の余白部分を検出する。間隔Dだけずらすのは、2次元コードが画像中の端付近にあったとしても間隔Dの設定上、最低2箇所は横切ることができるからである。
次いで、ステップS12で一定幅の余白部分が2つ以上検出したか否かを判定する。一定幅の余白部分を2つ以上検出しなかった場合は、ステップS14へ進み、走査位置を縦方向に間隔D(=20画素)ずらす。検出しなかった場合は、ステップS13でその余白部分の先頭の座標値と長さを記録した後、ステップS14の処理を行う。
ステップS15では、走査位置と画像データの縦の長さHを比較する。走査位置が画像データの縦の長さを超えた(走査位置>縦の長さ)場合は、本横方向の余白検出処理を終了し、図3のメインルーチンのステップS1に戻る。また、走査位置が画像データの縦の長さを超えていない場合は、上記ステップS11の処理に戻り、走査位置が画像データの縦の長さを超えるまで一連の処理は繰り返される。
図6は、2次元コード領域抽出方法の2次元コード候補領域を検出するルーチン処理を示すフローチャートであり、図3のステップS6の2次元コードの候補領域を検出する処理の詳細フローである。
まず、ステップS20で横と縦の非余白部分を比較する。比較する項目は選択した縦・横の非余白部分の長さ{Rx、Ry}と中心座標{Px、Py}の座標のずれであり、この2つの条件から2次元コードの存在を判定する。2次元コードはほぼ正方形の形を成しているため、2次元コードの中心座標を通るように長さを計った場合、縦と横の長さはほぼ同じになる。この形状的な特徴を利用し、非余白部分の長さRxとRyの差が一定の範囲内であり、かつ、2つの中心座標PxとPyの距離が一定の範囲内に存在した場合に、縦と横の非余白部分からなる範囲を2次元コードの存在する可能性がある領域(以下、2次元コード候補領域という)として候補に挙げる。この処理によって正方形のような形状をしたノイズ以外に影響されることなく2次元コードの領域を絞り込むことができる。
なお、ここで定めている範囲の上限は、非余白部分の長さRxとRyの差が20%以内、2つの中心座標PxとPyの距離の差が間隔Dの1/2(=10画素)以下としている。非余白部分の長さの差は、カメラ等画像取り込み装置で2次元コードを撮影した場合、一般的に2次元コードの真上から撮るという経験則から、正方形の形状を持つ2次元コードは画像データ上でも縦と横の長さの比がそれほど変化しないことを利用した。また、非余白部分の中心座標の差は、間隔Dで走査し余白部分を検出しているため、2つの中心座標が間隔Dの1/2以上離れている場合は他の非余白部分に2次元コードが存在する可能性が高いことによる。
次に、ステップS21で2次元コードの可能性があるか否かを判定する。2次元コードの可能性があると判定した場合、ステップS22で2次元コード候補領域として記録し、ステップS24の判定に進む。また、上記ステップS21の判定で2次元コードではないと判断された場合は、ステップS23で再比較処理を行った後、ステップS24の判定に進む。このステップS23による再比較処理については図7により詳細に後述する。
ステップS24では、図3のステップS5により算出した縦方向に存在する非余白部分の中でまだ比較処理が行われていないものがないか否かを判定する。比較処理をされていない非余白部分がある場合は、ステップS25でその非余白部分を選択し、ステップS20に戻って一連の処理を繰り返す。比較処理されていない非余白部分がない場合は、比較処理ルーチンを終了し、図3のメインルーチンのステップS6に戻る。
図7は、2次元コード領域抽出方法の2次元コード候補領域を再比較するルーチン処理を示すフローチャートであり、図6のステップS23の再検出処理の詳細フローである。
図6のステップS21の判定で2次元コードではないと判断された場合、本ルーチンに移行し、ステップS30で比較した縦方向の非余白部分の中心座標Pyを中心にして横方向にRyから算出した一定の範囲内を走査する。次いで、ステップS31で白黒判定を行って一定幅以上の余白部分を検出したか否かを判定する。このステップS31では一定幅以上の余白部分が2つ以上見つかったかどうかを判定するものである。余白部分を2つ以上検出しなければ、縦の非余白部分には2次元コードがなかったと判断し、本再比較処理を終了して図6のルーチンに戻る。
余白部分を2つ以上検出した場合は、ステップS32で非余白部分の長さRx’とRx’の中心座標Px’を算出して記録する。そして図6のルーチン同様、ステップS33で横と縦の非余白部分の長さRyとRx’、中心座標PyとPx’について比較を行う。
ステップS34では、2次元コード候補か否かを判定し、2次元コードの可能性があると判定された場合は、ステップS35で2次元コード候補領域として挙げてステップS36に進む。また、2次元コードではないと判断された場合は、そのままステップS36に進む。
ステップS36では、算出した横方向に存在する非余白部分の中でまだ比較処理が行われていないものがないか否かを判定する。比較処理をされていない非余白部分がある場合は、ステップS37でその非余白部分を選択して上記ステップS33に戻って処理を繰り返す。上記ステップS36で比較処理されていない非余白部分がない場合は、本比較処理ルーチンを終了して図6のルーチンに戻る。
このように、本発明の走査方法は、画像中に存在する2次元コード上を処理(図3のステップS1)の横方向走査時に少なくとも2回横切る。また、処理(図3ステップS6)の中の処理(図6のステップS20)で縦横の非余白部分の比較処理を行い、2次元コードの存在する条件に当てはまらなかった場合には再比較処理(図6ステップS23及び図7のルーチン)を行うことで2次元コードを確実に検出できるようにしている。よって、図1に示した(1)の走査と(2)の走査ではそれぞれに2次元コード候補領域が見つかることになり、結果的に同じような大きさと位置の2次元コード候補領域が複数検出される。これにより、処理(図3のステップS9)では、2次元コードの存在する候補に挙がった領域の大きさや位置をそれぞれ比較し、同じ領域と見なされた2次元コード候補領域の数をカウントする。
図8は、2次元コード領域抽出方法の2次元コード候補領域の比較を示す図である。
具体的には図8に示すように、2次元コード候補領域1と2次元コード候補領域2の4辺の座標のずれを測定し、ずれが一定範囲内であれば同じ領域と見なして比較した領域の中間領域を2次元コード候補領域として求め、2つの2次元コード候補領域をまとめる。図8の1Bと2B、1Dと2Dは縦位置を比較し、1Aと2A、1Cと2Cは横位置を比較する。ここではずれを間隔Dの1/2(=10画素)以内としている。これは処理(図6のステップS20)で述べた理由と同様の理由である。このようにして最終的にカウントした数が多かった2次元コード候補領域の上位3つを2次元コード領域として選択し、図3のメインルーチンを終了する。
以上の処理により、画像データ上に存在する2次元コードの領域を高速、かつ確実に抽出することが可能となる。もし画像データ上にノイズが含まれていたとしても、処理(図3のステップS1)の余白部分の検出方法、処理(図3のステップS6)の2次元コード候補範囲の検出方法、処理(図3のステップS9)の2次元コード範囲の決定方法により、複合的にノイズを候補範囲から除去し2次元コードのみを抽出することができる。また、画像中に複数個の2次元コードが存在した場合でも、それらを効率よく読み取ることを可能にする。
以上のように、本実施の形態の2次元コード領域抽出装置1は、2次元コードが含まれる画像データを縦・横に走査する走査部11と、走査した画素の白黒階調を判定し、所定画素以上の白画素が続いた部分を余白部分として少なくとも2つ以上検出する余白検出部12と、検出した前記余白部分の間に存在する非余白部分の距離とその中心座標を算出する非余白情報算出部13と、縦と横方向に存在する非余白部分の長さと中心座標を比較して2次元コードの存在を判定し、2次元コード候補領域として検出する比較部14と、検出した複数の2次元コード候補領域を比較して2次元コード候補領域に順位をつける順位決定部15とを備える。2次元コード領域抽出方法は、まず2次元コードの形状的な特徴を元に2次元コードが含まれる画像データを縦・横に走査し、走査した画素の白黒階調を判定し余白部分を検出する。次いで、検出した余白部分の間に存在する非余白部分の距離とその中心座標を算出し、縦と横方向に存在する非余白部分の長さと中心座標を比較するとともに、前述した比較手段で候補に挙がった領域の位置・大きさをもとに類似する範囲の数を計算し領域候補の順位をつけるので、画像中にある2次元コードの領域を絞り込むことによって認識にかかる時間を短縮することができ、結果的にノイズ等に影響されずに正確、かつ高速に読み取ることができる。また、画像中に複数個の2次元コードが存在した場合にそれらを効率よく読み取ることができる。
以上の説明は本発明の好適な実施の形態の例証であり、本発明の範囲はこれに限定されることはない。
なお、本発明の実施の形態は、上記の実施例に何ら限定されるものではなく、本発明の技術的範囲に属する限り種々の形態を採り得ることはいうまでもない。また、応用に関しても同様である。例えば、本実施の形態では、処理(図3のステップS1)で画像を横方向から走査し始めていたが、これを縦方向で走査し始め、一連の走査方向を縦横全く逆に設定しても構わない。より一般的に言うと、比較処理の段階で2つの非余白部分が直交関係にあれば、走査方向自体は特に問わない。また、間隔Dは『画像データ上において取り得る最小の2次元コードを構成する一辺の長さの1/2以下』であればどれだけ細かく走査しても構わず、処理速度は落ちても、2次元コード領域抽出装置を動作する上でのプラットホームの処理能力による2次元コード領域抽出方法の精度への影響はなんら生じない。
また、2次元的な画像データを一時的に記憶した画像データメモリ上において2次元コードの存在する領域を抽出する2次元コード領域抽出装置及び方法を有する電子機器であればどのような装置にも適用できる。例えば、電子機器としてデジタルカメラやカメラ付き携帯電話装置、PDA(Personal Digital Assistants)等の携帯情報端末、パソコン等の情報処理装置など、カメラ(内蔵/外付け)を備えた装置にも適用可能である。また、読み取り対象となるコードは、どのようなコードであってもよい。
また、上記実施の形態では、2次元コード領域抽出装置及び方法という名称を用いたが、これは説明の便宜上であり、2次元バーコード表示装置及び方法、情報読取装置や2次元コード抽出方法等でもよいことは勿論である。
また、上記実施の形態では、図1及び図8に示す走査線表示は一例であって他の例でもよいことは言うまでもない。
また、余白部分を検出する際、画素の白黒階調を判定するようにしているが、余白部分が検出できればどのような方法でもよい。また、ここで白黒というのは説明の便宜上の表現であり、文字通りの白黒のほか、シンボルが特定のカラーで表示されているものや地色が白色以外のものも含む。例えば、印刷物や液晶表示部にシンボルが印刷又はカラー表示されている形態では、シンボルそのものが白黒以外に色分けされている場合がある。すなわち、余白検出部12において、走査した画素の白黒階調を判定し、所定画素以上の画素が続いた部分を余白部分として少なくとも2つ以上検出するが、この場合、所定画素以上の画素が続いた部分は、白以外の画素(例えば、シンボルが黒地に白色で印刷されてる場合は、黒画素)も含む概念である。
また、上記2次元コード領域抽出装置を構成する各回路部、例えば走査部や記憶部の種類、数及び接続方法などは前述した実施の形態に限られない。
また、以上説明した2次元コード領域抽出装置及び方法は、これら2次元コード領域抽出装置及び方法を機能させるためのプログラムでも実現される。このプログラムはコンピュータで読み取り可能な記録媒体に格納されている。本発明では、この記録媒体として、図2に示されている制御部10のメインメモリそのものがプログラムメディアであってもよいし、また外部記憶装置としてCD−ROMドライブ等のプログラム読み取り装置が設けられ、そこに記録媒体を挿入することで読み取り可能なCD−ROM等のプログラムメディアであってもよい。いずれの場合でも、格納されているプログラムは制御部31のCPUがアクセスして実行させる構成であってもよいし、あるいはいずれの場合もプログラムを読み出し、読み出されたプログラムは、図示されていないプログラム記憶エリアにダウンロードされて、そのプログラムが実行される方式であってもよい。このダウンロード用のプログラムは予め各装置に格納されているものとする。
ここで、上記プログラムメディアは、携帯端末装置又は情報処理装置と分離可能に構成される記録媒体であり、磁気テープやカセットテープ等の磁気ディスクやCD−ROM、CD−R/RW、MO、MD、DVD−ROM、DVD−RAM、DVD−RW等の光ディスクのディスク系、PCカード、コンパクトフラッシュカード(登録商標)、スマートメディア(登録商標)、ICカード、SDカード(登録商標)、メモリースティック(登録商標)等のカード系、あるいはマスクROM、EPROM、EEPROM、フラッシュROM等による半導体メモリを含めた固定的にプログラムを担持する媒体であってもよい。
さらに、インターネット接続プロバイダ又はサーバ端末等の外部の通信ネットワークとの接続が可能な通信接続手段を介して通信ネットワークからプログラムをダウンロードするように、流動的にプログラムを担持する媒体であってもよい。なお、このように通信ネットワークからプログラムをダウンロードする場合には、そのダウンロード用プログラムは予め格納しておくか、あるいは別な記録媒体からインストールされるものであってもよい。なお、記録媒体に格納されている内容としてはプログラムに限定されず、データであってもよい。

Claims (10)

  1. 2次元コードの存在する領域を抽出する2次元コード領域抽出方法であって、
    2次元コードが含まれる画像データを縦・横に走査するステップと、
    走査した画素の白黒階調を判定し、所定画素以上の白画素が続いた部分を余白部分として少なくとも2つ以上検出するステップと、
    検出した前記余白部分の間に存在する非余白部分の距離とその中心座標を算出するステップと、
    縦と横方向に存在する非余白部分の長さと中心座標を比較して2次元コードの存在を判定し、2次元コード候補領域として検出するステップと
    を有することを特徴とする2次元コード領域抽出方法。
  2. 前記2次元コード候補領域検出ステップでは、複数の2次元コード候補領域を検出し、これら2次元コード候補領域を比較して2次元コード候補領域に順位をつけることを特徴とする請求項1記載の2次元コード領域抽出方法。
  3. 前記余白部分検出ステップでは、2次元コードの周囲に存在する余白部分を検出することを特徴とする請求項1記載の2次元コード領域抽出方法。
  4. 前記走査ステップでは、画像データを一定間隔で走査することを特徴とする請求項1記載の2次元コード領域抽出方法。
  5. 前記一定間隔は、画像データ上において取り得る最小の2次元コードを構成する一辺の長さの1/2以下であることを特徴とする請求項4記載の2次元コード領域抽出方法。
  6. 2次元コードが含まれる画像データを縦・横に走査する走査手段と、
    走査した画素の白黒階調を判定し、所定画素以上の白画素が続いた部分を余白部分として少なくとも2つ以上検出する余白部分検出手段と、
    検出した前記余白部分の間に存在する非余白部分の距離とその中心座標を算出する非余白部分算出手段と、
    縦と横方向に存在する非余白部分の長さと中心座標を比較して2次元コードの存在を判定し、2次元コード候補領域として検出する2次元コード候補領域抽出手段と
    を備えることを特徴とする2次元コード領域抽出装置。
  7. 前記2次元コード候補領域抽出手段により検出した複数の2次元コード候補領域を比較して2次元コード候補領域に順位をつける順位決定手段をさらに備えることを特徴とする請求項6記載の2次元コード領域抽出装置。
  8. 2次元バーコードシンボルを読み込み可能な電子機器において、
    請求項6又は7に記載の2次元コード領域抽出装置を備えることを特徴とする電子機器。
  9. 2次元コードが含まれる画像データを縦・横に走査するステップと、走査した画素の白黒階調を判定し、所定画素以上の白画素が続いた部分を余白部分として少なくとも2つ以上検出するステップと、検出した前記余白部分の間に存在する非余白部分の距離とその中心座標を算出するステップと、縦と横方向に存在する非余白部分の長さと中心座標を比較して2次元コードの存在を判定し、2次元コード候補領域として検出するステップとをコンピュータに実行させるためのプログラム。
  10. 2次元コードが含まれる画像データを縦・横に走査するステップと、走査した画素の白黒階調を判定し、所定画素以上の白画素が続いた部分を余白部分として少なくとも2つ以上余白部分を検出するステップと、検出した前記余白部分の間に存在する非余白部分の距離とその中心座標を算出するステップと、縦と横方向に存在する非余白部分の長さと中心座標を比較して2次元コードの存在を判定し、2次元コード候補領域として検出するステップとをコンピュータに実行させるためのプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。
JP2006510645A 2004-03-04 2005-02-24 2次元コード領域抽出方法、2次元コード領域抽出装置、電子機器、2次元コード領域抽出プログラム及びそのプログラムを記録した記録媒体 Expired - Fee Related JP4415010B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2004061230 2004-03-04
JP2004061230 2004-03-04
PCT/JP2005/002984 WO2005086074A1 (ja) 2004-03-04 2005-02-24 2次元コード領域抽出方法、2次元コード領域抽出装置、電子機器、2次元コード領域抽出プログラム及びそのプログラムを記録した記録媒体

Publications (2)

Publication Number Publication Date
JPWO2005086074A1 JPWO2005086074A1 (ja) 2008-01-24
JP4415010B2 true JP4415010B2 (ja) 2010-02-17

Family

ID=34918048

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006510645A Expired - Fee Related JP4415010B2 (ja) 2004-03-04 2005-02-24 2次元コード領域抽出方法、2次元コード領域抽出装置、電子機器、2次元コード領域抽出プログラム及びそのプログラムを記録した記録媒体

Country Status (5)

Country Link
US (1) US20070140564A1 (ja)
EP (1) EP1727070A4 (ja)
JP (1) JP4415010B2 (ja)
CN (1) CN100452077C (ja)
WO (1) WO2005086074A1 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5083395B2 (ja) * 2010-09-17 2012-11-28 カシオ計算機株式会社 情報読取装置及びプログラム
CN102831428B (zh) * 2012-06-30 2015-07-08 东南大学 图像内快速响应矩阵码区域的提取方法
CN104463292B (zh) * 2013-09-16 2018-01-09 深圳市同盛绿色科技有限公司 光学识别方法及移动设备
EP3031750A1 (de) * 2014-12-11 2016-06-15 Qbo Coffee GmbH Getränkekapsel, Getränkezubereitungssystem und Verfahren zum Identifzieren einer Getränkekapsel
EP3031748A1 (de) * 2014-12-11 2016-06-15 Qbo Coffee GmbH Getränkekapsel, Getränkezubereitungssystem und Verfahren zum Identifizieren einer Getränkekapsel
EP3031749A1 (de) * 2014-12-11 2016-06-15 Qbo Coffee GmbH Getränkekapsel, Getränkezubereitungssystem und Verfahren zum Identifizieren einer Getränkekapsel
CN108073849B (zh) * 2016-11-18 2021-04-30 杭州海康威视数字技术股份有限公司 条码检测方法、装置及系统
CN107016388B (zh) * 2017-03-02 2019-11-15 浙江华睿科技有限公司 一种一维码区域的定位方法及装置
CN107862230B (zh) * 2017-11-14 2020-12-22 安徽虚境科技有限公司 一种等级决定及录入方法
US11074472B2 (en) * 2017-11-14 2021-07-27 Symbol Technologies, Llc Methods and apparatus for detecting and recognizing graphical character representations in image data using symmetrically-located blank areas
CN111767751B (zh) * 2019-10-10 2024-04-12 北京京东乾石科技有限公司 二维码图像识别方法和装置
CN113283262B (zh) * 2020-12-29 2024-12-03 深圳怡化电脑股份有限公司 一种二维码定位方法、装置、电子设备、机器可读介质
CN116542271A (zh) * 2023-06-05 2023-08-04 上海微亿智造科技有限公司 一种二维码识别方法及设备

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5484990A (en) * 1993-12-15 1996-01-16 Ncr Corporation Information Solutions Company Multiple depth of field laser optical scanner
JP2867904B2 (ja) * 1994-12-26 1999-03-10 株式会社デンソー 2次元コード読取装置
US5969325A (en) * 1996-06-03 1999-10-19 Accu-Sort Systems, Inc. High speed image acquisition system and method of processing and decoding barcode symbol
JPH1091717A (ja) * 1996-09-18 1998-04-10 Toshiba Corp バーコード認識装置
JP3814988B2 (ja) * 1997-10-27 2006-08-30 株式会社デンソー 2次元コード読取装置
JP2000222517A (ja) * 1998-11-27 2000-08-11 Denso Corp 2次元コ―ド読取方法、2次元コ―ド読取装置及び記録媒体
JP3711775B2 (ja) * 1998-12-22 2005-11-02 カシオ計算機株式会社 バーコード読取装置およびそのプログラム記録媒体
JP2000235617A (ja) * 1999-02-17 2000-08-29 Olympus Optical Co Ltd データ読取装置
JP4055290B2 (ja) * 1999-04-07 2008-03-05 株式会社デンソー 2次元コード存在領域検出方法、2次元コード読取方法及び記録媒体
JP3508836B2 (ja) * 1999-06-22 2004-03-22 インターナショナル・ビジネス・マシーンズ・コーポレーション 2次元コードの概略位置検出装置及び検出方法
CN1307311A (zh) * 2000-02-02 2001-08-08 北京科瑞奇技术开发有限公司 便携式智能防伪二维条码磁条卡型身份证件识别器
JP2004054529A (ja) * 2002-07-18 2004-02-19 Sharp Corp 2次元コード読み取り方法,2次元コード読み取りプログラム,該2次元コード読み取りプログラムの記録媒体及び2次元コード読み取り装置
CN1184582C (zh) * 2003-03-25 2005-01-12 西安理工大学 基于通用办公设备的二维条码自动识读方法

Also Published As

Publication number Publication date
JPWO2005086074A1 (ja) 2008-01-24
WO2005086074A1 (ja) 2005-09-15
US20070140564A1 (en) 2007-06-21
EP1727070A1 (en) 2006-11-29
CN1950828A (zh) 2007-04-18
CN100452077C (zh) 2009-01-14
EP1727070A4 (en) 2008-03-19

Similar Documents

Publication Publication Date Title
US8240571B2 (en) Barcode image recognition system and associated method for hand-held device
EP1909215B1 (en) Image region detection method, recording medium, and device therefor
US7562820B2 (en) Barcode recognition apparatus
US8254683B2 (en) Code image processing method
JP4415010B2 (ja) 2次元コード領域抽出方法、2次元コード領域抽出装置、電子機器、2次元コード領域抽出プログラム及びそのプログラムを記録した記録媒体
JP4180497B2 (ja) コード種類判別方法、およびコード境界検出方法
US20050242186A1 (en) 2D rectangular code symbol scanning device and 2D rectangular code symbol scanning method
US20130194448A1 (en) Rules for merging blocks of connected components in natural images
US9141874B2 (en) Feature extraction and use with a probability density function (PDF) divergence metric
US11562551B1 (en) Image analysis for decoding angled optical patterns
CN106326802B (zh) 二维码校正方法、装置及终端设备
US20090121024A1 (en) Image processing apparatus, image processing method, and computer program stored in storage medium
JP4658848B2 (ja) 文字列認識方法及び文字列認識装置
JP4163406B2 (ja) バーコード認識装置
JP4398498B2 (ja) コード境界検出方法
US20090245658A1 (en) Computer-readable recording medium having character recognition program recorded thereon, character recognition device, and character recognition method
US12321818B2 (en) Method and apparatus for decoding optical codes of different orientations
KR20050097917A (ko) 바코드 인식 장치

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

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

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

Free format text: PAYMENT UNTIL: 20121127

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4415010

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20121127

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20131127

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees