JP2016081080A - 2次元アレイ状に配置された情報を含む複数のコードを撮像した画像から認識されないコードが存在すると推測される推測領域を決定する方法、装置及びプログラム - Google Patents

2次元アレイ状に配置された情報を含む複数のコードを撮像した画像から認識されないコードが存在すると推測される推測領域を決定する方法、装置及びプログラム Download PDF

Info

Publication number
JP2016081080A
JP2016081080A JP2014208272A JP2014208272A JP2016081080A JP 2016081080 A JP2016081080 A JP 2016081080A JP 2014208272 A JP2014208272 A JP 2014208272A JP 2014208272 A JP2014208272 A JP 2014208272A JP 2016081080 A JP2016081080 A JP 2016081080A
Authority
JP
Japan
Prior art keywords
code
codes
aggregates
aggregate
image
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2014208272A
Other languages
English (en)
Other versions
JP6370188B2 (ja
Inventor
大資 堀内
Daishi Horiuchi
大資 堀内
豊 細金
Yutaka Hosogane
豊 細金
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.)
Kyodo Printing Co Ltd
Original Assignee
Kyodo Printing 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 Kyodo Printing Co Ltd filed Critical Kyodo Printing Co Ltd
Priority to JP2014208272A priority Critical patent/JP6370188B2/ja
Publication of JP2016081080A publication Critical patent/JP2016081080A/ja
Application granted granted Critical
Publication of JP6370188B2 publication Critical patent/JP6370188B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】2次元アレイ状に配置された情報を含む複数のコードを撮像した画像から認識されないコードが存在すると推測される推測領域を決定するができる方法を提供する。
【解決手段】演算部は、2次元アレイ状に配置された情報を含む複数のコードを撮像した画像から、コードとして認識されたコードの位置を求め、所定の位置関係にあるコードが同じ集合体に含まれるように、各コードの位置に基づいて、各コードを複数の集合体に分類し、各集合体に含まれるコードの数を比較して、他の集合体よりもコードの数が少ない集合体を選択し、選択された集合体が位置する画像内の領域から、認識されないコードが存在すると推測される推測領域を決定することを実行する。
【選択図】図7

Description

本発明は、2次元アレイ状に配置された情報を含む複数のコードを撮像した画像から認識されないコードが存在すると推測される推測領域を決定する方法、装置及びプログラムに関する。
従来、二次元コード等の情報を有するコードが用いられている。二次元コード等の情報を有するコードは、狭い面積に多くの情報を含めることができるので、物品管理や、携帯電話を用いたウェブ誘導など、様々な用途で広く活用されている。
例えば、図1に示すように、二次元コード120が、箱100の表面に配置されて、物品を管理するために用いられる。二次元コード120は、例えば、箱100の中に収納されている物品の種類及び数等の情報を有する。
箱100は、二次元コード120が配置された面を同一の方向に向けて、縦及び横方向に並べて積まれている。複数の二次元コード120は、全体として2次元アレイ状に配置されており、一つのコード群を形成している。
物品の情報を得るには、図1に示すように、二次元コード120を解析する解析装置110を用いて、コード群を撮像し、撮像された画像から各二次元コード120の画像を解析することが提案されている。コード群を撮像して解析することにより、各二次元コード120を、個々に撮像して解析することよりも処理速度を高めることができる。
特開2000−353210号公報
図2は、解析装置110を用いてコード群が撮像された画像130を示す。
ここで、図2の四角の枠に示すように、一の二次元コードが上手く撮像されていないため、コードの認識が困難な場合がある。
この理由として、図1に示す一の二次元コード120aとカメラ間の距離がまちまちで、一部の二次元コード120aの焦点が合わない状態で撮像されたことが考えられる。縦及び横方向に並べて積まれた箱が全てが綺麗に積まれているとは限らないからである。
また、一の二次元コードが上手く撮像されていない理由として、一の二次元コード120aに汚れが付着しているか、又は傷が付いていることも考えられる。
このように、コード群を撮像した画像130に認識することが困難なコードが含まれていると、解析装置110は、そのコードの解析することができないおそれがある。
例えば、特許文献1は、情報を含むコードを撮像した画像に基づいて明暗の変化点の数を計数し、その計数された明暗変化点数に基づいて、コードが存在する可能性の高い検査区域を抽出し、抽出された検査区域を再検査することを提案している。
しかし、特許文献1が提案する方法では、例えば赤、青、黄などの色の配列で情報を表示するカラーコードなどの明暗変化が弱いコードを用いた場合、検査区域を上手く抽出することができないおそれがある。また、撮像した画像に二次元コードのような明暗変化を持つデザインの物体が写りこんだ場合、誤った区域を検査区域として抽出するおそれがある。
そこで、本明細書では、上述した問題を解決し得る方法、装置及びプログラムを提案することを課題とする。
本明細書に開示する方法によれば、2次元アレイ状に配置された情報を含む複数のコードを撮像した画像から、上記コードとして認識された上記コードの位置を求め、所定の位置関係にある上記コードが同じ集合体に含まれるように、各上記コードの位置に基づいて、各上記コードを複数の集合体に分類し、各上記集合体に含まれる上記コードの数を比較して、他の上記集合体よりも上記コードの数が少ない上記集合体を選択し、選択された上記集合体が位置する上記画像内の領域から、認識されない上記コードが存在すると推測される推測領域を決定することを、演算部が実行する。
また、本明細書に開示する装置によれば、2次元アレイ状に配置された情報を含む複数のコードを撮像した画像から、上記コードとして認識された上記コードの位置を求め、所定の位置関係にある上記コードが同じ集合体に含まれるように、各上記コードの位置に基づいて、各上記コードを複数の集合体に分類し、各上記集合体に含まれる上記コードの数を比較して、他の上記集合体よりも上記コードの数が少ない上記集合体を選択し、選択された上記集合体が位置する上記画像内の領域から、認識されない上記コードが存在すると推測される推測領域を決定する、演算部を備える。
更に、本明細書に開示するプログラムによれば、2次元アレイ状に配置された情報を含む複数のコードを撮像した画像から、上記コードとして認識された上記コードの位置を求め、所定の位置関係にある上記コードが同じ集合体に含まれるように、各上記コードの位置に基づいて、各上記コードを複数の集合体に分類し、各上記集合体に含まれる上記コードの数を比較して、他の上記集合体よりも上記コードの数が少ない上記集合体を選択し、選択された上記集合体が位置する上記画像内の領域から、認識されない上記コードが存在すると推測される推測領域を決定することを、コンピュータに実行させる。
上述した本明細書に開示する方法によれば、2次元アレイ状に配置された情報を含む複数のコードを撮像した画像から認識されないコードが存在すると推測される推測領域を決定するができる。
また、上述した本明細書に開示する装置によれば、2次元アレイ状に配置された情報を含む複数のコードを撮像した画像から認識されないコードが存在すると推測される推測領域を決定するができる。
更に、上述した本明細書に開示するプログラムによれば、2次元アレイ状に配置された情報を含む複数のコードを撮像した画像から認識されないコードが存在すると推測される推測領域を決定するができる。
コード群及びコード群を解析する解析装置を示す図である。 解析装置によりコード群が撮像された画像を示す図である。 本明細書に開示する解析装置の第1実施形態を示す図である。 コード群を説明する図である。 解析装置により撮像されたコード群の画像を示す図である。 コードを説明する図である。 本実施形態の解析装置の動作を説明するフローチャート(その1)である。 本実施形態の解析装置の動作を説明するフローチャート(その2)である。 本実施形態の解析装置の動作を説明するフローチャート(その3)である。 集合体Xを説明する図である。 集合体Yを説明する図である。 各コードを集合体Yに分類する処理を説明する図(その1)である。 各コードを集合体Yに分類する処理を説明する図(その2)である。 本実施形態の解析装置の動作を説明するフローチャート(その4)である。 本実施形態の解析装置の動作を説明するフローチャート(その5)である。 推測領域を決定する処理を説明する図である。 推測領域を再走査する処理を説明する図である。 第1実施形態の変形例1を説明する図である。 第1実施形態の変形例2を説明する図である。 本明細書に開示する解析装置の第2実施形態が解析する画像を説明する図である。 本実施形態の解析装置の動作を説明するフローチャート(その1)である。 本実施形態の解析装置の動作を説明するフローチャート(その2)である。 本実施形態の解析装置の動作を説明するフローチャート(その3)である。 本実施形態の解析装置の動作を説明するフローチャート(その4)である。 隅コードの周りに位置する他のコードを選択する処理を説明する図である。 隅コードと、選択された他のコードとを通る直線を作成する処理を説明する図である。 隅コードを通り、傾きaを有する直線を作成する処理を説明する図である。 各コードを集合体に分類する処理を説明する図である。 第2実施形態の変形例1を説明する図である。 第2実施形態の変形例2を説明する図である。
以下、本明細書で開示する解析装置の好ましい第1実施形態を、図を参照して説明する。但し、本発明の技術範囲はそれらの実施形態に限定されず、特許請求の範囲に記載された発明とその均等物に及ぶものである。
図3は、本明細書に開示する解析装置の第1実施形態を示す図である。図4は、コード群を説明する図である。図5は、解析装置により撮像されたコード群の画像を示す図である。図6は、コードを説明する図である。
本実施形態の解析装置10は、2次元アレイ状に配置された情報を含む複数のコードを有するコード群を撮像した画像から、各コードを認識して解析し、解析した結果を出力する。
また、解析装置10は、認識されないコードが存在すると推測される場合には、認識されないコードが存在すると推測される推測領域を決定し、画像内の推測領域を再走査して認識されたコードを解析する。
図4に示すように、撮像される複数のコード20は、2次元アレイ状に配置されたコードの群を形成する。このようなコード群として、例えば、図1に示すようなコード群が挙げられる。図4に示す例では、縦方向にm個のコード20が並べられており、横方向にn個のコード20が並べられている。コード群の輪郭は長方形を形成する。
本実施形態の解析装置10は、2次元アレイ状に配置されたコードの群の縦方向のコード数及び横方向のコード数が未知であっても動作可能である。
図5に示すように、解析装置10により撮像された画像には、コード群が含まれている。コード群の画像30は、2次元アレイ状に配置されたコードの画像31を含む。コード群の画像30は、2次元アレイ状に配置された複数のコードを含むコード群の輪郭を規定する2本の交差する直線L1、L2を、画像30のx軸及びy軸の方向と一致させるように撮像されている。
図5には、コード群の画像30の座標系の原点Oと共にx軸及びy軸を示す。
画像のy軸方向には、m個のコードの画像31が並んでおり、画像のx軸方向には、n個のコードの画像31が並んでいる。
ここで、コード群の画像30の中央付近には、解析装置10の認識が困難なように撮像されたコードの画像31aが存在する。
コードの画像31は、コード20が撮像されたものであり、コード20と同じ情報を有している。以下、本明細書では、コードの画像を単にコードともいうことにする。
図6に示すように、本実施形態で撮像されたコード(コードの画像)31は、二次元コードである。コード31は、二進コードで表されるデータをセル化して、二次元のマトリックス状にパターンとして配置しており、コードの位置を検出するための4つの異なる位置検出パターンX0〜X3と、4つの位置検出パターンX0〜X3に囲まれたデータ部を有する。データ部は、更に、フォーマット情報、及び誤り訂正符号等と、セグメントを含む実データ部等を有する。位置検出パターンX0〜X3は、コード中には位置検出パターンと同形状のパターンが出現しないように設計してあるため、コードの画像31から個々にそれぞれ認識可能になされている。
本実施形態で撮像されるコードは、カラーコード又は絵柄が配置された二次元コード等の他の形式を有する二次元コードであってもよい。また、本実施形態で撮像されるコードは、バーコード等の一次元コードであってもよい。
次に、解析装置10について、以下に詳細に説明する。
解析装置10は、演算部11と、記憶部12と、操作部13と、表示部14と、通信部15と、撮像部16を有する。
演算部11は、記憶部12に予め記憶されている所定のプログラムに従い、解析装置10の各要素の制御及び各種処理を行い、処理中に生じるデータを一時的に保存するために記憶部12を利用する。
記憶部12は、1次記憶装置及び2次記憶装置を有していても良い。また、記憶部12は、所定のプログラムを記憶する記憶媒体12aを読み出し可能なドライブを有していても良い。
操作部13は、解析装置10の操作者等によって操作されて、各種の情報を入力する。操作部13としては、例えば、タッチパネルを用いることができる。演算部11は、操作部13から入力された各種の情報を用いて、各種処理を行う。
表示部14は、演算部11の動作によって、各種の情報を表示する。表示部14としては、例えば、液晶パネルを用いることができる。
通信部15は、撮像部16からの画像データを入力する。また、通信部15は、外部のネットワークを介して、他の装置との間でコードを解析した情報等のデータの送受信を行うことができる。
撮像部16は、通信部15を介して、演算部11により制御されて、コード群を撮像する。撮像部16としては、例えば、CCD、又はCMOS画像化素子等を用いることができる。
解析装置10としては、例えば、多機能型携帯電話機、タブレット端末、ノート型パーソナルコンピュータ等を用いることができる。
次に、解析装置10の動作を図7及び図8に示すフローチャートを参照しながら、以下に説明する。
まず、ステップS10において、解析装置10は、情報を含むコードが2次元アレイ状に配置されたコード群を撮像する。撮像された画像は、記憶部12に記憶される。
次に、ステップS12において、解析装置10は、コード群の画像を走査してコードを認識し、認識されたコードを解析する。また、解析装置10は、認識されたコードの数を求める。
次に、ステップS14において、解析装置10は、2つ以上のコードを認識したか否かを判断する。2つ以上のコードが認識されている場合には、ステップS16へ進む。一方、2つ以上のコードが認識されていない場合には、ステップS32へ進む。
ステップS32へ進んだ場合には、解析装置10は、コードを解析した解析結果を表示部14に出力する。
ステップS16へ進んだ場合には、解析装置10は、認識したコードの位置検出パターンの座標を抽出する。図6を参照して、解析装置10の処理を以下に説明する。
解析装置10は、認識したコードが有する4つの位置検出パターンの隅部P0〜P3の位置を求める。この処理により、位置検出パターンX0の隅部P0の座標(px0,py0)、位置検出パターンX1の隅部P1の座標(px1,py1)、位置検出パターンX2の隅部P2の座標(px2,py2)、位置検出パターンX3の隅部P3の座標(px3,py3)が得られる。
次に、ステップS18において、解析装置10は、認識された各コードの位置を代表する代表位置として中心Cの座標(cx、cy)を求める。解析装置10は、ステップS16で求めた4つの位置検出パターンの隅部P0〜P3の座標を用いて、コードの中心Cの座標を求めることができる。
具体的には、コードの中心Cのx座標は、(px0+px1+px2+px3)/4となり、y座標は、(py0+py1+py2+py3)/4となる。
また、解析装置10は、コードの対角線上に位置する2つの位置検出パターンの隅部の座標を用いて、コードの中心Cの座標を求めてもよい。
具体的には、2つの位置検出パターンX0、X2を用いる場合には、コードの中心Cのx座標は、(px0+px2)/2となり、y座標は、(py0+py2)/2となる。また、2つの位置検出パターンX1、X3を用いる場合には、コードの中心Cのx座標は、(px1+px3)/2となり、y座標は、(py1+py3)/2となる。
なお、コードの位置を代表する代表位置は、コードの中心でなくてもよい。また、コードの中心の位置を求める方法としては、上述した方法以外の他の方法を用いてもよい。
次に、ステップS20において、解析装置10は、認識された各コードの中心の座標と、位置検出パターンの座標とを関連づけて、記憶部12に記憶する。
次に、ステップS22において、解析装置10は、所定の位置関係にあるコードが同じ集合体に含まれるように、各コードの位置に基づいて、各コードを複数の集合体に分類する。各コードの位置は、コードの位置を代表する代表位置として、コードの中心の座標を用いる。
ステップS22の処理を、図9〜図13を参照して、以下に説明する。
図9は、解析装置の処理を説明するフローチャートである。図10は、集合体Xを説明する図である。図11は、集合体Yを説明する図である。
図10及び図11に示すように、複数の集合体は、画像のx軸が複数に分割された領域と対応するように形成された複数の集合体Xと、画像のy軸が複数に分割された領域と対応するように形成された複数の集合体Yとを有する。
複数の集合体Xは、画像のx軸がコードのx軸方向の寸法と対応するように複数に分割された領域と対応するように形成される。また、複数の集合体Yは、画像のy軸がコードのy軸方向の寸法と対応するように複数に分割された領域と対応するように形成される。
このようにして、コード群のy軸方向に列をなすように並んだコードは、同じ集合体Xに分類され、コード群のx軸方向に行をなすように並んだコードは、同じ集合体Yに分類される。
次に、認識した各コードを、複数の集合体Yに分類する処理を、以下に説明する。認識した各コードを、複数の集合体Xに分類する処理も同様に行われる。
まず、図9のステップS40において、解析装置10は、認識した各コードを、コードの代表位置である中心のy座標の順番にソートする。画像から認識されたコードの数をNとすると、ソートされたコードは、コード1、コード2・・・コードNというように、1番目からN番目までの順番にソートされる。
次に、ステップS42において、解析装置10は、ソートされたコードの順番を示す変数iに2を設定し、集合体Yの順番を示す変数jに1を設定する。また、解析装置10は、集合体Yjに含まれるコードのy座標の最大値を示す変数Yj_ymaxに対して、ソートされた1番目のコード1の最大のy座標を有する位置検出パターンの中心のy座標の値を設定する。
次に、ソートされたコード2からコードNまでの各コードに対して、ステップS44からステップS62の間の処理が繰り返される。
まず、ステップS46において、解析装置10は、コードiの中心のy座標が、Yj_ymaxよりも大きいか否かを判断する。コードiの中心のy座標が、Yj_ymax以下の場合には、ステップS48へ進む。一方、コードiの中心のy座標が、Yj_ymaxよりも大きい場合には、ステップS54へ進む。
ステップS48へ進んだ場合には、解析装置10は、コードiを集合体Yjに分類する。
図12に示す例では、集合体Y1には、コード1及びコード2がすでに分類されている。次に、コード3のコード3の中心のy座標は、Y1_ymax以下なので、コード3も集合体Y1に分類される。
次に、ステップS50において、解析装置10は、コードiが有する位置検出パターンの内で、最大のy座標を持つ位置検出パターンの中心のy座標yi_fmaxが、Yj_ymaxよりも大きいか否かを判断する。yi_fmaxが、Yj_ymaxよりも大きい場合には、ステップS52へ進む。一方、yi_fmaxが、Yj_ymaxよりも大きくない場合には、ステップS62へ進む。
ステップS52へ進んだ場合には、解析装置10は、yi_fmaxを、Yj_ymaxに代入する。一方、yi_fmaxが、Yj_ymaxよりも大きくない場合には、Yj_ymax値の変更はされない。このように、集合体Yjに新しいコードが分類される度に、Yj_ymaxの更新処理が行われる。
図13に示す例では、集合体Yjに新しいコードiが分類される。このコードiのyi_fmaxは、Yj_ymaxよりも大きい。そこで、Yj_ymaxの更新処理が行われて、コードiのyi_fmaxがYj_ymaxに代入される。
一方、ステップ46において、ステップS54へ進んだ場合には、解析装置10は、集合体Yj+1を生成して、コードiを集合体Yj+1に分類する。
図12に示す例では、コード4の中心のy座標が、Y1_ymaxよりも大きいので、コード4は、新たに生成された集合体Y2に分類される。
次に、ステップS56において、解析装置10は、コードiが有する位置検出パターンの内で、その中心の位置が最大のy座標を持つ位置検出パターンのy座標yi_fmaxを求める。
次に、ステップS58において、解析装置10は、yi_fmaxを、Yj+1_ymaxに代入する。このように、新しい集合体Yj+1が生成される度に、Yj_ymaxの更新処理が行われる。
次に、ステップS60において、解析装置10は、集合体Yの順番を示す変数jに1を加えた値を、新たな変数jとして設定する。
上述したステップS46からステップS62の間の処理を行うことにより、図11に示すように、認識した各コードは、コードの中心の位置を示すy座標が所定の範囲内にあるコードが同じ集合体Yに含まれるように、複数の集合体Yに分類される。図11に示す例では、認識した各コードは、複数の集合体Y1〜集合体Ymに分類される。
また、認識した各コードの中心のx座標を用いて、上述したのと同様の処理を行うことにより、図10に示すように、認識した各コードは、コードの中心の位置を示すx座標が所定の範囲内にあるコードが同じ集合体Xに含まれるように、複数の集合体Xに分類される。そして、ステップS24に進む。図10に示す例では、認識した各コードは、複数の集合体X1〜集合体Xnに分類される。
そして、図7のステップS24へ進む。
次に、ステップS24において、解析装置10は、複数の集合体に基づいて、コード群の画像内に認識されないコードが存在するか否かを判断する。コード群の画像内に認識されないコードが存在する場合には、ステップS26へ進む。一方、コード群の画像内に認識されないコードが存在しない場合には、ステップS32へ進む。ステップS32へ進んだ場合には、解析装置10は、認識したコードを解析した結果を表示部14に出力する。
ステップS26へ進んだ場合には、解析装置10は、認識されないコードが存在すると推測される推測領域の中心の座標を求める。
次に、ステップS28において、解析装置10は、認識されないコードが存在すると推測される推測領域を決定する。
上述したステップS24からステップS28の詳細な処理を、図14〜図16を参照しながら、以下に説明する。
まず、ステップS70において、解析装置10は、各集合体Xに含まれるコードの数を比較して、他の集合体Xよりもコードの数が少ない集合体が存在するか否かを判断する。他の集合体Xよりもコードの数が少ない集合体が存在する場合には、ステップS72へ進む。一方、他の集合体Xよりもコードの数が少ない集合体が存在しない場合には、ステップ32へ進む。ステップS32へ進んだ場合には、解析装置10は、認識したコードを解析した結果を表示部14に出力する。
解析装置10は、複数の集合体Xの内で、最も多いコードの数を有する集合体のコード数をXmaxとして、コード数がXmaxよりも少ない集合体を、他の集合体Xよりもコードの数が少ない集合体として判断することができる。
コード群のx軸方向に並ぶコードの数がnであることが既知である場合には、コード数がnよりも少ない集合体を、他の集合体Xよりもコードの数が少ない集合体として判断してもよい。例えば、コード群がm×n個のコードにより形成されており、このコード群が2つ並んでいる場合がある。この場合、画像には、m×2n個又は2m×n個のコードが含まれることになる。ここで、コード群がm×n個のコードにより形成されていることが既知であれば、コード数がnよりも少ない集合体を、他の集合体Xよりもコードの数が少ない集合体として判断して、処理を行える。この説明は、集合体Yの処理に対しても適用される。
ステップ72へ進んだ場合には、解析装置10は、他の集合体Xよりもコードの数が少ない集合体Xである集合体Xaを選択する。
図10に示す例では、複数の集合体Xの内で、最も多いコードの数を有する集合体のコード数Xmaxはmである。図10に示す例では、コード群の中で認識されないコードの数が一つなので、他の集合体Xよりもコードの数が少ない集合体Xaの数は一つであり、集合体Xaが有するコードの数はm−1である。なお、認識されないコードの数は、2つ以上の場合もある。
次に、ステップS74において、解析装置10は、各集合体Yに含まれるコードの数を比較して、他の集合体Yよりもコードの数が少ない集合体が存在するか否かを判断する。他の集合体Yよりもコードの数が少ない集合体が存在する場合には、ステップS76へ進む。一方、他の集合体Yよりもコードの数が少ない集合体が存在しない場合には、ステップ32へ進む。ステップS32へ進んだ場合には、解析装置10は、認識したコードを解析した結果を表示部14に出力する。
解析装置10は、複数の集合体Yの内で、最も多いコードの数を有する集合体のコード数をYmaxとして、コード数がYmaxよりも少ない集合体を、他の集合体Yよりもコードの数が少ない集合体として判断することができる。
コード群のy軸方向に並ぶコードの数がmであることが既知である場合には、コード数がmよりも少ない集合体を、他の集合体Yよりもコードの数が少ない集合体として判断してもよい。
ステップ76へ進んだ場合には、解析装置10は、他の集合体Yよりもコードの数が少ない集合体Yである集合体Ybを選択する。
図11に示す例では、複数の集合体Yの内で、最も多いコードの数を有する集合体のコード数Ymaxはnである。図11に示す例では、コード群の中で認識されないコードの数が一つなので、他の集合体Yよりもコードの数が少ない集合体Ybの数は一つであり、集合体Ybが有するコードの数はn−1である。なお、認識されないコードの数は、2つ以上の場合もある。
次に、ステップS78において、解析装置10は、集合体Xaに含まれるコードの中心のx座標の平均値であるx座標xaveと、集合体Ybに含まれるコードの中心のy座標の平均値であるy座標yaveを求める。
図10に示す例では、集合体Xaに含まれるコードの中心のx座標を、(xa1,ya1),(xa2,ya2),・・・,(xa(m−1),ya(m−1))とすると、集合体Xaが含むコードの中心のx座標の平均値xaveは、
ave=(xa1+xa2+・・・xa(m−1))/(m−1)
となる。
また、図11に示す例では、集合体Ybに含まれるコードの中心のy座標を、(xb1,yb1),(xb2,yb2),・・・,(xb(n−1)yb(n−1))とすると、集合体Ybが含むコードの中心のy座標の平均値yaveは、
ave=(yb1+yb2+・・・yb(n−1))/(n−1)
となる。
次に、ステップS80において、解析装置10は、推測領域の中心の位置として、x座標をxaveとし、y座標をyaveとして、中心の座標(xave、yave)を決定する。
図16の例に示すように、集合体Xaと集合体Ybとが重複する領域に、推測領域の中心の座標(xave、yave)が含まれる。
次に、全ての推測領域の中心に対して、ステップS82からステップS89の間の処理が繰り返される。なお、本実施形態では、推測領域の中心は一つなので、ステップS82からステップS89の間の処理は一回だけ行われる。
まず、ステップS84において、解析装置10は、集合体Xaに含まれるコードの内で、yaveより小さい中心のy座標を有するコードの中で最大のy座標を有するコードAを選択する。また、解析装置10は、集合体Ybに含まれるコードの内で、xaveより小さいx座標を有するコードの中で最大のx座標を有するコードBを選択する。
図16に示す例では、コードAが、その中心の座標(xas、yas)が、集合体Xaに含まれるコードの内で、yaveより小さい中心のy座標を有するコードの中で最大のy座標を有するコードとして選択される。また、コードBが、その中心の座標(xbt、ybt)が、xaveより小さいx座標を有するコードの中で最大のx座標を有するコードとして選択される。
次に、ステップS86において、解析装置10は、コードAに対して、中心の座標と関連づけられて記憶されている位置検出パターンの座標に基づいて、最大のy座標を有する位置検出パターンの中心のy座標yを求める。また、解析装置10は、コードBに対して、中心の座標と関連づけられて記憶されている位置検出パターンの座標に基づいて、最大のx座標を有する位置検出パターンの中心のx座標xを求める。
次に、ステップS88において、解析装置10は、推測領域32を決定する。推測領域32の境界は、例えば、以下のように決定され得る。
まず、推測領域32の一の境界を示す推測領域開始点の座標(xstart,ystart)を、図16に示すように、コードAの最大のy座標を有する位置検出パターンの中心のy座標yと、コードBの最大のx座標を有する位置検出パターンの中心のx座標xとを用いて、座標(x、y)とすることができる。
また、推測領域32の他の境界を示す推測領域終了点の座標(xend,yend)を、
end=(xave-x)×2+x=2xave−x
end=(yave-y)×2+y=2yave−y
とすることができる。
図16に示すように、推測領域32は、推測領域開始点と推測領域終了点により規定される領域として決定され得る。そして、ステップS30へ進む。
次に、図8ステップS30において、解析装置10は、コード群の画像内の推測領域32を再走査して、認識されたコードを解析する。
図17に示すように、解析装置10は、記憶部12に記憶された画像内の推測領域32を再走査する。再走査では、走査する範囲が、画像内の推測領域32の部分だけなので、走査の分解能を最初の走査よりも高めて行うことが好ましい。また、再走査では、複数の解析条件(二値化閾値等)を用いて、解析を行ってもよい。再走査では、走査の分解能を高めるか、又は複数の解析条件を用いて、解析を行うことが認識されにくいコードを認識する上で好ましい。推測領域32に対して、このような再走査及び解析処理を行っても、画像全体を再走査又は解析する処理よりも処理時間を短縮することができる。
次に、ステップS32において、解析装置10は、最初の走査で認識されたコードの解析結果と共に、推測領域を再走査して認識されたコードに対する解析結果を表示部14に出力する。
次に、ステップS34において、解析装置10は、解析を終了するか否かを判断する。例えば、ユーザの指示により、更に認識されないコードを解析する必要がある場合には、解析を終了せずに、ステップS10へ戻る。
上述した本実施形態の解析装置10によれば、2次元アレイ状に配置された情報を含む複数のコードを撮像した画像から認識されないコードが存在すると推測される推測領域を決定できる。そして、推測領域について認識されなかったコードを再走査して解析できるので、処理速度を向上することが可能である。
なお、コード群を形成するコードの数が既知である場合、例えば、コード群がm×n個のコードにより形成されることが既知である場合には、上述したステップS14において、認識されたコードの数が、m×n個である場合には、ステップS32へ進んで、ステップS16以降の処理を行わなくてもよい。
また、上述したように、複数の集合体Xは、画像のx軸がコードのx軸方向の寸法と対応するように複数に分割された領域と対応するように形成されていればよく、また、複数の集合体Yは、画像のy軸がコードのy軸方向の寸法と対応するように複数に分割された領域と対応するように形成されていればよい。以下、分割された領域の他の例として、変形例1及び変形例2を説明する。
図18に示す変形例1では、コードが一の集合体Yに追加される度に、Yj_ymaxが更新される。図18に示す例では、集合体Yjには、5つのコードが分類されており、Yj_ymaxは、5つのコードそれぞれが有する位置検出パターンの内で、最大のy座標を持つ位置検出パターンのy座標の値の平均値として更新される。次のコードの中心の座標は、更新されたYj_ymaxと比較される。集合体Xについても、各コードを集合体Xに分類することも、同様に行うことができる。
図19に示す変形例2では、一の集合体Yが有するコードの中から基準となる基準コードを選択し、基準コードが有する位置検出パターンの内で、最大のy座標を持つ位置検出パターンのy座標を、Yj_ymaxとする。このYj_ymaxは、集合体Yに分類されるコードのy座標の上限値である。同様に、基準コードが有する位置検出パターンの内で、最小のy座標を持つ位置検出パターンのy座標を、集合体Yに分類されるコードのy座標の下限値を示す変数Yj_yminとしてもよい。この場合、各コードの分類は、Yj_ymax及びYj_yminを用いて行われる。基準コードとしては、各集合体Yに最初に分類されるコードを選択することができる。各コードを集合体Xに分類することも、同様に行うことができる。
次に、上述した解析装置の第2実施形態を、図20〜図28を参照しながら以下に説明する。他の実施形態について特に説明しない点については、上述の第1実施形態に関して詳述した説明が適宜適用される。また、同一の構成要素には同一の符号を付してある。
上述した実施形態では、コード群は、コード群の輪郭を規定する2本の交差する直線L1、L2を、画像30のx軸及びy軸の方向と一致させるように撮像されていた。
しかし、コード群の輪郭が、画像のx軸及びy軸の方向と一致するように撮像されるとは限らない。
本実施形態の解析装置は、コード群の輪郭が、画像のx軸及びy軸の方向と一致するように撮像されていなくとも、各コード群を複数の集合体に分類して、推測領域を決定するものである。
ただし、本実施形態では、2次元アレイ状に配置された複数のコードを含むコード群の輪郭が3角形又は4角形の形状を有しており、コード群の縦方向に並ぶコードの数がm個であること及び横方向に並ぶコードの数がn(m≦n)個であることは既知であるとする。また、2次元アレイ状に配置された複数のコードを含むコード群の輪郭を規定する2本の直線L1,L2が交差してなす交差角度も既知であるとする。
本実施形態の解析装置10の構成は、図3に示す上述した第1実施形態と同様である。
図20は、本明細書に開示する解析装置の第2実施形態が解析する画像を説明する図である。コード群の輪郭は、長方形であり、2本の直線L1,L2がなす交差角度は、90度である。
図20に示すように、コード群の輪郭は、画像のx軸及びy軸の方向と一致するようには撮像されていない。
次に、解析装置10の動作を図21〜図24に示すフローチャートを参照しながら、以下に説明する。
まず、ステップS90において、解析装置10は、情報を含むコードが2次元アレイ状に配置されたコード群を撮像する。撮像された画像は、記憶部12に記憶される。
次に、ステップS92において、解析装置10は、コード群の画像を走査して、コードを認識し、認識されたコードを解析する。また、解析装置10は、認識されたコードの数を求める。
次に、ステップS94において、解析装置10は、2つ以上のコードを認識したか否かを判断する。2つ以上のコードが認識されている場合には、ステップS96へ進む。一方、2つ以上のコードが認識されていない場合には、ステップS140へ進む。
ステップS140へ進んだ場合には、解析装置10は、コードを解析した解析結果を表示部14に出力する。
次に、ステップS96において、解析装置10は、コード群の輪郭の隅を形成する4つの隅コード1〜隅コード4の位置を求める。解析装置10は、隅コードの位置として、コードの位置を代表する代表位置として中心の座標を求める。
解析装置10は、認識した各コードの中心の座標を比較して、最大のx座標xmax、最大のy座標ymax、最小のx座標xmin、最小のy座標yminを有する4つのコードを隅コードとして選択する。
図20に示す例では、隅コード1は、最大のy座標ymaxを有する。隅コード2は、最小のx座標xminを有する。隅コード3は、最小のy座標yminを有する。隅コード4は、最大のx座標xmaxを有する。
次に、ステップS98において、解析装置10は、隅コードの番号を示す変数iに1を設定する。
次に、ステップS100において、解析装置10は、i≦4であるか否かを判断する。i≦4である場合には、ステップS102へ進む。一方、i≦4でない場合には、ステップS107へ進む。S107へ進んだ場合には、4つの隅コードを用いても、各コードを複数の集合体に分類できなかったので、解析装置10は、解析不可能であると判断して、処理を終了する。
次に、ステップS102において、解析装置10は、ステップS108からステップS116の間の処理を行う回数を示す変数rに1を設定する。
次に、ステップS104において、解析装置10は、r<mであるか否かを判断する。r<mである場合には、ステップS108へ進む。一方、r<mでない場合には、ステップS106へ進む。ステップS106へ進んだ場合には、変数iに1を加えた値を新たな変数iとして、ステップS100へ戻り、次の隅コードに対して、同じ処理を繰り返す。
ステップS108へ進んだ場合には、解析装置10は、隅コードiの周りに位置する他のコードを選択する。図25に示す例では、解析装置10は、隅コード1の周りに最近接で位置し且つ以前には選択されていないコードを選択する。r=1では、解析装置10は、コードC1〜コードC3の3つのコードを選択する。また、r=pでは、解析装置10は、コードC1〜Cqのq=2p+1個のコードを選択する。なお、隅コード1の周りに最近接で位置するとは、図25に示すように、四角形の形状を有するコードの一辺の長さと対角線の長さ程度の距離の差は、同じ最近接の距離に含まれることを意味する。
次に、ステップS110において、解析装置10は、コード群の輪郭の一の隅部を形成する隅コードiと、ステップS108で選択された他のコードを通る直線を作成する。
図26に示す例では、隅コード1と、選択されたq=2p+1個のコードC1〜Cqを通る直線が形成される。具体的には、解析装置10は、コード群の輪郭の一の隅部を形成する隅コード1の中心と、隅コード1の周りに位置する選択された一のコードC1の中心を通り傾きaを有する第1直線から、隅コード1の中心と隅コード1の周りに位置する選択された他のコードCqの中心を通り傾きaを有する第q直線までのq=2p+1本の直線を作成する。
次に、ステップS112において、解析装置10は、ステップS110で作成された複数の直線の内の2つの直線が隅コードiで交差する角度を求め、求めた角度が、交差角度90度と所定の範囲内で一致する角度で交差する2つの直線を選択し、選択された2つの直線の傾きa、aを求める。所定の範囲としては、例えば、10度以内、好ましくは5度以内とすることができる。
図26に示す例では、隅コード1とコードC1を通る直線と、隅コード1とコードCqを通る直線が選択される。この2つの直線は、コード群の輪郭を規定する交差する直線に対応する。ここで、コードCqを通る直線の傾きaを傾きaとし、コードC1を通る直線の傾きaをaとする。
次に、ステップS114において、図27に示すように、解析装置10は、求めた2本の直線の傾きの内の一の傾きaを用いて、隅コード1の中心を通る直線を作成する。なお、他の傾きaを用いて、隅コード1の中心を通る直線を作成してもよい。
次に、ステップS116において、解析装置10は、傾きaiの直線上にm個のコードが重なるか否かを判断する。傾きaiの直線上にm個のコードが重なる場合には、ステップS118へ進む。一方、傾きaiの直線上にm個のコードが重ならない場合には、ステップS120へ進む。なお、傾きaを用いた場合には、傾きajの直線上にn個のコードが重なるか否かを判断する。
ここで、傾きaiを有し、隅コード1の中心を通る直線(y=ai・x+bi)が、隅コード1以外の認識されている一のコードと重なっているか否かは、次のように判断される。
まず、認識されている一のコードの4つの隅の点の座標(又は位置検出パターンの中心)の内で、最大のx座標を持つ点の座標を(xmax,y)とし、最小のx座標を持つ点の座標を(xmin,y)とし、最大のy座標を持つ点の座標を(x,ymax)とし、最小のx座標を持つ点の座標を(x,ymin)とする。
下記の2つの関係の内の何れか一方が満足されていれば、傾きaiを有し、隅コード1の中心を通る直線が、一のコードと重なっていると判断される。
関係(1){y≦a・xmin+bi}∧{y≧a・xmax+bi} 又は
{y≦a・xmax+bi}∧{y ≧ a・xmin+bi}
関係(2){ymax≦a・x+bi}∧{ymin≧a・x+bi} 又は
{ymax≦a・x+bi}∧{ymin≧a・x+bi}
ステップS118へ進んだ場合には、解析装置10は、ステップS114で作成した直線が通るコードを同じ集合体M1に分類する。
図27に示すように、傾きaiを有し、隅コード1の中心を通る直線(y=ai・x+b)は、コード群の一の輪郭を規定するコードの列と重なっているので、隅コード1を含むm個のコードが、集合体M1に分類される。
一方、ステップS116において、ステップS120へ進んだ場合には、解析装置10は、変数rに1を加えた値を新たな変数rとして、ステップS104へ戻り、ステップS108以降のステップを繰り返す。
次に、ステップS122において、解析装置10は、集合体Mの数を示す変数eに2を設定する。
次に、ステップS124において、解析装置10は、認識したコードの内で、集合体Mに分類されていないコードCを選択する。
図28に示す例では、解析装置10は、中心の座標(x、y)を有するコードCを選択する。コードCは、集合体M1には含まれない。
次に、ステップS126において、図28に示すように、解析装置10は、コードCの中心を通り、傾きaを有する直線(y=a・x+(y−a・x))を作成する。なお、ステップS114において、傾きaを用いた場合には、このステップにおいても同じ傾きを用いる。
次に、ステップS128において、解析装置10は、ステップS126で作成した直線と重なるコードを集合体Meに分類する。
図28に示すように、傾きaiを有し、コードCの中心を通る直線(y=a・x+(y−a・x))と重なるm個のコードが、集合体Meに分類される。
次に、ステップS130において、解析装置10は、e>nであるか否かを判断する。e>nである場合には、ステップS134へ進む。一方、e>nでない場合には、ステップS132へ進む。
ステップS132へ進んだ場合には、解析装置10は、変数eに1を加えた値を新たな変数eとして、ステップS124へ戻り、ステップS124〜ステップS128の処理を繰り返す。
一方、ステップS134へ進んだ場合には、解析装置10は、各集合体Mに含まれるコードの数を比較して、他の集合体Mよりもコードの数が少ない集合体Msを選択する。他の集合体Mよりもコードの数が少ない集合体Msを選択する方法としては、例えば、上述した第1実施形態と同様の方法を用いることができる。
次に、ステップS136において、解析装置10は、集合体Msが含むコードを、コードの位置に基づいて傾きaの方向に並べ、隣接するコード同士の間の距離を求めて、最大の距離を示した隣接するコードの間の領域を含むように推測領域を決定する。
推測領域は、例えば、以下のように決定できる。
最大の距離を示した隣接する2つのコードそれぞれは、他方のコードと対向する側に2つの隅に位置する点を有するので、推測領域を規定する4つの隅の位置が得られる。
ここで、4つの隅の位置の座標に基づいて、最大のx座標を示すxs_max、最大のy座標を示すys_max、最小のx座標を示すxs_min、最小のy座標を示すys_minが求められる。これらの座標を用いて、推測領域を、(xs_max,ys_max)、(xs_max,ys_min)、(xs_min,ys_max)、(xs_min,ys_min)の4つの点により規定される四角形の領域とすることができる。
次に、ステップS138において、解析装置10は、コード群の画像内の推測領域を再走査して、認識されたコードを解析する。
次に、ステップS140において、解析装置10は、最初の走査で認識されたコードの解析結果と共に、推測領域を再走査して認識されたコードに対する解析結果を表示部14に出力する。
次に、ステップS142において、解析装置10は、解析を終了するか否かを判断する。例えば、ユーザの指示により、更に認識されないコードを解析する必要がある場合には、解析を終了せずに、ステップS90へ戻る。
上述した実施形態の解析装置10によれば、コード群の輪郭が、画像のx軸及びy軸の方向と一致するように撮像されていなくとも、推測領域を決定することができる。そして、推測領域について認識されなかったコードを再走査して解析できるので、処理速度を向上することが可能である。なお、本実施形態の解析装置10は、コード群の輪郭が、画像のx軸及びy軸の方向と一致するように撮像されている場合にも適用可能であることはいうまでもない。
本実施形態の解析装置10は、コード群の輪郭が正方形又は長方形又は平行四辺形又は三角形であれば、各コードを複数の集合体に精度良く分類して、推測領域を決定できる。なお、コード群の輪郭が平行四辺形の場合には、交差角は2つの角度を有する。また、コード群の輪郭が三角形の場合には、交差角は3つの角度を有する。
また、上記以外の多角形に対しては、精度の低下や計算量の増加はあるものの、各コードを複数の集合体に分類して、推測領域を決定できる。
2次元アレイ状に配置された複数の前記コードを含むコード群の輪郭を規定する交差する2本の直線がなす交差角度で交差する2本の直線の傾きを求める方法として、他の方法を用いることができる。以下、他の方法を用いる例として、変形例1及び変形例2を説明する。
図29は、第2実施形態の変形例1を説明する図である。
変形例1では、コード群の画像は、コード群の輪郭の4つの各隅部にマーカが配置されて撮像されている。マーカの画像40を、以下、単にマーカともいう。
解析装置10は、2つのマーカ40の中心を結ぶ直線の内、交差角度で交差する2本の直線の傾きを求め、コード群の輪郭を規定する交差する2本の直線がなす交差角度で交差する2本の直線L1,L2の傾きとする。
マーカは、コードと共に撮像されたものである。例えば、図1に示すように、箱にコードが配置されている場合には、棚の枠内に、箱を縦方向及び横方向に積み上げて並べておき、棚の枠の4隅にマーカを配置して、マーカを含むコード群を撮像することができる。
4つのマーカ40は、コード群の輪郭を形成するように配置されることが好ましい。また、コード群の対角線上に位置しない2つのマーカ40を結んだ直線は、コード群の輪郭を規定する直線と平行になるように、各マーカ40が配置されることが好ましい。
4つのマーカは全て同じパターンである必要はないが、位置検出パターンのようにカメラで認識されやすい形状・デザインであることが好ましい。以上が、変形例1の説明である。
図30は、第2実施形態の変形例2を説明する図である。
変形例2では、解析装置10は、コード群の輪郭の4つの隅部を形成するコードである4つの隅コードの位置を示す中心の座標に基づいて、2つのコードの中心の座標を結ぶ直線の内、交差角度で交差する2本の直線の傾きを求めて、コード群の輪郭を規定する交差する2本の直線がなす交差角度で交差する2本の直線L1,L2の傾きとする。
まず、解析装置10は、認識したコードすべての中心の座標のうち、最大のx座標、最大のy座標、最小のx座標、最小のy座標を有する4つのコードを隅コードとして選択する。
次に、図30に示すように、解析装置10は、隅コードの中心の座標同士を直線で結び、その中から最短の4本の直線を選択する。
次に、解析装置10は、選定された4本の直線の内で、交差角度で交差する2本の直線の傾きを求める。以上が、変形例2の説明である。
本発明では、上述した実施形態の方法、装置及びプログラムは、本発明の趣旨を逸脱しない限り適宜変更が可能である。また、一の実施形態が有する構成要件は、他の実施形態にも適宜適用することができる。
10 解析装置
11 演算部
12 記憶部
12a 記憶媒体
13 操作部
14 表示部
15 通信部
16 撮像部
20 コード
30 画像
31 コードの画像
32 推測領域
L1,L2 コード群の輪郭を規定する直線
40 マーカの画像
100 箱
110 解析装置
120 コード
120a コード
130 画像

Claims (12)

  1. 2次元アレイ状に配置された情報を含む複数のコードを撮像した画像から、前記コードとして認識された前記コードの位置を求め、
    所定の位置関係にある前記コードが同じ集合体に含まれるように、各前記コードの位置に基づいて、各前記コードを複数の集合体に分類し、
    各前記集合体に含まれる前記コードの数を比較して、他の前記集合体よりも前記コードの数が少ない前記集合体を選択し、
    選択された前記集合体が位置する前記画像内の領域から、認識されない前記コードが存在すると推測される推測領域を決定することを、演算部が実行する方法。
  2. 前記画像は、2次元アレイ状に配置された複数の前記コードを含むコード群の輪郭を規定する2本の交差する直線を、前記画像のx軸及びy軸の方向と一致させるように撮像されており、
    複数の前記集合体は、前記画像のx軸が複数に分割された領域と対応するように形成された複数の集合体Xと、前記画像のy軸が複数に分割された領域と対応するように形成された複数の集合体Yとを有し、
    前記演算部は、
    前記コードの位置を示す代表位置のx座標が所定の範囲内にある前記コードが同じ前記集合体Xに含まれるように、各前記コードを複数の前記集合体Xに分類し、
    前記コードの位置を示す代表位置のy座標が所定の範囲内にある前記コードが同じ前記集合体Yに含まれるように、各前記コードを複数の前記集合体Yに分類する請求項1に記載の方法。
  3. 複数の前記集合体Xは、前記画像のx軸が前記コードのx軸方向の寸法と対応するように複数に分割された領域と対応するように形成され、
    複数の前記集合体Yは、前記画像のy軸が前記コードのy軸方向の寸法と対応するように複数に分割された領域と対応するように形成される請求項2に記載の方法。
  4. 前記演算部は、
    前記コードを、前記コードの前記代表位置のx座標の順番にソートし、
    複数の前記集合体Xに、各前記コードを分類し、
    前記コードを、前記コードの前記代表位置のy座標の順番にソートし、
    複数の前記集合体Yに、各前記コードを分類する請求項3に記載の方法。
  5. 前記演算部は、
    各前記集合体Xに含まれる前記コードの数を比較して、他の前記集合体Xよりも前記コードの数が少ない前記集合体Xである集合体Xaを選択し、
    各前記集合体Yに含まれる前記コードの数を比較して、他の前記集合体Yよりも前記コードの数が少ない前記集合体Yである集合体Ybを選択し、
    前記集合体Xaに含まれる前記コードの前記代表位置のx座標の平均値である平均x座標と、前記集合体Ybに含まれる前記コードの前記代表位置のy座標の平均値である平均y座標とを含むように、前記推測領域を決定する請求項2〜4の何れか一項に記載の方法。
  6. 前記演算部は、
    選択された前記集合体が含む前記コードを、前記コードの位置に基づいて並べ、隣接する前記コード同士の間の距離を求めて、最大の距離を示した隣接する前記コードの間の領域を含むように前記推測領域を決定する請求項1又は2に記載の方法。
  7. 2次元アレイ状に配置された複数の前記コードを含むコード群の輪郭は3角形又は4角形の形状を有し、
    前記演算部は、
    2次元アレイ状に配置された複数の前記コードを含むコード群の輪郭を規定する交差する2本の直線がなす交差角度で交差する2本の直線の傾きを求め、
    求めた2本の直線の傾きの内の一の傾きを用いて、一の前記コードを通る直線を作成し、この直線が通る前記コードを同じ集合体に分類し、
    前記一の傾きを用いて、前記集合体に分類されていない他の前記コードを通る直線を作成し、この直線が通る前記コードを同じ集合体に分類することを繰り返して、各前記コードを複数の前記集合体に分類する請求項1又は6に記載の方法。
  8. 前記演算部は、
    前記コード群の輪郭の一の隅部を形成する前記コードである隅コードと、前記隅コードの周りに位置する一の前記コードを通る第1直線を作成し、且つ、前記隅コードと、前記隅コードの周りに位置する他の前記コードを通る第2直線を作成し、
    前記第1直線及び前記第2直線が前記隅コードで交差する角度を求め、求めた角度が、前記交差角度と所定の範囲内で一致する角度で交差する前記第1直線及び第2直線を選択し、
    選択された前記第1直線及び第2直線の傾きを求める請求項7に記載の方法。
  9. 前記画像は、前記コード群の輪郭の隅部にマーカが配置されて撮像されており、
    前記演算部は、
    2つの前記マーカを結ぶ直線の内、前記交差角度で交差する2本の直線の傾きを求める請求項7に記載の方法。
  10. 前記演算部は、
    前記コード群の輪郭の隅部を形成する前記コードである隅コードの位置を示す代表位置に基づいて、2つの前記代表位置を結ぶ直線の内、前記交差角度で交差する2本の直線の傾きを求める請求項7に記載の方法。
  11. 2次元アレイ状に配置された情報を含む複数のコードを撮像した画像から、前記コードとして認識された前記コードの位置を求め、
    所定の位置関係にある前記コードが同じ集合体に含まれるように、各前記コードの位置に基づいて、各前記コードを複数の集合体に分類し、
    各前記集合体に含まれる前記コードの数を比較して、他の前記集合体よりも前記コードの数が少ない前記集合体を選択し、
    選択された前記集合体が位置する前記画像内の領域から、認識されない前記コードが存在すると推測される推測領域を決定する、演算部を備える装置。
  12. 2次元アレイ状に配置された情報を含む複数のコードを撮像した画像から、前記コードとして認識された前記コードの位置を求め、
    所定の位置関係にある前記コードが同じ集合体に含まれるように、各前記コードの位置に基づいて、各前記コードを複数の集合体に分類し、
    各前記集合体に含まれる前記コードの数を比較して、他の前記集合体よりも前記コードの数が少ない前記集合体を選択し、
    選択された前記集合体が位置する前記画像内の領域から、認識されない前記コードが存在すると推測される推測領域を決定することを、コンピュータに実行させるプログラム。
JP2014208272A 2014-10-09 2014-10-09 2次元アレイ状に配置された情報を含む複数のコードを撮像した画像から認識されないコードが存在すると推測される推測領域を決定する方法、装置及びプログラム Active JP6370188B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014208272A JP6370188B2 (ja) 2014-10-09 2014-10-09 2次元アレイ状に配置された情報を含む複数のコードを撮像した画像から認識されないコードが存在すると推測される推測領域を決定する方法、装置及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014208272A JP6370188B2 (ja) 2014-10-09 2014-10-09 2次元アレイ状に配置された情報を含む複数のコードを撮像した画像から認識されないコードが存在すると推測される推測領域を決定する方法、装置及びプログラム

Publications (2)

Publication Number Publication Date
JP2016081080A true JP2016081080A (ja) 2016-05-16
JP6370188B2 JP6370188B2 (ja) 2018-08-08

Family

ID=55958457

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014208272A Active JP6370188B2 (ja) 2014-10-09 2014-10-09 2次元アレイ状に配置された情報を含む複数のコードを撮像した画像から認識されないコードが存在すると推測される推測領域を決定する方法、装置及びプログラム

Country Status (1)

Country Link
JP (1) JP6370188B2 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09114913A (ja) * 1995-10-17 1997-05-02 Casio Comput Co Ltd 読取装置及び情報端末装置
US20070069028A1 (en) * 2004-12-10 2007-03-29 Yaron Nemet System to improve reading performance and accuracy of single or two dimensional data codes in a large field of view
JP2009295108A (ja) * 2008-06-09 2009-12-17 Denso Wave Inc 情報コード読取装置及び情報コード読取方法
JP2012064110A (ja) * 2010-09-17 2012-03-29 Casio Comput Co Ltd 情報読取装置及びプログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09114913A (ja) * 1995-10-17 1997-05-02 Casio Comput Co Ltd 読取装置及び情報端末装置
US20070069028A1 (en) * 2004-12-10 2007-03-29 Yaron Nemet System to improve reading performance and accuracy of single or two dimensional data codes in a large field of view
JP2009295108A (ja) * 2008-06-09 2009-12-17 Denso Wave Inc 情報コード読取装置及び情報コード読取方法
JP2012064110A (ja) * 2010-09-17 2012-03-29 Casio Comput Co Ltd 情報読取装置及びプログラム

Also Published As

Publication number Publication date
JP6370188B2 (ja) 2018-08-08

Similar Documents

Publication Publication Date Title
CN105849774B (zh) 图像对照装置、图像传感器、处理系统、图像对照方法
KR100852656B1 (ko) 이차원 코드 검출 시스템 및 이차원 코드 검출 프로그램
US8590794B2 (en) Barcode recognion method and computer product thereof
US8254683B2 (en) Code image processing method
JP2007508633A (ja) 物体輪郭画像を解析する方法および画像処理装置、物体を検出する方法および画像処理装置、産業用視覚装置、スマートカメラ、画像ディスプレイ、セキュリティシステム、ならびにコンピュータプログラム製品
JP2005173646A (ja) コード種類判別方法、およびコード境界検出方法
US9286669B2 (en) Image processing apparatus, image processing method and program
JP2011191928A (ja) 画像処理方法および画像処理装置
US9946947B2 (en) System and method for finding saddle point-like structures in an image and determining information from the same
JP6278108B2 (ja) 画像処理装置、画像センサ、画像処理方法
US20120105377A1 (en) Apparatus and method for recognizing coordinates
EP2579129A2 (en) Apparatus and method of detecting an input position with display pattern recognition
CN111968185A (zh) 标定板、基于编码定义的九点标定物体抓取方法及系统
WO2016121126A1 (ja) 二次元コード、二次元コード読取装置、及び符号化方法
CN110502948B (zh) 折叠二维码图像的还原方法、还原装置与扫码设备
JP5760220B2 (ja) 距離画像カメラおよびこれを用いた対象物の面形状認識方法
JP6370188B2 (ja) 2次元アレイ状に配置された情報を含む複数のコードを撮像した画像から認識されないコードが存在すると推測される推測領域を決定する方法、装置及びプログラム
JP4398498B2 (ja) コード境界検出方法
CN110543798A (zh) 二维码的识别方法及装置
JP4442512B2 (ja) 情報コード読取装置および情報コード読取方法
JP2014119965A (ja) 情報端末装置及びプログラム並びに認識システム
JP5556382B2 (ja) ワーク段積み状態認識装置
Laureano et al. A topological approach for detection of chessboard patterns for camera calibration
JP6512852B2 (ja) 情報処理装置、情報処理方法
JP5509706B2 (ja) 画像処理装置および画像処理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170901

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180531

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180710

R150 Certificate of patent or registration of utility model

Ref document number: 6370188

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250