JP4951735B2 - 光学情報読取装置 - Google Patents

光学情報読取装置 Download PDF

Info

Publication number
JP4951735B2
JP4951735B2 JP2007304021A JP2007304021A JP4951735B2 JP 4951735 B2 JP4951735 B2 JP 4951735B2 JP 2007304021 A JP2007304021 A JP 2007304021A JP 2007304021 A JP2007304021 A JP 2007304021A JP 4951735 B2 JP4951735 B2 JP 4951735B2
Authority
JP
Japan
Prior art keywords
cell
curve
bending distortion
straight line
dimensional code
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
JP2007304021A
Other languages
English (en)
Other versions
JP2009129222A (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.)
Denso Wave Inc
Original Assignee
Denso Wave Inc
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 Denso Wave Inc filed Critical Denso Wave Inc
Priority to JP2007304021A priority Critical patent/JP4951735B2/ja
Publication of JP2009129222A publication Critical patent/JP2009129222A/ja
Application granted granted Critical
Publication of JP4951735B2 publication Critical patent/JP4951735B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、POS、OA、FAなどの分野で、QRコード(登録商標)、Data Matrix等の二次元コードを読み取りコンピュータへ自動的に情報を入力する光学情報読取装置に関するものである。
二次元コードの読取りは、仰角・傾角(エリアセンサ面とコード面がなす角度)などでコードが歪んだ状態で画像が取込まれるのが一般的である。この歪みを補正する為に、QRコードでは、コード内に一定間隔でアライメントパターンが配置されている。特許文献1に示されているようにQRコードの外形から推定したアライメントパターンの中心位置から実際のアライメントパターンの中心位置を検出し、このアライメントパターンで囲まれるブロックをセル数に応じて等分割して各セルの中心位置を求めていた。この方式は、図20(A)に示すQRコードが図20(B)に示すように台形状に歪む線形歪みに対しては有効である。特許文献2には、マーカを撮像してQRコード上のマーカの形状から読取り対象面の傾き、曲面の歪みを特定する技術が記載されている。
特開平10−208001号公報 特開2006−172077号公報
しかしながら、特許文献1に示されているの読み取り方法では、図20(C)に示すような曲面歪みに対して非常に弱く、飲料缶等の直径が比較的大きな対象物に付された二次元コードには対応可能であるが、例えば、試験管等等の小径の管状物に付された二次元コードでは曲面歪みが大きくなり、読み取ることができなかった。特許文献2では、図21のように読取り対象物が小さく、QRコードにマーカが当たらないと歪みを特定することができない。またこの方法では、正確に歪み量を検出するにはマーカ形状に制約があり、さらにマーカ画像を取得し、形状を推定してからコード画像を取得する為、読み取り時間が長くなるという問題がある。
本発明は、上述した課題を解決するためになされたものであり、その目的とするところは、湾曲歪み大きな二次元コードを読み取ることができる光学情報読取装置を提供することにある。
上記目的を達成するため、請求項1の発明は、二次元コードに記憶されている情報を光学的に読み取り、記録されている情報を出力する光学情報読取装置10において:
二次元コードの機能セルを検出する機能セル検出手段(S14)と;
二次元コードで一直線上に配置されている少なくとも3個の機能セルを結ぶ線が直線から所定範囲内に有るか否かにより湾曲歪みの有無を判定する湾曲歪み判定手段(S24)と;
湾曲歪みが有る場合に、前記一直線上に配置されている機能セルの位置関係から二次元コードの湾曲歪みに対応する曲線を求める曲線検出手段(S20、S208、S214、S216)と;
湾曲歪みが水平方向に生じている場合には、垂直方向のタイミングパターンの各セルから前記曲線上に、当該タイミングパターンのセルの水平方向に位置するデータセルの位置座標を決定し、湾曲歪みが垂直方向に生じている場合には、水平方向のタイミングパターンの各セルから前記曲線上に、当該タイミングパターンのセルの垂直方向に位置するデータセルの位置座標を決定するデータセル座標決定手段(S334)と;
前記決定された位置座標での明暗状態から各データセルの明暗を決定してデコードを行うデコード手段(S38)と;を備えることを技術的特徴とする。
請求項2の発明は、二次元コードに記憶されている情報を光学的に読み取り、記録されている情報を出力する光学情報読取装置10において:
二次元コードの機能セルを検出する機能セル検出手段(S14)と;
二次元コードの機能セルから成る外周の各辺が、外周の各辺を結ぶ直線から所定範囲内に有るか否かにより湾曲歪みの有無を判定する湾曲歪み判定手段(S24)と;
湾曲歪みが有る場合に、直線から所定範囲内に無いと判断された辺の形状から二次元コードの湾曲歪みに対応する曲線を求める曲線検出手段(S20、S208、S214、S216)と;
湾曲歪みが水平方向に生じている場合には、垂直方向のタイミングパターンの各セルから前記曲線上に、当該タイミングパターンのセルの水平方向に位置するデータセルの位置座標を決定し、湾曲歪みが垂直方向に生じている場合には、水平方向のタイミングパターンの各セルから前記曲線上に、当該タイミングパターンのセルの垂直方向に位置するデータセルの位置座標を決定するデータセル座標決定手段(S334)と;
前記決定された位置座標での明暗状態から各データセルの明暗を決定してデコードを行うデコード手段(S38)と;を備えることを技術的特徴とする。
請求項3の発明は、二次元コードに記憶されている情報を光学的に読み取り、記録されている情報を出力する光学情報読取装置10において:
二次元コードの機能セルを検出する機能セル検出手段(S14)と;
二次元コードで一直線上に配置されている少なくとも3個の機能セルを結ぶ線が直線から所定範囲内に有るか否かにより湾曲歪みの有無を判定する湾曲歪み判定手段(S24)と;
湾曲歪みが有る場合に、前記一直線上に配置されている機能セルの位置関係から二次元コードの湾曲歪みに対応する曲線を求める曲線検出手段(S20、S208、S214、S216)と;
湾曲歪みが水平方向及び垂直方向に生じている場合に、垂直方向のタイミングパターンの各セルから前記曲線上に、当該タイミングパターンのセルの水平方向に位置するデータセルの位置座標決定、又は、水平方向のタイミングパターンの各セルから前記曲線上に、当該タイミングパターンのセルの垂直方向に位置するデータセルの位置座標決定の少なくとも一方を行うデータセル座標決定手段(S408、S410)と;
前記決定された位置座標での明暗状態から各データセルの明暗を決定してデコードを行うデコード手段(S38)と;を備えることを技術的特徴とする。
請求項1の光学情報読取装置では、二次元コードで一直線上に配置されている少なくとも3個の機能セルを結ぶ線が直線から所定範囲内に有るか否かにより湾曲歪みの有無を判定する。一直線上に配置されている機能セルの位置が大きく直線から外れているかに基づくため、二次元コードに湾曲歪みが有るかを適切に判断することができる。
そして、湾曲歪みが有る場合に、一直線上に配置されている機能セルの位置関係から二次元コードの湾曲歪みを求めるため、直線上の機能セルの位置の湾曲の仕方から二次元コードの湾曲歪みを適切に求めることができる。そして、湾曲歪みが水平方向に生じている場合には、垂直方向のタイミングパターンの各セルから当該曲線上に、当該タイミングパターンのセルの水平方向に位置するデータセルの位置座標を決定し、湾曲歪みが垂直方向に生じている場合には、水平方向のタイミングパターンの各セルから当該曲線上に、当該タイミングパターンのセルの垂直方向に位置するデータセルの位置座標を決定し、決定された位置座標での明暗状態から各データセルの明暗を決定してデコードを行う。このため、湾曲歪みにより変位したデータセルの座標を求めることができ、適正にデータセルに対してデコードを行うことが可能になる。
請求項2の光学情報読取装置では、二次元コードの機能セルから成る外周の各辺が、外周の各辺を結ぶ直線から所定範囲内に有るか否かにより湾曲歪みの有無を判定する。直線状の外周各辺が大きく直線から外れているかに基づくため、二次元コードに湾曲歪みが有るかを適切に判断することができる。
そして、湾曲歪みが有る場合に、直線から所定範囲内に無いと判断された辺の形状から二次元コードの湾曲歪みに対応する曲線を求めるため、直線状の辺の湾曲の仕方から二次元コードの湾曲歪みを適切に求めることができる。そして、湾曲歪みが水平方向に生じている場合には、垂直方向のタイミングパターンの各セルから当該曲線上に、当該タイミングパターンのセルの水平方向に位置するデータセルの位置座標を決定し、湾曲歪みが垂直方向に生じている場合には、水平方向のタイミングパターンの各セルから当該曲線上に、当該タイミングパターンのセルの垂直方向に位置するデータセルの位置座標を決定し、決定された位置座標での明暗状態から各データセルの明暗を決定してデコードを行う。このため、湾曲歪みにより変位したデータセルの座標を求めることができ、適正にデータセルに対してデコードを行うことが可能になる。
請求項3の光学情報読取装置では、二次元コードで一直線上に配置されている少なくとも3個の機能セルを結ぶ線が直線から所定範囲内に有るか否かにより湾曲歪みの有無を判定する。一直線上に配置されている機能セルの位置が大きく直線から外れているかに基づくため、二次元コードに湾曲歪みが有るかを適切に判断することができる。湾曲歪みが有る場合に、一直線上に配置されている機能セルの位置関係から二次元コードの湾曲歪みに対応する曲線を求めるため、直線上の機能セルの位置の湾曲の仕方から二次元コードの湾曲歪みを適切に求めることができる。
湾曲歪みが水平方向及び垂直方向に生じている場合に、垂直方向のタイミングパターンの各セルから上記曲線上に、当該タイミングパターンのセルの水平方向に位置するデータセルの位置座標決定、又は、水平方向のタイミングパターンの各セルから上記曲線上に、当該タイミングパターンのセルの垂直方向に位置するデータセルの位置座標決定の少なくとも一方を行う。そして、決定された位置座標での明暗状態から各データセルの明暗を決定してデコードを行う。このため、湾曲歪みが水平方向及び垂直方向に生じている場合に対応することが可能となる。
請求項4の光学情報読取装置では、二次元コードで一直線上に配置されている少なくとも3個の機能セルを結ぶ曲線と、当該少なくとも3個の両端に位置する機能セルを結ぶ直線との最大距離が所定範囲内に有るか否かにより湾曲歪みの有無を判定する。一直線上に配置されている機能セルを結ぶ曲線と、両端に位置する機能セルを結ぶ直線との最大距離が大きいか否かに基づくため、二次元コードに湾曲歪みが有るかを適切に判断することができる。
請求項5の光学情報読取装置では、二次元コードの機能セルから成る外周の各辺により構成される曲線と、当該各辺の両端のセルを結ぶ直線との最大距離が所定範囲内に有るか否かにより湾曲歪みの有無を判定する。直線状の辺により構成される曲線と、辺の両端に位置する機能セルを結ぶ直線との最大距離が大きいか否かに基づくため、二次元コードに湾曲歪みが有るかを適切に判断することができる。
請求項6の光学情報読取装置では、二次元コードで直線上に配置されている機能セルを結ぶ曲線と、直線との最大距離がセル幅の0.5倍以上である場合に、湾曲歪み有りとして、湾曲歪みに対する湾曲補正のための処理を取る。ここで、湾曲歪みがセル幅の0.5倍未満であれば、湾曲歪みに対する湾曲補正のための処理を行わなくても、機能セルに基づき決定した座標が各データセル内に存在しているため、各データセルの明暗を決定してデコードを行うことができる。このため、湾曲歪みに対する処理の必要性を適切に判断し、必要な場合のみに湾曲補正のための処理を行うことが可能となる。
請求項7の光学情報読取装置では、二次元コードで一直線上に配置されている少なくとも3個の前記機能セルを結ぶ曲線の近似式を求めることで、二次元コードの湾曲歪みに対応する曲線を求める。このため、直線上に配置された機能セルの位置の湾曲具合から二次元コードの湾曲歪みを適切に求めることができる。
請求項8の光学情報読取装置では、タイミングセルを検出する時に、タイミングセルの検出できない領域に対して、当該領域に対応するセル数で等分割することで対応する。このため、タイミングセルの検出できない領域が発生しても、タイミングパターンの各セルから当該曲線上に、当該タイミングパターンのセルの垂直・垂直方向に位置するデータセルの位置座標を決定することができる。このため、湾曲歪みにより変位したデータセルの座標を求めることができ、適正にデータセルに対してデコードを行うことが可能になる。
以下、本発明の光学情報読取装置の実施形態について図を参照して説明する。まず、第1実施形態に係る光学情報読取装置の回路構成を図1のブロック図を参照して説明する。
光学情報読取装置10には、回路部20が設けられている。回路部20は、主に、発光ダイオード21、集光レンズ24、受光センサ23、結像レンズ27等の光学系と、メモリ35、制御回路40、キースイッチ50、トリガースイッチ22、液晶表示器46等のマイクロコンピュータ(以下「マイコン」という)系と、から構成されている。
まず、光学系から説明する。発光ダイオード21は、照明光Lfを照射可能な光照射器として機能するもので、拡散レンズと凸レンズとを組み合わせた集光レンズ24により集光させる。受光センサ23は、読取対象物RやQRコードQに照射されて反射した反射光Lrを結像レンズ27を介して受光可能に構成されるイメージセンサから成る。結像レンズ27は、外部から入射する入射光を集光して受光センサ23の受光面23aに像を結像可能な結像光学系として機能するもので、例えば、鏡筒とこの鏡筒内に収容される複数の集光レンズとにより構成されている。
次に、マイコン系の構成概要を説明する。マイコン系は、増幅回路31、A/D変換回路33、メモリ35、アドレス発生回路36、同期信号発生回路38、制御回路40、キースイッチ50、トリガースイッチ22、LED43、ブザー44、液晶表示器46、通信インタフェース48等から構成されている。このマイコン系は、その名の通り、マイコン(情報処理装置)として機能し得る制御回路40およびメモリ35を中心に構成されるもので、前述した光学系によって撮像された画像信号をハードウェア的およびソフトウェア的に信号処理し得るものである。また制御回路40は、当該光学情報読取装置10の全体システムに関する制御も行っている。
光学系の受光センサ23から出力される画像信号(アナログ信号)は、増幅回路31に入力されることで所定ゲインで増幅された後、A/D変換回路33に入力されると、アナログ信号からディジタル信号に変換される。そして、ディジタル化された画像信号、つまり画像データは、メモリ35に入力されて蓄積される。なお、同期信号発生回路38は、受光センサ23およびアドレス発生回路36に対する同期信号を発生可能に構成されており、またアドレス発生回路36は、この同期信号発生回路38から供給される同期信号に基づいて、メモリ35に格納される画像データの格納アドレスを発生可能に構成されている。
制御回路40は、光学情報読取装置10全体を制御可能なマイコンで、CPU、システムバス、入出力インタフェース等からなるもので、メモリ35とともに情報処理装置を構成し得るもので情報処理機能を有する。この制御回路40には、内蔵された入出力インタフェースを介して種々の入出力装置(周辺装置)と接続可能に構成されており、本実施形態の場合、キースイッチ50、トリガースイッチ22、LED43、ブザー44、液晶表示器46、通信インタフェース48等が接続されている。制御回路40は、二次元コードを読み取った結果を、通信インタフェース48を介して図示しないコンピュータ側へ出力するよう構成されている。
引き続き、第1実施形態の光学情報読取装置10によるQRコードの湾曲歪みの補正処理について説明する。この説明に先立ち、QRコードの構造に関して簡単に説明する。
図2(A)はQRコードの構成を示し、図2(B)はQRコードの機能パターンを示している。QRコードは、図2(B)に示すように機能パターンとして、QRコードの位置を検出して外形を切り出すための位置検出パターンPPが、4角の内の3カ所に置かれている。また、アライメントを検出するための位置合せパターンAPが6カ所設けられ、シンボル内のモジュール(セル)座標を決定するための明モジュール(セル)と暗モジュール(セル)との交互列から成るタイミングパターンTPが、位置検出パターンPP間に配置されている。図2(A)に示すように機能パターンを除く位置に、明モジュール(セル)、暗モジュール(セル)からなるデータセル(データモジュール)DSが配置されている。なお、図中では、明瞭化のため、実際のQRコードよりも明モジュール(セル)の比率を暗モジュール(セル)より高くしてある。
図3(A)は湾曲歪みの生じたQRコードを示し、図3(B)は湾曲歪みの生じたQRコードの機能パターンを示している。図中で、例えば、試験管等の小径の円筒物にQRコードが貼られ、大きく湾曲歪みが生じている場合を例示してある。図20(B)を参照して上述したように線形歪みの場合、湾曲歪みでも歪みが小さい場合には、位置合わせパターンAPを用いて、復号ソフトウェアいより画像の座標マップを再編成することができる。しかし、図3中に示すレベルで湾曲歪みが生じると、既存の光学情報読取装置ではQRコードの読み取りができなくなっていた。
このため、第1実施形態の光学情報読取装置10では、二次元コードの画像に湾曲歪みが有るか否かを判断し、湾曲歪みが存在する場合には、湾曲により変位したデータセルの中心座標を求める座標演算処理を行う。
先ず、二次元コードの画像に湾曲歪みが有るか否かを判断について図4(A)を参照して説明する。図4は、図3(A)に示した水平方向への湾曲歪みの生じているQRコードの上部を拡大して示すものである。ここで、左上の位置検出パターンPPの左下端のセルaと、右下端のセルbと、右上の位置検出パターンPPの左下端のセルcと、右下端のセルdとの4点を結ぶ二次曲線fx1(x)を求める。ここでは、4点から二次曲線fx1(x)を求めたが、左上の位置検出パターンPPと右上の位置検出パターンPPとの中間にある位置合せパターンAPの中央の点を用い、5点から二次曲線fx1(x)を求めることも可能である。この二次曲線fx1(x)は、QRコードの湾曲の度合いを表すことになる。
そして、左上の位置検出パターンPPの左下端のセルaと、右上の位置検出パターンPPの右下端のセルdとの2点を結ぶ直線Lを求め、二次曲線fx1(x)と直線Lとの距離の最大値Δdを演算する。この最大値Δdが、セル幅の1/2以上であるか否かにより、二次元コードの画像に補正処理が必要な程度の湾曲歪みが有るか否かを判断する。
即ち、二次元コードで直線上に配置されている機能セルを結ぶ曲線(二次曲線fx1(x))と、直線Lとの最大距離がセル幅の0.5倍以上である場合に、湾曲歪み有りとして、湾曲歪みに対する湾曲補正のための処理を取る。ここで、湾曲歪みがセル幅の0.5倍未満であれば、湾曲歪みに対する湾曲補正のための処理を行わなくても、機能セルに基づき決定した座標が各データセル内に存在しているため、各データセルの明暗を決定してデコードを行うことができる。このため、湾曲歪みに対する処理の必要性を適切に判断し、必要な場合のみに湾曲補正のための処理を行うことが可能となる。
ここでは、水平方向に歪みがある場合を例に取って説明したが、湾曲歪みが有るか否かの判断は垂直方向に対しても行う。この垂直方向に湾曲歪みがあるか否かの判断は、図3(A)中で、左上の位置検出パターンPPの右上端のセルと、右下端のセルと、左下の位置検出パターンPPの右上端のセルと、右下端のセルとの4点を結ぶ二次曲線を求める。そして、左上の位置検出パターンPPの右上端のセルと左下の位置検出パターンPPの右下端のセルとの2点を結ぶ直線との距離の最大値に基づき判断を行う。
引き続き、湾曲歪みが存在する場合の、湾曲により変位したデータセルの中心座標を求める座標演算処理について説明する。ここでは先ず、QRコードをブロックに分けるための曲線を求める。即ち、図4(B)に示すように、二次曲線fx1(x)を垂直方向に移動することで、左中央の位置合せパターンAPの中心セルeと、中中央の位置合せパターンAPの中心セルfと、右中央の位置合せパターンAPの中心セルgの3点を通る二次曲線fx2(x)を求める。ここで、図4(C)中に示すように、右中央の位置合せパターンAPのセルgの中心点CPと、二次曲線fx1(x)を垂直移動させた推定点SPとがずれている場合には、位置合せパターンAPの中心点CP側に修正を掛ける。
次に、図5中に示すように、二次曲線fx2(x)を垂直方向にへ移動し、左下の位置検出パターンPPの左上端のセルiと、右上端のセルjと、中下の位置合せパターンAPの中心セルkと、右下の位置合せパターンAPの中心セルlとの4点を結ぶ二次曲線fx3(x)を求める。
更に、二次曲線fx1(x)を垂直方向に移動し、QRコードの上端の二次曲線fx0(x)を求める。ここでは、左上の位置検出パターンPPの左上端のセルmと、右上端のセルoと、右上の位置検出パターンPPの左上端のセルqと、右上端のセルrとの4点を結ぶ二次曲線fx0(x)を求める。同様に、二次曲線fx3(x)を垂直方向に移動し、QRコードの下端の二次曲線fx4(x)を求める。ここでは、左下の位置検出パターンPPの左下端のセルnと、右下端のセルqとを結ぶ二次曲線fx4(x)を求める。
二次曲線は次式で表される。
Figure 0004951735
なお、二次曲線は最小2乗法を用い次式から求めることができる。
点(x,y)、(x2,y2)、(x3,y3)・・・・・・(xn,yn)を通る2次曲線f(x) = ax2 + bx + cに近似する場合
Figure 0004951735
Eが最小になる係数a,b,cを求める。
Eをa,b,cそれぞれで偏微分して、E=0で得られる連立方程式を解けば
Figure 0004951735
少なくとも、3点を特定すれば二次曲線は求められる。
次に、位置検出パターンPP及び位置合せパターンAPから垂直方向の直線を求める。即ち、左上の位置検出パターンPPの左上端のセルmと左下の位置検出パターンPPの左下端のセルnとを結ぶ直線fy0(y)を求める。同様に、左上の位置検出パターンPPの右上端のセルoと左下の位置検出パターンPPの右下端のセルpとを結ぶ直線fy1(y)を求め、中上の位置合せパターンAPの中心セルhと中下の位置合せパターンAPの中心セルkとを結ぶ直線fy2(y)を求め、右上の位置検出パターンPPの左上端のセルqと右下の位置合せパターンAPの中心セルlとを結ぶ直線fy3(y)を求め、右上の位置検出パターンPPの右上端のセルrと右下端のセルdとを結ぶ直線fy4(y)を求める。
直線は次式で表される。
Figure 0004951735
図5中に示すように、二次曲線fx1(x)〜fx4(x)及びfy0(y)〜fy4(y)によって、QRコードをブロック領域A1〜A13の13個の領域に分割する。図6(B)は、領域A4を拡大して示す。水平方向のタイミングパターンTPのセルの中心間隔を二次曲線fx1(x)に沿って求める。ここで、タイミングパターンの存在しない左上の位置検出パターンPPに関しては、図6(A)に示すように左端下のセルa、左側白の幅に対応するセルs、3セル分の黒に対応させ黒幅を3分割したセルt、u、v、右側白の幅に対応するセルw、右端下のセルbを、それぞれ、タイミングパターンのセルと同様にして求める。この求めたそれぞれの中心間隔に対応する比で、二次曲線fx1(x)及び二次曲線fx2(x)を分割する。二次曲線fx1(x)を分割した各点(セル中央位置)a〜Pと、二次曲線fx2(x)を分割した各点(セル中央位置)a'〜P'とを結ぶ線分を求める。
更に、図7(B)に示すように、垂直方向のタイミングパターンTPの各セルに対応するように二次曲線fx1(x)をそれぞれ求め、それぞれの二次曲線fx1(x)と、上述した二次曲線fx1(x)の各点a〜Pと二次曲線fx2(x)の各点a'〜P'とを結ぶ線分との交点から、各データセルの中心座標を求める。なお、垂直方向のタイミングパターンTPが存在しない、左上の位置検出パターンPP及び左中央の位置合せパターンAPに関しては、図6(A)を参照して上述したと同様に処理を行う。
ここで、タイミングパターンのセルが検出異常の場合の対応処理について、図8(A)を参照して説明する。例えば、位置検出パターンPPの右端下のセルbと位置合せパターンAPの中央のセルhとの間のタイミングパターンTPで、途中のセルが暗が続き、明が検出できない箇所(図中F−F)は、位置検出パターンPPの右端下のセルb側からタイミングパターンのセルを検出すると共に、位置合せパターンAPの中央のセルh側からもタイミングパターンのセルを検出する。そして、検出されたセル幅(中心間隔)で、明が検出できない箇所(図中F−F)を等分割することで対応する。
第1実施形態では、タイミングセルの検出できない領域が発生しても、タイミングパターンの各セルから当該曲線上に、当該タイミングパターンのセルの垂直・垂直方向に位置するデータセルの位置座標を決定することができる。このため、湾曲歪みにより変位したデータセルの座標を求めることができ、適正にデータセルに対してデコードを行うことが可能になる。
図8(B)は、タイミングパターンのセルが検出異常の場合の改変例の処理を示している。セル幅(中心間隔)で、交互の明暗が検出できない領域を等分割することで対応できる。
上述した例では、QRコードの湾曲歪みへの対応に関して説明したが、第1実施形態の光学情報読取装置10は、種々の二次元コードに対応することができる。図11(A)はData Matrixコードの構成を示し、図11(B)はData Matrixコードの機能パターンを示している。図12(A)は湾曲歪みの生じたData Matrixコードを示し、図12(B)は湾曲歪みの生じたData Matrixコードの機能パターンを示している。Data Matrixコードでは、図11(B)に示すように機能パターンとして、Data Matrixコードの位置を検出して外形を切り出すための位置検出パターンPPが、外周4辺の内の2辺を構成するL字状に置かれる。また、アライメントを検出するための位置合せパターンAPが十字状に設けられ、シンボル内のモジュール(セル)座標を決定するための明モジュール(セル)と暗モジュール(セル)との交互列から成るタイミングパターンTPが、位置検出パターンPPの設けられない外周の2辺、及び、十字状の位置合せパターンAPに沿って設けられる。図11(A)に示すように機能パターンを除く位置に、明モジュール(セル)、暗モジュール(セル)からなるデータセル(データモジュール)DSが配置されている。なお、図中では、明瞭化のため、実際のData Matrixコードよりも明モジュール(セル)の比率を暗モジュール(セル)より高くしてある。
第1実施形態の光学情報読取装置10では、Data Matrixコードに対して、外周4辺の内の2辺を構成するL字状の位置検出パターンPPの各辺が、隅を結ぶ直線に対して最大距離が0.5セル分以上はなれているか否かにより、湾曲歪みの補正処理が必要か否かを決定する。湾曲歪みが存在する場合の湾曲により変位したデータセルの中心座標を求める座標演算処理に関しては、図2〜図8を参照して上述したQRコードでの処理と同様であるため説明を省略する。
更に、上述した例では、垂直方向又は水平方向の一方へ湾曲歪みしている場合の対応について説明したが。第1実施形態の光学情報読取装置10は、垂直方向及び水平方向に湾曲歪みしている場合にも対応可能である。図13(A)は水平及び垂直方向に湾曲歪みの生じたQRコードを示し、図13(B)は水平及び垂直方向に湾曲歪みの生じたQRコードの機能パターンを示している。図14は、水平及び垂直方向に湾曲いたQRコードの曲率に対応する曲線を求める処理の説明図である。
図7を参照して上述したように、垂直方向又は水平方向の一方へ湾曲歪みしている場合には、二次曲線fx1(x)を中央の二次曲線fx2(x)の位置まで、タイミングパターンのセルに沿って垂直(水平)方向へ平行移動させた。これに対して、垂直方向及び水平方向に湾曲歪みしている場合には、二次曲線fx1(x)と中央の二次曲線fx2(x)との間のセル数をmとし、上半分(m/2)は、上側の二次曲線fx1(x)を下側へ垂直に平行移動させ、下半分(m/2)は、下側二次曲線fx2(x)を上側へ垂直に平行移動させる。同様に、中央の二次曲線fx2(x)と二次曲線fx3(x)との間のセル数をnとし、上半分(m/2)は、上側の二次曲線fx2(x)を下側へ垂直に平行移動させ、下半分(m/2)は、下側の二次曲線fx3(x)を上側へ垂直に平行移動させる。これにより、垂直方向の湾曲歪みによる影響を小さくする。
引き続き、上述した湾曲歪みに対する処理を行い光学情報読取装置10での二次元コードの読み取り処理について、図15〜図19のフローチャートを参照して説明する。
先ず、二次元コードの画像を取り込む(S12)。そして、図2を参照して上述したQRコードに対しては、3個の位置検出パターン(切り出しシンボル)PPを、図11を参照して上述したData Matrixコードに対してはL字状の位置検出パターン(切り出しシンボル)PPをを検出する(S14)。QRコードに対しては、2個の位置検出パターン(切り出しシンボル)PPの間隔からコードセル数を求める(S16)。ここで、Data Matrixコードに対しては、タイミングパターンTPからコードセル数を求める。そして、位置検出パターン(切り出しシンボル)PPの4コーナの座標を求める(S20)。
引き続き、図4(A)を参照して上述したように、水平方向に配置された2個の位置検出パターン(切り出しシンボル)PPの位置から二次曲線fx1(x)を、垂直方向に配置された2個の位置検出パターン(切り出しシンボル)PPの位置から二次曲線fy1(y)を求める(S20)。Data Matrixコードに対しては、L字の位置検出パターン(切り出しシンボル)PPの2辺に対して、二次曲線fx1(x)及び二次曲線fy1(y)を求める。そして、図4(A)を参照して上述した位置検出パターン(切り出しシンボル)PPの両外端を結ぶ直線Lを求め、曲線と直線の最大距離から湾曲歪みを検出する(S22)。続いて、最大距離がセル幅の0.5以上あるか否かにより湾曲歪みの有無を判断する(S24)。湾曲歪みが無い場合には(S24:No)、図20(B)を参照して上述した線形歪みであるとして、線形歪み方式で各セルの中心座標を求める処理を行う(S100)。
線形歪み方式で各セルの中心座標を求める処理について、当該処理のサブルーチンを示す図16、及び、歪みの無いQRコードを示す図9を参照して説明する。
3個の位置検出パターン(切り出しシンボル)PPの位置から6個の位置合せパターン(アライメントパターン)APを検出し(S102)、QRコードの外形を検出し(S104)、図9(A)に示すように13個のブロックに分割する(S106)。そして、図9(B)に示すように各ブロックに対して、各ブロックの4辺をセル数で等分割して各セルの中心座標を求める(S108)。
その後、図15のメイン処理に戻り、各セルの中心座標の諧調データから明/暗セルを決定し(S30)、明/暗セルを所定の規則によりコードワード列に変換する(S32)。そして、誤り訂正を行い(S34)、誤り訂正が可能かを判断し(S36)、誤り訂正が出来ない場合には(S36:No)、S12に戻り再度画像を取り込む。誤り訂正可能な場合には(S36:Yes)、コードワード列を所定の規則により情報に復号(デコード)し、復号結果をコンピュータ側へ送信する(S38)。
一方、上述したS24での湾曲歪みの有無の判断で湾曲歪み有りと判断した場合(S24:Yes)、湾曲歪み方式で各セルの中心座標を求める(S200)。湾曲歪み方式で各セルの中心座標を求める処理について、当該処理のサブルーチンを示す図17、図18、図19を参照して説明する。
上述した水平方向の二次曲線fx1(x)と、垂直方向の二次曲線fy1(y)のいずれが湾曲しているかに基づき、歪みが水平方向かを判断する(S202)。歪みが水平方向の場合(S202:Yes)、変数mを2とする(S204)。そして、図4(B)を参照して上述したように、二次曲線fx1(x)を垂直方向に平行移動することで、左中央(2列目)の位置合せパターン(アライメントパターン)APと、中中央(2列目)の位置合せパターンAPと、右中央(2列目)の位置合せパターンAPとを検出する(S206)。そして、左中央(2列目)の位置合せパターンAPの中心セルeと、中中央(2列目)の位置合せパターンAPの中心セルfと、右中央(2列目)の位置合せパターンAPの中心セルgの3点を通る二次曲線fx2(x)を求める(S208)。次に、変数mに1を加えて3にして(S210)、最下段の位置合せパターン(アライメントパターン)かを判断する(S212)。現在、中央(2列目)の位置合せパターンAPの二次曲線fx2(x)を求めたところであるため(S212:No)、S206に戻り、二次曲線fx2(x)を垂直方向に平行移動することで、図5中に示す中下(3列目)の位置合せパターンAPと、右下(3列目)の位置合せパターンAPとを検出する。そして、左下の位置検出パターンPPの左上端のセルiと、右上端のセルjと、中下(3列目)の位置合せパターンAPの中心セルkと、右下(3列目)の位置合せパターンAPの中心セルlの4点を通る二次曲線fx3(x)を求める(S208)。
そして、S210、S212:Yesを経て、二次曲線fx1(x)を平行移動させてQRコードの上端の二次曲線fx0(x)を求め(S214)、二次曲線fx3(x)を平行移動させてQRコードの下端の二次曲線fx4(x)を求める(S216)。次に、図5、図6(B)を参照して上述したように水平方向のタイミングパターンTPのセルのセル中心間隔を二次曲線fx1(x)上に追跡して求める(S218)。そして、図6(B)を参照して上述したように、水平方向のタイミングパターンTPのセル中心間隔比率で、二次曲線fx0(x)、fx1(x)、fx2(x)、fx3(x)、fx4(x)を分割する(S220)。なお、タイミングパターンのセルが無い所は、図6(A)を参照して上述したように、位置検出パターン(切り出しシンボル)PPの比率を利用して分割する。
水平方向への湾曲があった際の処理に続き、垂直方向へ湾曲があった際の処理を開始する。まず、上述した水平方向の二次曲線fx1(x)と、垂直方向の二次曲線fy1(y)のいずれが湾曲しているかに基づき、歪みが垂直方向かを判断する(S302)。湾曲歪みが垂直方向の場合(S302:Yes)、変数nを2とする(S304)。そして、図10に示すように、二次曲線fy1(x)を水平方向に平行移動することで、上中央(2行目)の位置合せパターン(アライメントパターン)APと、中中央(2行目)の位置合せパターンAPと、下中央(2行目)の位置合せパターンAPとを検出する(図18:S306)。引き続き、上中央(2行目)の位置合せパターンAPの中心セルと、中中央(2行目)の位置合せパターンAPの中心セルと、下中央(2行目)の位置合せパターンAPの中心セルの3点を通る二次曲線fy2(y)を求める(S308)。次に、変数nに1を加えて3にして(S310)、最右端の位置合せパターン(アライメントパターン)かを判断する(S312)。現在、中央(2行目)の位置合せパターンAPの二次曲線fy2(y)を求めたところであるため(S312:No)、S306に戻り、二次曲線fy2(y)を垂直方向に平行移動することで、右上(3行目)の位置合せパターンAPと、右中央(3行目)の位置合せパターンAPとを検出する。そして、右上(3行目)の位置合せパターンAPの中央のセルと、右中央(3行目)の位置合せパターンAPの中央のセルと、右下の位置検出パターンPPの左上端のセルと、左下端のセルとの4点を通る二次曲線fy3(y)を求める(S308)。
そして、S310、S312:Yesを経て、二次曲線fy1(y)を平行移動させてQRコードの左端の二次曲線fy0(y)を求め(S314)、二次曲線fy3(y)を平行移動させてQRコードの右端の二次曲線fy4(y)を求める(S316)。次に、垂直方向のタイミングパターンTPのセルのセル中心間隔を二次曲線fy1(y)上に追跡して求める(S318)。そして、垂直方向のタイミングパターンTPのセル中心間隔比率で、二次曲線fy0(y)、fy1(y)、fy2(y)、fy3(y)、fy4(y)を分割する(S320)。
なお、垂直方向へ湾曲あった場合の曲線fy1(y)は、単純な二次曲線には成らないが、X・Y座標の置き換えにより二次曲線として等価的に表している。
引き続き、水平及び垂直の両方向に湾曲歪みしているか判断し(S322)、両方向に湾曲していない場合には(S322:No)、水平方向が湾曲歪みかを判断する(S324)。図5を参照して上述したように水平に湾曲している場合には(S324:Yes)、図5を参照して上述したように、各列の位置合せパターン(アライメントパターン)APの位置から直線fy0(y)、fy1(y)、fy2(y)、fy3(y)、fy4(y)を求める(S326)。一方、図10を参照して上述したように垂直に湾曲している場合には(S324:No)、各行の位置合せパターン(アライメントパターン)APの位置から直線fx0(x)、fx1(x)、fx2(x)、fx3(x)、fx4(x)を求める(S328)。
そして、図5を参照して上述したように水平湾曲歪みの場合には、二次曲線fx0(x)、fx1(x)、fx2(x)、fx3(x)、fx4(x)と直線fy0(y)、fy1(y)、fy2(y)、fy3(y)、fy4(y)の交点を求め、各ブロック領域A1〜A13を求める(S330)。一方、図10に示すように垂直湾曲歪みの場合には、二次曲線fy0(y)、fy1(y)、fy2(y)、fy3(y)、fy4(y)と直線fx0(x)、fx1(x)、fx2(x)、fx3(x)、fx4(x)の交点を求め、各ブロック領域を求める。そして、図6を参照して上述したように各ブロック領域に対して、タイミングパターンのセルで分割した湾曲歪みの両辺の分割点を結ぶそれぞれの直線を求め、該当するセル数で等分割する(S332)。最後に、図7を参照して上述したように、各ブロック領域の分割した点を結ぶ線を水平(または垂直)方向に引き、交点を求めて各セルの中心座標とする(S334)。これにより、湾曲歪み方式で各セルの中心座標を求めるサブルーチンを完了し、図15に示すメインルーチンに戻り、S30以降で、図9を参照した上述した線形歪みの場合と同様にQRコードのデコード処理を行う。
次に、水平及び垂直の両方向に湾曲歪みしている場合(S322:Yes)の処理について説明する。変数n、変数mを初期化し(S402、S404)、図14に示す二次曲線fx1(x)と中央の二次曲線fx2(x)との間のセル数をmとし、分割されたブロック領域の上半分(m/2)は(S406:Yes)、ブロックの上辺の二次曲線fx1(x)を垂直方向に求めたタイミングパターンのセルのセル間隔分を平行移動させ、水平方向をタイミングパターンのセル間隔比で分割し、各セルの中心座標を求める(S410)。また、分割されたブロック領域の下半分(m/2)は(S406:No)、ブロックの下辺の二次曲線fx2(x)を垂直方向に求めたタイミングパターンのセルのセル間隔分を平行移動させ、水平方向をタイミングパターンのセル間隔比で分割し、各セルの中心座標を求める(S408)。この処理をブロック領域の各タイミングパターンのセルに対して進め(S412、S414:No)、1のブロック領域の処理が終了すると(S414:Yes)、次のブロック領域に対して処理を行う(S416、S418:No)、そして、全てのブロック領域に対して処理を終了により(S418:No)、当該湾曲歪み方式で各セルの中心座標を求めるサブルーチンを完了し、図15に示すメインルーチンに戻り、S30以降で、図9を参照した上述した線形歪みの場合と同様にQRコードのデコード処理を行う。第1実施形態では、ブロック領域を上半分と下半分とに分割し、上半分をブロック領域の上辺の二次曲線を用い、下半分をブロック領域の上辺の二次曲線を用いることで、垂直方向の湾曲歪みによる影響を小さくする。
なお、上述した水平及び垂直の両方向に湾曲歪みしている場合の処理において、水平方向の歪みに対応するようにして対処したが、同様にして垂直方向の歪みに対応するようにすることでも実現可能である。更に、水平方向及び垂直方向の両方にそれぞれ対応させることもできる。
第1実施形態の光学情報読取装置10では、QRコードで一直線上に配置されている少なくとも3個の機能セルを結ぶ線が直線から所定範囲内に有るか否かにより湾曲歪みの有無を判定する(S24)。一直線上に配置されている機能セルの位置が大きく直線から外れているかに基づくため、QRコードに湾曲歪みが有るかを適切に判断することができる。
また、湾曲歪みが無い場合には、線形歪みに対する処理を行うため、通常の線形歪みに対して、読み取り速度を落とす事無くデコードを行うことができる。
そして、QRコードが湾曲歪みが有る場合に、一直線上に配置されている機能セルの位置関係からQRコードの湾曲歪みに対応する曲線を求めるため(S20、S206〜S216)、直線上の機能セルの位置の湾曲の仕方からQRコードの湾曲歪みを適切に求めることができる。そして、湾曲歪みが水平方向に生じている場合には(S202:Yes)、垂直方向のタイミングパターンの各セルから当該曲線上に、当該タイミングパターンのセルの水平方向に位置するデータセルの位置座標を決定する(S334)。湾曲歪みが垂直方向に生じている場合には(S302:Yes)、水平方向のタイミングパターンの各セルから当該曲線上に、当該タイミングパターンのセルの垂直方向に位置するデータセルの位置座標を決定する(S334)。そして、決定された位置座標での明暗状態から各データセルの明暗を決定してデコードを行う(S38)。このため、湾曲歪みにより変位したデータセルの座標を求めることができ、適正にデータセルに対してデコードを行うことが可能になる。
第1実施形態の光学情報読取装置10では、Data Matrixコードの位置検出パターンPP(外周)の各辺が直線から所定範囲内に有るか否かにより湾曲歪みの有無を判定する(S24)。直線状の外周各辺が大きく直線から外れているかに基づくため、Data Matrixコードに湾曲歪みが有るかを適切に判断することができる。
そして、Data Matrixコードが湾曲歪みが有る場合に、直線から所定範囲内に無いと判断された辺の形状からData Matrixコードの湾曲歪みに対応する曲線を求めるため(S20、S206〜S216)、直線状の辺の湾曲の仕方からData Matrixコードの湾曲歪みを適切に求めることができる。そして、湾曲歪みが水平方向に生じている場合には(S202:Yes)、垂直方向のタイミングパターンの各セルから当該曲線上に、当該タイミングパターンのセルの水平方向に位置するデータセルの位置座標を決定する(S334)。湾曲歪みが垂直方向に生じている場合には(S302:Yes)、水平方向のタイミングパターンの各セルから当該曲線上に、当該タイミングパターンのセルの垂直方向に位置するデータセルの位置座標を決定(S334)。そして、決定された位置座標での明暗状態から各データセルの明暗を決定してデコードを行う(S38)。このため、湾曲歪みにより変位したデータセルの座標を求めることができ、適正にデータセルに対してデコードを行うことが可能になる。
湾曲歪みが水平方向及び垂直方向に生じている場合に(S322:Yes)、垂直方向のタイミングパターンの各セルから上記曲線上に、当該タイミングパターンのセルの水平方向に位置するデータセルの位置座標決定を行う(S408、S410)。そして、決定された位置座標での明暗状態から各データセルの明暗を決定してデコードを行う(S38)。このため、湾曲歪みが水平方向及び垂直方向に生じている場合にも対応することが可能となる。
第1実施形態の光学情報読取装置10では、QRコードで一直線上に配置されている少なくとも3個の機能セルを結ぶ曲線と、当該少なくとも3個の両端に位置する機能セルを結ぶ直線との最大距離が所定範囲内に有るか否かにより湾曲歪みの有無を判定する(S24)。一直線上に配置されている機能セルを結ぶ曲線と、両端に位置する機能セルを結ぶ直線との最大距離が大きいか否かに基づくため、QRコードに湾曲歪みが有るかを適切に判断することができる。
第1実施形態の光学情報読取装置10では、Data Matrixコードの位置検出パターンPP(外周)の各辺により構成される曲線と、当該各辺の両端のセルを結ぶ直線との最大距離が所定範囲内に有るか否かにより湾曲歪みの有無を判定する(S24)。直線状の辺により構成される曲線と、辺の両端に位置する機能セルを結ぶ直線との最大距離が大きいか否かに基づくため、Data Matrixコードに湾曲歪みが有るかを適切に判断することができる。
第1実施形態の光学情報読取装置10では、QRコードで一直線上に配置されている少なくとも3個の前記機能セルを結ぶ曲線の近似式を求めることで、QRコードの湾曲歪みに対応する曲線を求める。このため、直線上に配置された機能セルの位置の湾曲具合からQRコードの湾曲歪を適切に求めることができる。
上述した実施形態では、光学情報読取装置がQRコード、Data Matrixコードを読み取る場合を例示したが、本発明の光学情報読取装置は、種々の二次元コードの読み取りに適用可能である。
本発明の第1実施形態に係る光学情報読取装置の回路構成を示すブロック図である。 図2(A)はQRコードの構成を示し、図2(B)はQRコードの機能パターンを示している。 図3(A)は湾曲歪みの生じたQRコードを示し、図3(B)は湾曲歪みの生じたQRコードの機能パターンを示している。 図4(A)は、湾曲の有無を判断するための処理の説明図であり、図4(B)、図4(C)は、湾曲の曲率に対応する曲線を求める処理の説明図である。 湾曲の曲率に対応する曲線を求める処理の説明図である。 湾曲の曲率に対応する曲線からデータセルの座標を求める処理の説明図である。 湾曲の曲率に対応する曲線からデータセルの座標を求める処理の説明図である。 欠落したタイミングパターンのセルを求める処理の説明図である。 湾曲歪みないQRコードのデータセルの座標を求める処理の説明図である。 垂直方向に湾曲したQRコードの曲率に対応する曲線を求める処理の説明図である。 図11(A)はData Matrixコードの構成を示し、図11(B)はData Matrixコードの機能パターンを示している。 図12(A)は湾曲歪みの生じたData Matrixコードを示し、図12(B)は湾曲歪みの生じたData Matrixコードの機能パターンを示している。 図13(A)は水平及び垂直方向に湾曲歪みの生じたQRコードを示し、図13(B)は水平及び垂直方向に湾曲歪みの生じたQRコードの機能パターンを示している。 水平及び垂直方向に湾曲したQRコードの曲率に対応する曲線を求める処理の説明図である。 第1実施形態の光学情報読取装置での処理を示すフローチャートである。 第1実施形態の光学情報読取装置での処理を示すフローチャートである。 第1実施形態の光学情報読取装置での処理を示すフローチャートである。 第1実施形態の光学情報読取装置での処理を示すフローチャートである。 第1実施形態の光学情報読取装置での処理を示すフローチャートである。 図20(A)は歪みの無いQRコードを、図20(B)は線形歪みのあるQRコードを、図20(C)は湾曲歪みのあるQRコードを示す説明図である。 従来技術でのQRコードの撮像画像の説明図である。
符号の説明
10 光学情報読取装置
40 制御回路
46 液晶表示器

Claims (8)

  1. 二次元コードに記憶されている情報を光学的に読み取り、記録されている情報を出力する光学情報読取装置において:
    二次元コードの機能セルを検出する機能セル検出手段と;
    二次元コードで一直線上に配置されている少なくとも3個の機能セルを結ぶ線が直線から所定範囲内に有るか否かにより湾曲歪みの有無を判定する湾曲歪み判定手段と;
    湾曲歪みが有る場合に、前記一直線上に配置されている機能セルの位置関係から二次元コードの湾曲歪みに対応する曲線を求める曲線検出手段と;
    湾曲歪みが水平方向に生じている場合には、垂直方向のタイミングパターンの各セルから前記曲線上に、当該タイミングパターンのセルの水平方向に位置するデータセルの位置座標を決定し、湾曲歪みが垂直方向に生じている場合には、水平方向のタイミングパターンの各セルから前記曲線上に、当該タイミングパターンのセルの垂直方向に位置するデータセルの位置座標を決定するデータセル座標決定手段と;
    前記決定された位置座標での明暗状態から各データセルの明暗を決定してデコードを行うデコード手段と;を備えることを特徴とする光学情報読取装置。
  2. 二次元コードに記憶されている情報を光学的に読み取り、記録されている情報を出力する光学情報読取装置において:
    二次元コードの機能セルを検出する機能セル検出手段と;
    二次元コードの機能セルから成る外周の各辺が、外周の各辺を結ぶ直線から所定範囲内に有るか否かにより湾曲歪みの有無を判定する湾曲歪み判定手段と;
    湾曲歪みが有る場合に、直線から所定範囲内に無いと判断された辺の形状から二次元コードの湾曲歪みに対応する曲線を求める曲線検出手段と;
    湾曲歪みが水平方向に生じている場合には、垂直方向のタイミングパターンの各セルから前記曲線上に、当該タイミングパターンのセルの水平方向に位置するデータセルの位置座標を決定し、湾曲歪みが垂直方向に生じている場合には、水平方向のタイミングパターンの各セルから前記曲線上に、当該タイミングパターンのセルの垂直方向に位置するデータセルの位置座標を決定するデータセル座標決定手段と;
    前記決定された位置座標での明暗状態から各データセルの明暗を決定してデコードを行うデコード手段と;を備えることを特徴とする光学情報読取装置。
  3. 二次元コードに記憶されている情報を光学的に読み取り、記録されている情報を出力する光学情報読取装置において:
    二次元コードの機能セルを検出する機能セル検出手段と;
    二次元コードで一直線上に配置されている少なくとも3個の機能セルを結ぶ線が直線から所定範囲内に有るか否かにより湾曲歪みの有無を判定する湾曲歪み判定手段と;
    湾曲歪みが有る場合に、前記一直線上に配置されている機能セルの位置関係から二次元コードの湾曲歪みに対応する曲線を求める曲線検出手段と;
    湾曲歪みが水平方向及び垂直方向に生じている場合に、垂直方向のタイミングパターンの各セルから前記曲線上に、当該タイミングパターンのセルの水平方向に位置するデータセルの位置座標決定、又は、水平方向のタイミングパターンの各セルから前記曲線上に、当該タイミングパターンのセルの垂直方向に位置するデータセルの位置座標決定の少なくとも一方を行うデータセル座標決定手段と;
    前記決定された位置座標での明暗状態から各データセルの明暗を決定してデコードを行うデコード手段と;を備えることを特徴とする光学情報読取装置。
  4. 前記湾曲歪み判定手段が、二次元コードで一直線上に配置されている少なくとも3個の前記機能セルを結ぶ曲線と、当該少なくとも3個の両端に位置する機能セルを結ぶ直線との最大距離が所定範囲内に有るか否かにより湾曲歪みの有無を判定することを特徴とする請求項1又は請求項3の光学情報読取装置。
  5. 前記湾曲歪み判定手段が、二次元コードの機能セルから成る外周の各辺により構成される曲線と、当該各辺の両端のセルを結ぶ直線との最大距離が所定範囲内に有るか否かにより湾曲歪みの有無を判定することを特徴とする請求項2の光学情報読取装置。
  6. 前記所定範囲が、セル幅の0.5倍であることを特徴とする請求項4又は請求項5の光学情報読取装置。
  7. 前記曲線検出手段が、二次元コードで一直線上に配置されている少なくとも3個の前記機能セルを結ぶ曲線の近似式を求めることで、二次元コードの湾曲歪みに対応する曲線を求めることを特徴とする請求項1又は請求項3の光学情報読取装置。
  8. 機能セル検出手段が、タイミングセルを検出する時に、タイミングセルの検出できない領域に対して、当該領域に対応するセル数で等分割することで対応することを特徴とする請求項1又は請求項2の光学情報読取装置。
JP2007304021A 2007-11-26 2007-11-26 光学情報読取装置 Active JP4951735B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007304021A JP4951735B2 (ja) 2007-11-26 2007-11-26 光学情報読取装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007304021A JP4951735B2 (ja) 2007-11-26 2007-11-26 光学情報読取装置

Publications (2)

Publication Number Publication Date
JP2009129222A JP2009129222A (ja) 2009-06-11
JP4951735B2 true JP4951735B2 (ja) 2012-06-13

Family

ID=40820067

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007304021A Active JP4951735B2 (ja) 2007-11-26 2007-11-26 光学情報読取装置

Country Status (1)

Country Link
JP (1) JP4951735B2 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4970385B2 (ja) * 2008-08-12 2012-07-04 日本電信電話株式会社 2次元コード読取装置とそのプログラム
JP5657503B2 (ja) * 2011-11-08 2015-01-21 株式会社東芝 読取装置、方法及びプログラム
JP6498431B2 (ja) * 2014-03-07 2019-04-10 キヤノンメディカルシステムズ株式会社 磁気共鳴イメージング装置及びrfコイル
JP2016063324A (ja) 2014-09-16 2016-04-25 キヤノン株式会社 画像処理装置、画像処理方法及びプログラム
JP7124312B2 (ja) * 2017-12-20 2022-08-24 横浜ゴム株式会社 空気入りタイヤ
JP7091898B2 (ja) * 2018-07-13 2022-06-28 株式会社デンソーウェーブ コード読み取り装置、および、コード読み取りプログラム
DK3855342T3 (da) * 2020-01-27 2022-02-07 Sick Ag Læsning af optiske koder
CN111222613B (zh) * 2020-04-16 2020-07-28 上海商魁信息科技有限公司 一种处理二维码的方法、装置和计算机存储介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07152906A (ja) * 1993-11-26 1995-06-16 Tec Corp 2次元シンボル画像の認識処理装置
JP3716527B2 (ja) * 1997-01-28 2005-11-16 株式会社デンソー 2次元コードの読取方法
JP4314148B2 (ja) * 2004-05-10 2009-08-12 株式会社リコー 2次元コード読取装置

Also Published As

Publication number Publication date
JP2009129222A (ja) 2009-06-11

Similar Documents

Publication Publication Date Title
JP4951735B2 (ja) 光学情報読取装置
EP2921997B1 (en) Two-dimensional code
JP4911340B2 (ja) 二次元コード検出システムおよび二次元コード検出プログラム
US6732927B2 (en) Method and device for data decoding
US9117103B2 (en) Image information processing apparatus and method for controlling the same
US7145556B2 (en) Method and device for decoding a position-coding pattern
AU2005331401B2 (en) Information input/output method using dot pattern
EP2921998A1 (en) Two-dimensional code, system for creation of two-dimensional code, and analysis program
JP4996245B2 (ja) 位置復号のための方法、装置、コンピュータプログラム及び記憶媒体
JP5791826B2 (ja) 二次元コード
JP5187383B2 (ja) 2次元コード分割表示方法、2次元コード読取方法および2次元コード読取装置
JP2011070477A (ja) 二次元コード読取方法及び該二次元コード読取方法で読み取るための二次元コード並びに該二次元コード読取方法を記録した記録媒体
CN214333822U (zh) 用于校准激光扫平仪的装置
JP2009295108A (ja) 情報コード読取装置及び情報コード読取方法
JP4760362B2 (ja) 文字読取装置
JP4397866B2 (ja) 2次元パターン読み取り装置、2次元パターン読み取り方法
JP4920178B2 (ja) 歪み検出システムおよび歪み検出方法
JP7091898B2 (ja) コード読み取り装置、および、コード読み取りプログラム
JPH11316795A (ja) 二次元コードデコード装置、及び記憶媒体
JP2996243B1 (ja) 2次元コード読取方法、2次元コード読取装置及び記録媒体
JP2007328672A (ja) 2次元コード復号装置、2次元コード復号方法及びプログラム
JP2020024492A (ja) 文字認識装置
CN112799525B (zh) 一种光学导航辅助系统
JP4102742B2 (ja) 光学的情報読取装置及び画像データ解析方法
JP2017084089A (ja) 光学的情報読取装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20091217

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120118

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

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

R150 Certificate of patent or registration of utility model

Ref document number: 4951735

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20150323

Year of fee payment: 3

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

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250