JP4102742B2 - 光学的情報読取装置及び画像データ解析方法 - Google Patents
光学的情報読取装置及び画像データ解析方法 Download PDFInfo
- Publication number
- JP4102742B2 JP4102742B2 JP2003394500A JP2003394500A JP4102742B2 JP 4102742 B2 JP4102742 B2 JP 4102742B2 JP 2003394500 A JP2003394500 A JP 2003394500A JP 2003394500 A JP2003394500 A JP 2003394500A JP 4102742 B2 JP4102742 B2 JP 4102742B2
- Authority
- JP
- Japan
- Prior art keywords
- image
- point
- points
- positions
- 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
Links
Images
Landscapes
- Image Analysis (AREA)
Description
このような二次元コードのほとんどは、2000文字以上の情報を記録することができ、バーコードの容量が20文字程度であるのに比べて非常に多くの情報を記録できる。また、バーコードは基本的に英数字のみを扱うのに対し、二次元コードでは漢字やカナの使用も可能である。さらに、二次元コードは高密度印刷が可能であり、一般的な二次元コードは、同じ面積領域であってもバーコードの20〜100倍の記録密度を持っている。
このPDF417は、図22に示すように、コードを画定するために、左右に開始/停止(スタート/ストップ)パターンSta/Stoと呼ばれる特定パターンである垂直方向の黒及び白バーを有し、上記開始/停止パターンのそれぞれ右/左隣りに、具体的な内容データの始まり及び終わりを示す左/右行標識(左/右ローインディケータ)Li/Riを有する。但し、スタート/ストップパターンを除いたコードは、列と行から成り、コードワードと呼ばれるブロックによって構成されるデータセルである。スタート/ストップパターンを除いたコードの大きさは、上記コードワード単位で、列は最小1列、最大30列(スタートからストップパターンの方向)、行は最小3行、最大90行(スタートおよびストップパターンに沿う方向)と規定されている。
このマキシコードは、アメリカ合衆国の宅配業者であるUPS社が、1987年小荷物の管理と仕分け追跡のために開発した二次元コードである。そして現在でも、宅配便の集荷センターにおける行き先の仕分けや、航空機、鉄道あるいは船舶の積み荷における仕分けの管理に多く利用されている。
そして、ファインダパターンFPは、モジュール90個分の面積を持ち、コード記号の中心位置の検出に使用される。
このように複雑なコード記号なので、読み取り・デコードの方法も多く提案されており、最速、最良の方法が模索されている。このような技術としては、例えば特許文献1や特許文献2に記載されたものが挙げられる。
しかしながら、このような方式では、三角関数のような複雑な演算を幾ステップにも亘って行う必要があるため、計算量が多くなり、計算に時間がかかるので、デコードを高速に行うことが困難であるという問題があった。
岡崎彰夫著「ビギナーブックス15 はじめての画像処理技術」,初版,株式会社工業調査会,2000年10月,p.65−67
しかしながら、この方法では、検査線の位置を決めるために、セル配列の行や列の位置を示すタイミングセルを構成する各セルの画像中の位置を正確に解析する必要がある。従って、このようなタイミングセルのないマキシコードの解析には適用できないという問題があった。
KA=(|bm|−|am|)/|ab|…式(A)
(ただし、|ab|は線分abの長さを表す)
と定めるものとして、上記正六角形の6頂点の位置に配置された各基準点の位置定数を求める手段と、上記選択した3点のうち、平行四辺形の対角線にその当する2点の上記画像中における位置をe,g、残り1点の上記画像中における位置をfとし、それら3点の位置定数をそれぞれKE,KF,KGとして、上記読取対象中において上記残り1つの頂点に当たる点Hの位置定数KHをKH=KE−KF+KGと定め、点Hの上記画像中における位置hを、線分egを|gi|/|ei|=(1+KE)/(1+KG)なる割合で分割する点iについて、線分fiを|hi|/|fi|=(1+KF)/(1+KH)なる割合で延長した位置に定める手段とを設け、これらの各手段を用いて上記格子点の位置を順次決定する手段とするとよい。
さらにまた、上記解析手段に、上記画像中において、上記最も細かい格子上に等間隔に所定個数の上記パターンが並んでいると仮定し、各パターンの中心位置を中心として半径が上記パターンよりも若干小さい円の円周上に位置する複数の点における画像データをサンプリングするサンプリング手段と、その手段がサンプリングするパターン1つ分の画像データの値の組み合わせと、上記格子点の位置の補正方向との対応関係を記憶する手段と、上記サンプリング手段がサンプリングした画像データの組み合わせと上記対応関係とから、上記格子点の位置の補正方向を決定し、上記画像中における格子点の位置をその方向に補正する手段とを設けるとよい。
KA=(|bm|−|am|)/|ab|…式(A)
(ただし、|ab|は線分abの長さを表す)
と定めるものとして、上記正六角形の6頂点の位置に配置された各基準点の位置定数を求める手順と、上記選択した3点のうち、平行四辺形の対角線にその当する2点の上記画像中における位置をe,g、残り1点の上記画像中における位置をfとし、それら3点の位置定数をそれぞれKE,KF,KGとして、上記読取対象中において上記残り1つの頂点に当たる点Hの位置定数KHをKH=KE−KF+KGと定め、点Hの上記画像中における位置hを、線分egを|gi|/|ei|=(1+KE)/(1+KG)なる割合で分割する点iについて、線分fiを|hi|/|fi|=(1+KF)/(1+KH)なる割合で延長した位置に定める手順とを上記コンピュータに実行させ、これらの各手順の処理によって上記格子点の位置を順次決定させるようにするとよい。
さらにまた、上記画像中において、上記最も細かい格子上に等間隔に所定個数の上記パターンが並んでいると仮定し、各パターンの中心位置を中心して半径が上記パターンよりも若干小さい円の円周上に位置する複数の点における画像データをサンプリングするサンプリング手順と、その手順においてサンプリングするパターン1つ分の画像データの値の組み合わせと、上記格子点の位置の補正方向との対応関係を記憶しておき、上記サンプリング手順でサンプリングした画像データの組み合わせとその対応関係とから、上記格子点の位置の補正方向を決定し、上記画像中における格子点の位置をその方向に補正する手順とを上記コンピュータに実行させるようにするとよい。
〔第1の実施形態:図1乃至図11〕
まず、この発明の光学的情報読取装置の第1の実施形態であるコードスキャナ(以下「スキャナ」という)について説明するが、そのハードウェア構成について図1及び図2を用いて説明する。図1はそのスキャナの構成を示すブロック図、図2は図1に示したCMOSイメージセンサの構成をより詳細に示すブロック図である。
このスキャナ1は、ニ次元コードを読み取ることができ、設定を変更すればバーコードも読み取ることができるスキャナであり、図1に示すように、光学ヘッド10及びデコーダ30を備え、ホストコンピュータ2に接続されている。この接続は無線であると有線であるとを問わず、スキャナ1によってコード記号を読み取ってデコードした情報が、ホストコンピュータ2に送信され、蓄積及びデータ処理されるものである。
イメージエリア21は、多数のフォトダイオードが配列された受光部であり、CMOSセンサ12で取り込むべき画像はこの部分に結像される。そして、その画像のデータはフォトダイオードに電荷として蓄積され、増幅トランジスタを介して電圧信号として取り出される。CDS回路22はこの信号のノイズを低減させるためのサンプリング処理を行う回路であり、AGC回路23はそのサンプリング後の信号がA/D変換回路24で適正に処理されるよう、基準電圧回路27からの基準電圧によってゲイン調整する回路である。画像取り込みの際に必要な演算の多くはここで行われる。
コマンド・デコーダ回路26は、CPU31からの制御コマンドをデコードし、これに従って各部への制御信号を発する回路である。
基準電圧回路27は、コマンド・デコーダ回路26からの制御信号に従って基準電圧を発生させることにより、AGC回路23におけるゲインのレベルを調整する。
そして、CPU31は、このスキャナ1全体を統括制御する制御手段であり、FPGA32や、CMOSセンサ12の各部の制御も行う。
FPGA32は、CMOSセンサ12によって読み取った画像データに対し、二値化処理,ラプラシアンエッジ強調等の種々の画像処理を行うユニットである。なお、これらの処理を行うユニットとして、FPGA32に代えてASIC(特定用途向け集積回路)やゲートアレイを設けてもよい。また、ソフトウェアを用いて同様の処理を行ってもよい。
まず、イメージエリア21に対して傾いた物体面Lに貼付したコード記号ACを撮像する場合のこれらの位置関係を模式的に示すと、図3に示すようになる。ここで、acがイメージエリア21上に形成されるコード記号ACの像である。一般に、コード記号は位置決め用の特徴的なパターンを有するので、このパターンの端部又は中心が、点Aや点Cであると考えるとよい。このようなパターンの画像中の位置は、画像が多少歪んでいる場合でも容易に認識することができる。
ここで、このコードスキャナにおいては、線分abと線分bcの長さから、物体面Lの傾斜の度合いを求め、これを利用して、コード記号中の各点が撮像された画像中でどの位置に該当するかを求めるようにしている。
ここで、光学的中心面と平行な適当な平面Mを考え、図5に示すように各部の長さ及び角度を定義するものとする。点Dは、点Qを通り、光学的中心面(及び平面M)に垂直な直線と、物体面Lとの交点である。なお、定義から、Y,Z≠0である。また、r1〜r3も0でないとする。
ここで、平面QACと光学的中心面との交線をMNとし、点A,点Cから直線MNに下ろした垂線の足を点A″,C″とすると、上述と同様な導出により、
|ab|/|bc|=|CC″|/|AA″| …式(7)
が得られる。
|AA″|=|AA′|/cosβ,|CC″|=|CC′|/cosβ
であるから、上記式(7)より、
以上から、物体面L上の点A及び点Cが撮像可能な位置にあれば、その位置によらず、必ず上記式(6)が成り立つことがわかる。
(点Xを参照点とした点Yの位置定数)
=(点Yから、点Xを通って光学的中心面に平行な平面(参照面)までの距離)/
(点Xから光学的中心面までの距離) …式(12)
と定義する。ただし、「点Yから参照面までの距離」は、実際の距離に、点Yが参照面に対して光学的中心面と反対側にある場合にプラス、光学的中心面と同じ側に有る場合にマイナスの符号をつけた値とする。
ゆえに、式(10)より、KAとKCの関係は、式(13)のように表わすことができる。
そして、SD/|DB|=SC/|CB|であるから、以下の式(14)が成り立つ。
そして、以上のように求めた点E,F,G,Hの位置定数を用いて、コード記号面中に解析用の格子を形成するための格子点を配置することができる。この場合において、ここでは、上記の基準点(点E,F,G,H)が基準となる格子点であるとし、2つの格子点を結ぶ線分の中点に当たる点の画像中における位置を順次決定していくようにしている。
図9(a)に示すように、コード面上の平行四辺形EFGHの各辺の中点をそれぞれ点J,K,L,Mとすると、これら各点は、図9(b)に示すように、画像中でも対応する各辺上に位置するが、必ずしも中点の位置になるとは限らない。
従って、これらを利用して4つの平行四辺形について同様な計算を行うことにより、さらに各辺の中点の位置定数及び画像中の位置を求めることができるので、コード記号面上で図10に示すような16個の平行四辺形による格子を形成する各格子点の画像中での位置がわかる。なお、破線同士が交わる交点の画像中の位置は、平行四辺形ELIJ等の対角線の交点であることを利用して、線分ljと線分eiとの交点等として求めることができる。その位置定数も、(KE+KI)/2等として求めることができる。
以上の処理を繰り返すことにより、いくらでも細かく格子点の位置を決めることができる。そして、ある程度細かい格子の内部では、コード記号面が撮像面に対して傾いていたとしても、像の歪みはあまり大きくならないので、撮像がコード記号面に平行な面で行われたものとして画像データの解析を行っても歪みは問題とならず、解析に支障がない。
また、ここでは、基準点を平行四辺形の各頂点の位置に設けた場合について説明したが、基準点を平行四辺形のうちの特別な形状である長方形やひし形、正方形の各頂点の位置に設ける場合にも同様な手法が適用できることは、もちろんである。
図11のフローチャートに、その画像データ処理の一例として、読み取った二次元コードのデコードを行う処理を示す。なお、読み取り対象のコードとしては、例えば図23に示したPDF417が考えられ、この場合、基準点としては、スタートパターン及びストップパターンの端部において、長方形の4頂点となる点を採用することができる。また、この処理は、この発明の画像処理方法の第1の実施形態に係る処理である。
そして、まずステップS1で、イメージエリア21上に結像している画像を、画像データとして取り込む。この画像データは、CMOSセンサ12が、イメージエリア21に結像した画像を光電変換して電圧信号として取り出し、デジタル画像データに変換したものである。ここでは、CMOSセンサ12及びCPU31が画像データ取込手段として機能する。また、以下のステップS2乃至S7の処理では、CPU31が解析手段として機能する。
そして、ステップS4で、数16乃至18を用いて説明した手法を用いて、2つの格子点を結ぶ線分の中点に当たる点の画像中の位置を新たな格子点の位置として順次計算して決定し、画像データ中に解析用の格子を設ける。
以上のステップS3及びS4の処理が、第2の位置決定手順の処理であり、ここではCPU31が第2の位置決定手段として機能する。
そして、以下ステップS6乃至S8で、各モジュール位置の画像データの値から、そのモジュールの示す値(2値の場合には0か1)を判定し、誤り訂正のためのリードソロモンデコードを行い、デコードしたデータをホストコンピュータ2に出力する。これらのステップS6乃至S8の処理については、適宜公知の処理を採用すればよい。
なお、リードソロモンデコードは、コードに「汚れ」や「欠け」がある部分に集中して発生する情報の誤り(バースト誤り)の訂正に適した処理であり、誤り訂正のためにコード中に埋め込んでおくリードソロモン符号を用いて行うものである。
また、ハードウェア構成も、上述したものに限られることはない。
次に、この発明の光学的情報読取装置の第2の実施形態であるスキャナについて説明する。このスキャナは、ハードウェア構成については上述した第1の実施形態のものと同様であるので、その部分の説明は省略する。
このスキャナも、撮像時に読み取り対象のコード記号面3がCMOSセンサ12イメージエリア21と平行でなかった場合でもコード記号面3の二次元コードを正確にデコードできるようにした点が特徴であり、このための処理を第1の実施形態の場合と同様な考え方に基づいて行うが、格子点の取り方が異なる。
|gi|/|ei|=(1+KE)/(1+KG) …式(24)
なる割合で分割した点となる。ここで、KEとKGは既知であるので、iの位置は具体的に定めることができる。
|hi|/|fi|=(1+KF)/(1+KH) …式(25)
なる割合で延長した点となる。そして、KFは既知であり、式(23)よりKHも求めることができるので、hの位置は具体的に定めることができる。そして、この点hの位置及び点Hの位置定数を、次の格子点の位置定数及び画像中の位置を求めるために使用することができる。
この実施形態のスキャナ1は、図示しないトリガスイッチ等をオンすると、CPU31が所要のプログラムを実行することにより、図13に示す処理を開始する。
そして、まずステップS101で、図11のステップS1の場合と同様に、イメージエリア21上に結像している画像を、画像データとして取り込む。そして、ここではCMOSセンサ12及びCPU31が画像データ取込手段として機能し、以下のステップS102乃至S108の処理では、CPU31が解析手段として機能する。
その後、ステップS104で各基準点の画像中の位置を正確化する。このコードスキャナでは、基準点の外側に格子点を取っていくので、基準点の位置にずれがあると後の処理に影響が大きいため、このような処理を設けたものである。なお、ここで正確化の対象となるのは、各方向パターンに対応する基準点のみとしている。これは、ファインダパターンは他の部分とは際立って異なるパターンであり、その中心位置は比較的正確に検知できると考えられるためである。
すなわち、この処理においては、まずステップS201で、各基準点の画像中での位置から、各基準点の位置定数を求める。
上記のように基準点を定めると、線分P1P4,P2P5,P3P6の中点は全て点Oとなる。従って、これらの線分について上述した式(11)を適用すると、点P1乃至P6の、参照点を点Oとする位置定数KP1乃至KP6は、上記点L0乃至L6の位置から以下の数22のように定められる。
各基準点の位置関係は図15(a)に示すようになるので、例えば点P3は、点O,P1,P2の3点を3つの頂点とし、線分P2Oを対角線とする平行四辺形の残り1つの頂点に該当する。従って、これらの点について上記の式(23)を適用すると、点P3の位置定数KP3を、KP3 *=KP2−KP1として求めることができる。KP3に付した*は、他の点の位置定数を用いて計算した位置定数であることを示すためのものである。
ここで、仮に各基準点の画像中の位置を完全に正確に求めることができていたとすると、KPNとKPN *(N=1〜6)は一致するはずである。しかし、実際には計測や解析の誤差のため、これらは一致しないことが多い。そこで、これら2つの値の平均を取り、その値を以後の計算に使用するようにしたものである。以後はこの平均値をKPNと表記することにする。
上記のように、点P3は、点O,P1,P2の3点を3つの頂点とし、線分P2Oを対角線とする平行四辺形の残り1つの頂点に該当する。そこで、これらの点について上述の式(23)乃至式(25)を適用すると、点P3の画像中の位置を、図15(b)に示すように、線分LO2L0を所定の割合で分割する点Xについて、線分LO1Xを所定の割合で延長した点の位置として導出することができる。
また、点P4は点P2,点P3,点Oを3つの頂点とする平行四辺形の残り1つの頂点に該当するので、(c)に示すように、検索した点P2の情報と、先ほど求めた点P3の情報とを利用して、点P4の位置定数および画像中の位置を導出することができる。このように求めた画像中の位置は、点LI4となる。
以下同様に、(d)及び(e)に示すように各平行四辺形に式(23)乃至式(25)を適用し、点LI5及び点LI6の位置を求めることができる。
以上でステップS204の処理を終了し、次のステップS205に進む。
すなわち、まず点P2,点P3,点Oの情報をもとに同様な導出を行い、点LII4,点LII5,点LII6,点LII1の位置を求め、さらに、他の4つの組み合わせについても、同様にもとにした3点以外の基準点の画像中の位置を順次導出していく。
以上のステップS204及びS205の処理が、第3の位置決定手順の処理であり、ここではCPU31が第3の位置決定手段として機能する。
例えば、点P1の画像中の位置については、図16に示すように、初めに検索して得た点LO1と、他の基準点の情報から導出したLII1,LIII1,LIV1,LV1の5つの位置情報が得られているので、これら5点の座標を平均してL1の座標を得ることができる。
なお、上記の5つ全ての座標を導出せず、2つ、3つ、あるいは4つの座標のみを導出して平均したとしても、ある程度の効果は得ることができる。
ここで、このステップS105の処理の内容を図18のフローチャートにより詳しく示す。
すなわち、この処理においては、まずステップS301で、初めの基準点O及びP1〜P6の位置定数及び画像中の位置から定められる第1グリッドの各格子点の画像中の位置(及びその演算課程で得られる位置定数)を求める。
また、同様に点Pa2〜Pa6の位置定数及び画像中の位置も導出することができ、これらの点が第1グリッドを構成する格子点となる。なお、第1グリッドは、点Oから各基準点の次に近い格子点の集まりであると言うこともできる。
そしてその後、ステップS303に進んでコード記号の外縁までの格子点の位置を決定したか否か判断するが、ここではまだそこまで処理が進んでいないので、ステップS304に進む。
以上の各点の画像中の位置を導出できると、処理はステップS305に進み、ステップS304で求めた各格子点の位置を調整する。この処理は、ステップS302と同様なものであり、この処理については後に詳述する。
そして、以上により、コード記号面上に図17に示したような格子を構成する各格子点の画像中の位置を決定することができる。
ステップS106では、コード記号面3上の全モジュールの位置を決定するが、このとき、ステップS102乃至S105で位置を決定した格子点によって囲まれる最も細かい格子の内側では、撮像が読取対象のコード記号面3に平行な面で行われたものとし、画像中に同じ大きさのモジュールが等間隔で並んでいるものとして位置を決定する。この場合において、最も細かい格子として、3つの格子点からなる正三角形ではなく、4つの格子点からなる平行四辺形を採用してもよい。
そして、以下ステップS107乃至S109で、各モジュール位置の画像データの値から、そのモジュールの示す値(2値の場合には0か1)を判定し、誤り訂正のためのリードソロモンデコードを行い、デコードしたデータをホストコンピュータ2に出力して処理を終了する。これらの処理については、適宜公知の処理を採用すればよい。
なお、サンプリング位置については、必ずしも8点でなくても、また円周上に等間隔に取らなくても構わないが、後述する調整テーブルの大きさと信頼性を考慮すると、このようにすることが好ましい。
調整対象の格子点が、仮に丁度目標のモジュールの中心に位置している場合には、ステップS401で6等分した辺は各モジュールの中心を通ると考えられるので、ステップS404で画像データを取得した8点は全て1つのモジュール内に位置し、ステップS405で求めた8点の値は、そのモジュールが白であれば全て白、黒であれば全て黒になると考えられる。しかし、調整対象の格子点が目標のモジュールの中心からずれている場合には、図21(c)に示すように、6等分した辺は各モジュールの中心からずれた位置を通るので、N番目のモジュールMNが黒であっても隣のモジュールが白であれば、ステップS405で求めた8点の値の一部は白になってしまう。従って、このような場合には、格子点La1の位置を矢印方向に微調整する必要があることがわかる。
上記の調整テーブルは、ステップS405で求めた8点の値の組み合わせと、このような調整方向との対応関係を示したものである。また、ステップS404で想定したモジュールが白か黒かを示す情報も記載するようにするとよい。
なお、上記の対応関係は、必ずしもテーブル形式で記憶させる必要はない。
ステップS407でNが6より大きければ、ステップS409に進み、ステップS401で採用しなかった方の辺について、ステップS401乃至S409と同様な処理を行う。
なお、この図20の処理において、ステップS404において円周だけでなく円の中心の点の画像データも取得するようにし、調整テーブルを、中心の値と円周上の各点の値との異同の組み合わせと、調整方向との対応関係を示すものとしてもよい。
その後、必要に応じて、数16乃至数18を利用して平行四辺形の各辺の中点の位置定数及び画像中の位置を決定することにより、(g)に示すようにより細かい格子を形成する各格子点の画像中の位置を得ることができる。
なお、この場合において、格子点によって構成される格子は、基準点が構成する平行四辺形のと相似な形状となる。従って、基準点が長方形、ひし形、正方形の頂点に配置されている場合には、格子もその形状となる。また、格子の形状を三角形とすることもできるものとする。
3:コード記号面 10:光学ヘッド
11:レンズ 12:CMOSイメージセンサ
13:ガイド用LED 14:照明用LED
21:イメージエリア 22:CDS回路
23:AGC回路 24:A/D変換回路
25:タイミングジェネレータ
26:コマンド・デコーダ回路
27:基準電圧回路 30:デコーダ
31:CPU 32:FPGA
33:RAM 34:通信I/F
Claims (10)
- 正六角形の6頂点及びその中心の位置に配置された基準点を有する読取対象の情報の画像を撮像し、画像データとして取り込む画像データ取込手段と、該手段が取り込んだ画像データを解析する解析手段とを有する光学的情報読取装置であって、
前記解析手段に、
前記各基準点を格子点とし、撮像した画像中での各格子点の位置を決定する第1の位置決定手段と、
前記読取対象中において、既に前記画像中の位置が決定された格子点の中から選択した3点を3つの頂点とする平行四辺形の残り1つの頂点に当たる点の、前記画像中の位置を、別の格子点の位置として順次決定する第2の位置決定手段と、
前記第1及び第2の位置決定手段が位置を決定した格子点によって囲まれる最も細かい格子の内側では、前記撮像が前記読取対象に平行な面で行われたものとして前記画像データの解析を行う手段とを設けたことを特徴とする光学的情報読取装置。 - 請求項1記載の光学的情報読取装置であって、
前記第2の位置決定手段が、
前記読取対象中における前記正六角形の対角線のうちその中心を通る線の両端の、前記画像中における位置をa,b、前記正六角形の中心の前記画像中における位置をmとし、aと対応する点の位置定数KAを
KA=(|bm|−|am|)/|ab|…式(A)
(ただし、|ab|は線分abの長さを表す)
と定めるものとして、前記正六角形の6頂点の位置に配置された各基準点の位置定数を求める手段と、
前記選択した3点のうち、平行四辺形の対角線に該当する2点の前記画像中における位置をe,g、残り1点の前記画像中における位置をfとし、それら3点の位置定数をそれぞれKE,KF,KGとして、前記読取対象中において前記残り1つの頂点に当たる点Hの位置定数KHを
KH=KE−KF+KG
と定め、点Hの前記画像中における位置hを、線分egを
|gi|/|ei|=(1+KE)/(1+KG)
なる割合で分割する点iについて、線分fiを
|hi|/|fi|=(1+KF)/(1+KH)
なる割合で延長した位置に定める手段とを有し、
これらの各手段を用いて前記格子点の位置を順次決定する手段であることを特徴とする光学的情報読取装置。 - 請求項2記載の光学的情報読取装置であって、
前記第2の位置決定手段が、前記正六角形の隣接する2頂点の位置に配置された基準点について前記式(A)に従って定めた画像中の位置を利用して、その正六角形の他の4つの頂点の位置に配置された基準点の画像中の位置を求める第3の位置決定手段を有し、
前記格子点の位置を順次決定するに際し、前記各基準点の画像中の位置として、前記第3の位置決定手段によって、位置定数を決めようとする基準点を含まない4組の基準点の画像中の位置を利用してそれぞれ求めた4つの画像中の位置と、前記式(A)に従って定めた1つの画像中の位置との平均の位置を用いるようにしたことを特徴とする光学的情報読取装置。 - 請求項1乃至3のいずれか一項記載の光学的情報読取装置であって、
前記読取対象は、所与の情報を示す2色のパターンが規則的に配置されたコードであり、
前記解析手段は、前記画像データを解析してそのコードが示す情報を取得する手段であることを特徴とする光学的情報読取装置。 - 請求項4記載の光学的情報読取装置であって、
前記解析手段に、
前記画像中において、前記最も細かい格子上に等間隔に所定個数の前記パターンが並んでいると仮定し、各パターンの中心位置を中心として半径が前記パターンよりも若干小さい円の円周上に位置する複数の点における画像データをサンプリングするサンプリング手段と、
該手段がサンプリングするパターン1つ分の画像データの値の組み合わせと、前記格子点の位置の補正方向との対応関係を記憶する手段と、
前記サンプリング手段がサンプリングした画像データの組み合わせと前記対応関係とから、前記格子点の位置の補正方向を決定し、前記画像中における格子点の位置をその方向に補正する手段とを設けたことを特徴とする光学的情報読取装置。 - 正六角形の6頂点及びその中心の位置に配置された基準点を有する読取対象の情報の画像を撮像して得た画像データをコンピュータによって解析する画像データ解析方法であって、
前記各基準点を格子点とし、撮像した画像中での各格子点の位置を決定する第1の位置決定手順と、
前記読取対象中において、既に前記画像中の位置が決定された格子点の中から選択した3点を3つの頂点とする平行四辺形の残り1つの頂点に当たる点の、前記画像中の位置を、別の格子点の位置として順次決定する第2の位置決定手順とを前記コンピュータに実行させ、
前記第1及び第2の位置決定手順で位置を決定した格子点によって囲まれる最も細かい格子の内側では、前記撮像が前記読取対象に平行な面で行われたものとして前記コンピュータに前記画像データの解析を行わせることを特徴とする画像データ解析方法。 - 請求項6記載の画像データ解析方法であって、
前記第2の位置決定手順において、
前記読取対象中における前記正六角形の対角線のうちその中心を通る線の両端の、前記画像中における位置をa,b、前記正六角形の中心の前記画像中における位置をmとし、aと対応する点の位置定数KAを
KA=(|bm|−|am|)/|ab|…式(A)
(ただし、|ab|は線分abの長さを表す)
と定めるものとして、前記正六角形の6頂点の位置に配置された各基準点の位置定数を求める手順と、
前記選択した3点のうち、平行四辺形の対角線に該当する2点の前記画像中における位置をe,g、残り1点の前記画像中における位置をfとし、それら3点の位置定数をそれぞれKE,KF,KGとして、前記読取対象中において前記残り1つの頂点に当たる点Hの位置定数KHを
KH=KE−KF+KG
と定め、点Hの前記画像中における位置hを、線分egを
|gi|/|ei|=(1+KE)/(1+KG)
なる割合で分割する点iについて、線分fiを
|hi|/|fi|=(1+KF)/(1+KH)
なる割合で延長した位置に定める手順とを前記コンピュータに実行させ、
これらの各手順の処理によって前記格子点の位置を順次決定させるようにしたことを特徴とする画像データ解析方法。 - 請求項7記載の画像データ解析方法であって、
前記第2の位置決定手順において、前記正六角形の隣接する2頂点の位置に配置された基準点について前記式(A)に従って定めた画像中の位置を利用して、その正六角形の他の4つの頂点の位置に配置された基準点の画像中の位置を求める第3の位置決定手順を前記コンピュータに実行させ、
前記格子点の位置を順次決定するに際し、前記各基準点の画像中の位置として、前記第3の位置決定手順において、位置定数を決めようとする基準点を含まない4組の基準点の画像中の位置を利用してそれぞれ求めた4つの画像中の位置と、前記式(A)に従って定めた1つの画像中の位置との平均の位置を用いるようにしたことを特徴とする画像データ解析方法。 - 請求項6乃至8のいずれか一項記載の画像データ解析方法であって、
前記読取対象は、所与の情報を示す2色のパターンが規則的に配置されたコードであり、
前記解析は、前記画像データを解析してそのコードが示す情報を取得する処理であることを特徴とする画像データ解析方法。 - 請求項9記載の画像データ解析方法であって、
前記画像中において、前記最も細かい格子上に等間隔に所定個数の前記パターンが並んでいると仮定し、各パターンの中心位置を中心して半径が前記パターンよりも若干小さい円の円周上に位置する複数の点における画像データをサンプリングするサンプリング手順と、
該手順においてサンプリングするパターン1つ分の画像データの値の組み合わせと、前記格子点の位置の補正方向との対応関係を記憶しておき、前記サンプリング手順でサンプリングした画像データの組み合わせとその対応関係とから、前記格子点の位置の補正方向を決定し、前記画像中における格子点の位置をその方向に補正する手順とを前記コンピュータに実行させるようにしたことを特徴とする画像データ解析方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003394500A JP4102742B2 (ja) | 2003-11-25 | 2003-11-25 | 光学的情報読取装置及び画像データ解析方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003394500A JP4102742B2 (ja) | 2003-11-25 | 2003-11-25 | 光学的情報読取装置及び画像データ解析方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005157677A JP2005157677A (ja) | 2005-06-16 |
JP4102742B2 true JP4102742B2 (ja) | 2008-06-18 |
Family
ID=34720549
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003394500A Expired - Fee Related JP4102742B2 (ja) | 2003-11-25 | 2003-11-25 | 光学的情報読取装置及び画像データ解析方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4102742B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6491931B2 (ja) * | 2015-04-03 | 2019-03-27 | 株式会社Nttドコモ | 情報処理装置及びプログラム |
DE102021126906A1 (de) | 2021-10-18 | 2023-04-20 | Sick Ag | Kamerabasierter Codeleser und Verfahren zum Lesen optischer Codes |
-
2003
- 2003-11-25 JP JP2003394500A patent/JP4102742B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2005157677A (ja) | 2005-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9451132B2 (en) | System for capturing a document in an image signal | |
US6612497B1 (en) | Two-dimensional-code related method, apparatus, and recording medium | |
KR100309242B1 (ko) | 심벌정보판독장치 | |
KR100275007B1 (ko) | 바코드 판독장치 | |
JP4752413B2 (ja) | 2次元コード分割表示方法、2次元コード読取方法および2次元コード読取装置 | |
US9911072B2 (en) | Two-dimensional code, and two-dimensional-code analysis system | |
JP2006079615A (ja) | Qrコードの位置を確認するための方法、装置、及び記憶媒体 | |
JP2004054529A (ja) | 2次元コード読み取り方法,2次元コード読み取りプログラム,該2次元コード読み取りプログラムの記録媒体及び2次元コード読み取り装置 | |
CN104008359A (zh) | 一种用于qr码识别的精确网格采样方法 | |
US20160283763A1 (en) | Two-dimensional code | |
US9070033B2 (en) | Stack barcode reader and stack barcode reading method | |
JP4951735B2 (ja) | 光学情報読取装置 | |
WO2016166914A1 (ja) | 二次元コード,二次元コード記録担体,二次元コード読取り方法,二次元コード読取用プログラムおよび二次元コード読取り装置 | |
JP2003248792A (ja) | 2次元コードのデコード方法、2次元コードのデコード装置、コンピュータに2次元コードのデコード方法を実行させるためのプログラム、このプログラムを記録した記録媒体 | |
JP2011081832A (ja) | 2次元コード分割表示方法、2次元コード読取方法および2次元コード読取装置 | |
JP4865844B2 (ja) | 二次元コード読取方法及び該二次元コード読取方法で読み取るための二次元コード並びに該二次元コード読取方法を記録した記録媒体 | |
JP2012058776A (ja) | バーコード読取装置およびバーコード読取方法 | |
JP4102742B2 (ja) | 光学的情報読取装置及び画像データ解析方法 | |
JP4102741B2 (ja) | 光学的情報読取装置及び画像データ解析方法 | |
JP5187382B2 (ja) | 2次元コード分割表示方法、2次元コード読取方法および2次元コード読取装置 | |
JP4314148B2 (ja) | 2次元コード読取装置 | |
JPH0437466B2 (ja) | ||
JP4267965B2 (ja) | バーコード読取装置 | |
JPH11316795A (ja) | 二次元コードデコード装置、及び記憶媒体 | |
JP2996243B1 (ja) | 2次元コード読取方法、2次元コード読取装置及び記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20061117 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080312 |
|
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: 20080318 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080324 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110328 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120328 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130328 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130328 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140328 Year of fee payment: 6 |
|
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 |
|
LAPS | Cancellation because of no payment of annual fees |