JP3209108B2 - 2次元コード読み取り装置 - Google Patents

2次元コード読み取り装置

Info

Publication number
JP3209108B2
JP3209108B2 JP22211196A JP22211196A JP3209108B2 JP 3209108 B2 JP3209108 B2 JP 3209108B2 JP 22211196 A JP22211196 A JP 22211196A JP 22211196 A JP22211196 A JP 22211196A JP 3209108 B2 JP3209108 B2 JP 3209108B2
Authority
JP
Japan
Prior art keywords
edge
dimensional code
cell
value
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.)
Expired - Fee Related
Application number
JP22211196A
Other languages
English (en)
Other versions
JPH1063771A (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.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial 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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP22211196A priority Critical patent/JP3209108B2/ja
Priority to EP97114582A priority patent/EP0825547B1/en
Priority to US08/917,051 priority patent/US6081627A/en
Priority to DE69728482T priority patent/DE69728482T2/de
Publication of JPH1063771A publication Critical patent/JPH1063771A/ja
Priority to US09/443,614 priority patent/US6181839B1/en
Application granted granted Critical
Publication of JP3209108B2 publication Critical patent/JP3209108B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/10544Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum
    • G06K7/10821Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum further details of bar or optical code scanning devices
    • G06K7/1093Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum further details of bar or optical code scanning devices sensing, after transfer of the image of the data-field to an intermediate store, e.g. storage with cathode ray tube
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
    • G06K7/1404Methods for optical code recognition
    • G06K7/146Methods for optical code recognition the method including quality enhancement steps
    • G06K7/1478Methods for optical code recognition the method including quality enhancement steps adapting the threshold for pixels in a CMOS or CCD pixel sensor for black and white recognition

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Electromagnetism (AREA)
  • Artificial Intelligence (AREA)
  • Toxicology (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Image Analysis (AREA)
  • Image Input (AREA)
  • Character Input (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、2次元コードを読
み取る2次元コード読み取り装置に関する。
【0002】
【従来の技術】従来2次元コードを読み取る手段として
は、特開平7−234915号公報に示されているよう
にセンサとしてCCDエリアセンサを使い、(1)CC
Dエリアセンサから出力されるアナログの画像情報を2
値化する、(2)2値化された画像データの中から2次
元コードを切り出す、(3)切り出された2次元コード
のセルデータを抽出する、という順序で処理が行われて
いた。
【0003】この内(1)の処理としては次の3つの方
法が行われていた。第1の2値化方法はCCDエリアセ
ンサから送られてきた画像信号を一定のしきい値と比較
して2値化を行う。図26(b)は固定しきい値による
2値化の回路の例である。CCDエリアセンサから出力
されたアナログ信号電圧は入力Vinにはいり、電圧Eoと
比較され高ければ1、低ければ0の信号が出力される。
図26(a)中で波形Vinのが電圧Eoの値よりも高いと
ころは0(白)、低いところは1(黒)となる。
【0004】第2の2値化方法は画像信号を少し前の画
像信号から求められる浮動しきい値と比較して2値化を
行う。図26(c)は浮動しきい値による2値化回路の
例である。この2値化回路は入力信号Vinを低周波ろ波
(積分)して得られるEvをしきい値としている。このし
きい値Evは図26(a)ではEvとなり、VinがEvより高
い場合は0(白)、低い場合は1(黒)が出力される。
【0005】第3の2値化方法はCCDエリアセンサか
ら出力される画像信号をA/D変換して、1画面分の画
像信号を画像メモリに記憶し、この濃度分布の情報を用
いて2値化する方法である。図23はこの2値化方法の
例である。まず画像メモリに記憶された画像に対して輝
度ムラ等の影響をのぞくシェーディング(輝度ムラ)補
正を画面全体に行う(ステップ51)。このシェーディ
ング補正には例えばhomomorphic filter(準同型フィル
タ)によって画像から低周波成分を取り除く方法があ
る。つぎに画像の濃度値のヒストグラムを作り、2モー
ド法によりしきい値を求める(ステップ52)。
【0006】また2値化が行われたあと(2)の処理と
して2次元コードの切り出しを行う。2次元コードの切
り出しは2次元コードの位置の検出を行うことである
が、この位置検出には例えば特公平1−35385号公
報に見られるようなチェーンコーディングを用いた方法
がよく用いられている。
【0007】このチェーンコーディングは、図形の輪郭
線を求める方法で、図24(a)に示すように、黒画素
241と白画素242の境界を追跡し(243)、図形
の輪郭線を求め、切り出しを行う。
【0008】また特に2次元コード20のように外側の
少なくとも2辺が直線となっている2次元コードの切り
出し方法としては特開平7−234915号公報のよう
にハフ変換を用いる方法が提案されている。
【0009】ハフ変換は、画像中に直線上に並ぶ点を大
局的に抽出する方法で、効果的な直線検出手段として知
られている。特開平7−234915号公報ではこのハ
フ変換を用いて2組の直線を検出し、2次元コードの切
り出しを行っている。
【0010】図25(a)(b)でハフ変換を用いた直
線検出を説明する。画像メモリ上を縦方向に一定の間隔
を開けて走査して、エッジ点を見つける。そして求めら
れたエッジ点の座標に対応するサイン曲線をθ(角度)
−ρ(距離)平面に引く。例えばエッジ点251、25
2、253、254はθ−ρ平面上に256、257、
258、259の曲線に変換される。ここでエッジ点2
51、252、253のように一直線上に並んでいる場
合は図25(b)の点260のようにサイン曲線は3本
交わる。実際にはθ−ρ平面上は量子化されており、サ
イン曲線の通る(θ、ρ)の点に1ずつ投票されてい
く。よって点260は3票投じられている。点260の
ように多くの点が投じられている点を見つけることによ
って直線255を検出できる。
【0011】上記のように2次元コードの切り出しが行
われた後、(3)の処理では切り出された2次元コード
の各セルの中心点の位置を求め、各セルの中心点の2値
データが抽出される。この時、(1)の処理で2値化が
すでに行われているので、セルの中心点の画素の濃度値
を読み出すだけでセルの2値データを抽出することがで
きる。
【0012】
【発明が解決しようとする課題】従来例であげた2値化
方法の課題としては以下のことがあげられる。
【0013】第1の固定しきい値による2値化方法で
は、2値化を正確に行うことが可能なのは画像のコント
ラストが良く、輝度ムラ等がない場合で、コントラスト
が悪い場合や照明光の当たり具合により輝度ムラがある
場合は正しく2値化できない。また細い線や小さい点
は、センサの受光素子にまたがると図26(a)の22
1のように十分な出力が得られない場合があるため、無
視されることが多い。
【0014】第2の2値化方法は浮動しきい値による2
値化をおこなっているため、第1の2値化方法の課題で
ある輝度ムラの問題、または細い線等の欠落の問題も解
決される。しかしこの方法でも輝度ムラによりEo以下の
黒信号が長く続くような波形の場合正しく2値化できな
い。つまり黒が画像信号に沿う向きに連続して続き、か
つ輝度ムラがあるような領域の2値化は正しくできな
い。
【0015】第3の2値化方法は第1、第2の2値化方
法の課題は解決しているが、いったん画像情報を画像メ
モリにすべて記憶させ、その画像情報すべてに対してシ
ェーディング補正と2値化処理を行うために処理時間が
非常にかかるという問題点がある。
【0016】また従来の2次元コードの切り出しの課題
としては以下のことがあげられる。前述したチェーンコ
ーディングによる切り出し処理では、図24(b)のよ
うな傷244の付いた図形が読み込まれると、図中の矢
印245で示すように傷の部分を輪郭として追跡してし
まい、本来の輪郭と違った輪郭を認識しまい、正しく切
り出しができないという問題点がある。
【0017】また前述したハフ変換を用いた切り出しで
は、チェーンコーディングによる切り出し処理と異な
り、前述したように大局的な直線検出を行っているた
め、傷等の影響は受けずに直線検出を行うことができ
る。しかし、ハフ変換による直線検出を行うためには、
多くのエッジ点をサイン曲線に変換するため、計算量が
多くなり処理時間がかかるという問題点がある。
【0018】そこで本発明は、切り出しのための直線分
で構成された特徴的なパターンを持つ2次元コードを高
速にかつ正確に切り出すことができ、かつセルの2値化
を高速かつ正確におこなうことができる2次元コードリ
ーダを提供することを目的とする。
【0019】
【0020】
【0021】
【課題を解決するための手段】この目的を達成するため
に本発明の第1の2次元コード読み取り装置は、2次元
コードから反射した光を受光し画像信号に変換する変換
手段と、前記画像信号を画像メモリとして記憶する記憶
手段と、前記画像メモリから2次元コードの切り出しを
行うコード切り出し手段と、前記コード切り出し手段に
よって切り出された前記2次元コードの各セルの所定画
素の値を2値化するセル2値化手段とを備え、前記セル
2値化手段は、2次元コードの各セルの所定画素の画像
信号に基づき前記画素の濃度値を求めるセル濃度値抽出
手段と、前記セル濃度値抽出手段で求められた濃度値か
ら局所的なしきい値を求める局所しきい値決定手段と、
前記セル濃度値抽出手段で求められた濃度値と前記局所
しきい値決定手段で求められたしきい値とを比較しセル
の2値データを求めるセル2値決定手段とを有し、前記
局所しきい値決定手段は、複数の小領域を決定するとと
もに前記各小領域の中のセルの所定画素の濃度値の最大
値と最小値との平均値および振幅を求め、隣接する小領
域同士の前記振幅を比較し一方に対して他方が所定値以
下の振幅をもつ小領域である場合にはその小領域に隣接
する小領域に基づいてしきい値を決定するものである。
【0022】また、本発明第2の2次元コードリーダ
は、本発明第1の2次元コードリーダに加え、隣接する
小領域同士の振幅を比較し一方に対して他方が所定値以
下の振幅をもつ小領域である場合以外には、各小領域で
求めた平均値の平均値をしきい値とするものである。
【0023】また、本発明第3の2次元コードリーダ
は、2次元コードから反射した光を受光し画像信号に変
換する変換手段と、前記画像信号を画像メモリとして記
憶する記憶手段と、前記画像メモリから2次元コードの
切り出しを行うコード切り出し手段と、前記コード切り
出し手段によって切り出された前記2次元コードの各セ
ルの所定画素の値を2値化するセル2値化手段とを備
え、セル2値化手段は、2次元コードの各セルの所定画
素の画像信号に基づき前記画素の濃度値を求めるセル濃
度値抽出手段と、前記セル濃度値抽出手段で求められた
濃度値から濃度値のヒストグラムを作成する濃度分布作
成手段と、前記濃度分布作成手段で作成されたヒストグ
ラムから輝度ムラがあるかどうかを判定する輝度ムラ判
定手段と、前記輝度ムラ判定手段により輝度ムラがある
と判定された場合に前記ヒストグラムからしきい値を求
めるしきい値決定手段と、前記セル濃度値抽出手段で求
められた濃度値と前記しきい値決定手段によって求めら
れたしきい値とを比較しセルの2値データを求めるセル
2値決定手段とを備えたものである。
【0024】また、本発明第4の2次元コードリーダ
は、2次元コードから反射した光を受光し画像信号に変
換する変換手段と、前記画像信号を画像メモリとして記
憶する記憶手段と、前記画像メモリから2次元コードの
切り出しを行うコード切り出し手段と、前記コード切り
出し手段によって切り出された前記2次元コードの各セ
ルの所定画素の値を2値化するセル2値化手段とを備
え、各セルの略中心の画素を所定画素とするものであ
る。
【0025】
【0026】また、本発明第5の2次元コードリーダ
は、2次元コードから反射した光を受光し画像信号に変
換する変換手段と、前記画像信号を画像メモリとして記
憶する記憶手段と、前記画像メモリから2次元コードの
切り出しを行うコード切り出し手段と、前記コード切り
出し手段によって切り出された前記2次元コードの各セ
ルの所定画素の値を2値化するセル2値化手段とを備
え、前記コード切り出し手段は、縦方向及び横方向に画
像メモリの走査を行い走査線上にある2次元コードのエ
ッジを検出するエッジ検出手段と、前記エッジ検出手段
で求められたエッジの傾きを求めるエッジ傾き検出手段
と、前記エッジ傾き検出手段で求められた傾きに従って
エッジを追跡して直線を検出する直線検出手段を備え、
前記エッジ傾き検出手段は、走査線上に検出された第1
のエッジの近傍を前記走査線と平行に2本走査する走査
手段を備え、前記エッジ検出手段により前記2本走査さ
れた走査線上にある2次元コードの第2および第3のエ
ッジを検出するとともに、前記第1のエッジと前記第2
のエッジとを結ぶ直線の傾きと、前記第1のエッジと前
記第3のエッジとを結ぶ直線の傾きとを比較する比較手
段を備え、前記比較手段が前記両傾きが略同一であると
判定した場合に、エッジの傾きを検出するものである。
【0027】また、本発明第6の2次元コードリーダ
は、2次元コードから反射した光を受光し画像信号に変
換する変換手段と、前記画像信号を画像メモリとして記
憶する記憶手段と、前記画像メモリから2次元コードの
切り出しを行うコード切り出し手段と、前記コード切り
出し手段によって切り出された前記2次元コードの各セ
ルの所定画素の値を2値化するセル2値化手段とを備
え、前記コード切り出し手段は、縦方向及び横方向に画
像メモリの走査を行い走査線上にある2次元コードのエ
ッジを検出するエッジ検出手段と、前記エッジ検出手段
で求められたエッジの傾きを求めるエッジ傾き検出手段
と、前記エッジ傾き検出手段で求められた傾きに従って
エッジを追跡して直線を検出する直線検出手段を備え、
前記エッジ傾き検出手段は、走査線上に検出された第1
のエッジの近傍を前記走査線と平行に3本以上走査する
走査手段を備え、エッジ検出手段により前記3本以上走
査された走査線上にある2次元コードの複数のエッジを
検出するとともに、前記第1のエッジと前記複数のエッ
ジとを結ぶそれぞれの直線の傾きを相互に比較する比較
手段を備え、前記比較手段が前記それぞれの直線の傾き
のばらつきが一定値以下であると判定した場合に、エッ
ジの傾きを検出するものである。
【0028】また、本発明第7の2次元コードリーダ
は、本発明第5または第6の2次元コードリーダに加
え、第1のエッジを挟んで互いに対抗するように、走査
手段が走査を行うものである。
【0029】また、本発明第8の2次元コードリーダ
は、2次元コードから反射した光を受光し画像信号に変
換する変換手段と、前記画像信号を画像メモリとして記
憶する記憶手段と、前記画像メモリから2次元コードの
切り出しを行うコード切り出し手段と、前記コード切り
出し手段によって切り出された前記2次元コードの各セ
ルの所定画素の値を2値化するセル2値化手段とを備
え、前記コード切り出し手段は、縦方向及び横方向に画
像メモリの走査を行い走査線上にある2次元コードのエ
ッジを検出するエッジ検出手段と、前記エッジ検出手段
で求められたエッジの傾きを求めるエッジ傾き検出手段
と、前記エッジ傾き検出手段で求められた傾きに従って
エッジを追跡して直線を検出する直線検出手段を備え、
前記直線検出手段は、所定間隔毎にエッジを追跡し、前
記エッジが検出できないときには、さらに所定回前記所
定間隔毎に追跡しても前記エッジを検出できないときに
検出動作を停止するものである。
【0030】また、本発明第9の2次元コードリーダ
は、2次元コードから反射した光を受光し画像信号に変
換する変換手段と、前記画像信号を画像メモリとして記
憶する記憶手段と、前記画像メモリから2次元コードの
切り出しを行うコード切り出し手段と、前記コード切り
出し手段によって切り出された前記2次元コードの各セ
ルの所定画素の値を2値化するセル2値化手段とを備
え、前記コード切り出し手段は、縦方向及び横方向に画
像メモリの走査を行い走査線上にある2次元コードのエ
ッジを検出するエッジ検出手段と、エッジ検出手段で検
出された複数のエッジから同一走査線上を特定の位置関
係で並ぶエッジ点列を検出するエッジ点列検出手段と、
別途走査されたエッジであって前記エッジ点列の各エッ
ジから最も近い同種のエッジを検出し、前記同種のエッ
ジ同士を結ぶそれぞれの直線の傾きを検出する傾き検出
手段とを有するものである。
【0031】また、本発明第10の2次元コードリーダ
は、本発明第9の2次元コードリーダに加え、それぞれ
の直線の傾きのばらつきが一定値以上であるときには再
度検出を行う。
【0032】また、本発明第11の2次元コードリーダ
は、本発明第9の2次元コードリーダに加え、エッジの
追跡を行う際の走査線間隔を、2次元コードのバーの幅
とスペースの幅を足して2で除した値未満としたもので
ある。
【0033】また、本発明第12の2次元コードリーダ
は、本発明第9の2次元コードリーダに加え、エッジ点
列を構成するエッジが同一走査線上に所定数検出された
場合に追跡を続けるものである。
【0034】また、本発明第13の2次元コードリーダ
は、2次元コードから反射した光を受光し画像信号に変
換する変換手段と、前記画像信号を画像メモリとして記
憶する記憶手段と、前記画像メモリから2次元コードの
切り出しを行うコード切り出し手段と、前記コード切り
出し手段によって切り出された前記2次元コードの各セ
ルの所定画素の値を2値化するセル2値化手段とを備
え、前記コード切り出し手段は、縦方向及び横方向に画
像メモリの走査を行い走査線上にある2次元コードのエ
ッジを検出するエッジ検出手段と、エッジ検出手段で検
出された複数のエッジから同一走査線上を特定の位置関
係で並ぶエッジ点列を検出するエッジ点列検出手段と、
前記エッジ点列検出手段で検出されたエッジ点列とマッ
チングの度合いが大きいエッジ点列を近傍に検出し前記
両エッジ点列からなる傾きを検出する傾き検出手段を有
する。
【0035】また、本発明第14の2次元コードリーダ
は、本発明第9または第13の2次元コードリーダに加
え、傾き検出手段によって得られた傾きの方向に前記エ
ッジ点列検出手段によって検出されたエッジ点列から前
記エッジ点列とマッチングの度合いが大きいエッジ点列
を繰り返して検出していくことによって2次元コードの
切り出しを行う。
【0036】また、本発明第15の2次元コードリーダ
は、2次元コードから反射した光を受光し画像信号に変
換する変換手段と、前記画像信号を画像メモリとして記
憶する記憶手段と、前記画像メモリから2次元コードの
切り出しを行うコード切り出し手段と、前記コード切り
出し手段によって切り出された前記2次元コードの各セ
ルの所定画素の値を2値化するセル2値化手段とを備
え、前記コード切り出し手段は、新しい画像を取り込む
たびに走査線の位置を移動させていくものである。
【0037】
【0038】
【0039】
【発明の実施の形態】本発明の第1の2次元コード読み
取り装置は、局所しきい値決定手段は、複数の小領域を
決定するとともに前記各小領域の中のセルの所定画素の
濃度値の最大値と最小値との平均値および振幅とを求
め、隣接する小領域同士の前記振幅を比較し一方に対し
て他方が所定値以下の振幅をもつ小領域である場合には
その小領域に隣接する小領域に基づいてしきい値を決定
することにより、処理時間が短く、輝度ムラの影響を受
けないセルの2値化を行うことができる。
【0040】また、本発明の第2の2次元コード読み取
り装置は、隣接する小領域同士の振幅を比較し一方に対
して他方が所定値以下の振幅をもつ小領域である場合以
外には、各小領域で求めた平均値の平均値をしきい値と
することにより、より一層の高速化を図ることができる
ものである。
【0041】また、本発明の第3の2次元コード読み取
り装置は、輝度ムラ判定手段により輝度ムラがあると判
定された場合に前記ヒストグラムからしきい値を求める
しきい値決定手段と、前記セル濃度値抽出手段で求めら
れた濃度値と前記しきい値決定手段によって求められた
しきい値とを比較しセルの2値データを求めるセル2値
決定手段とを備えることにより、輝度ムラによらず高速
で2値化を行うことができるとともに、輝度ムラのない
ときには処理の方法を変えることにより、より高速の処
理方法を選択することが可能となる。
【0042】また、本発明の第4の2次元コード読み取
り装置は、各セルの略中心の画素を所定画素とするの
で、各セルの濃度を最も確実に検出することができる。
【0043】
【0044】また、本発明の第5の2次元コード読み取
り装置は、エッジ傾き検出手段は、走査線上に検出され
た第1のエッジの近傍を前記走査線と平行に2本走査す
る走査手段を備え、エッジ検出手段により前記複数本走
査された走査線上にある2次元コードの第2および第3
のエッジを検出するとともに、前記第1のエッジと前記
第2のエッジとを結ぶ直線の傾きと、前記第1のエッジ
と前記第3のエッジとを結ぶ直線の傾きとを比較する比
較手段を備え、前記比較手段が前記両傾きが略同一であ
ると判定した場合に、エッジの傾きを検出することによ
り、直線の傾きを求めて、その傾きに基づいて直線検出
が可能となるために直線の一部が汚れている場合でも正
しく直線を抽出できる。
【0045】また、本発明の第6の2次元コード読み取
り装置は、エッジ傾き検出手段は、走査線上に検出され
た第1のエッジの近傍を前記走査線と平行に3本以上走
査する走査手段を備え、エッジ検出手段により前記3本
以上走査された走査線上にある2次元コードの複数のエ
ッジを検出するとともに、前記第1のエッジと前記複数
のエッジとを結ぶそれぞれの直線の傾きを相互に比較す
る比較手段を備え、前記比較手段が前記それぞれの直線
の傾きのばらつきが一定値以下であると判定した場合
に、エッジの傾きを検出することにより、直線の傾きを
求めて、その傾きに基づいて直線検出が可能となるため
に直線の一部が汚れている場合でも正しく直線を抽出で
きる。
【0046】また、本発明の第7の2次元コード読み取
り装置は、第1のエッジを挟んで互いに対抗するよう
に、走査手段が走査を行うものであるので、第1のエッ
ジの両側の傾きを確認することができる。
【0047】また、本発明の第8の2次元コード読み取
り装置は、直線検出手段は、所定間隔毎にエッジを追跡
し、前記エッジが検出できないときには、さらに所定回
前記所定間隔毎に追跡しても前記エッジを検出できない
ときに検出動作を停止するので、汚れ等があった場合で
も、誤って検出動作を中止してしまうことがない。
【0048】また、本発明の第9の2次元コード読み取
り装置は、別途走査されたエッジであって前記エッジ点
列の各エッジから最も近い同種のエッジを検出し、前記
同種のエッジ同士を結ぶそれぞれの直線の傾きを検出す
る傾き検出手段とを備えることにより、平行に並ぶ複数
のバーの傾きを求めて、その傾きに基づいて直線検出を
行っているために、バーの一部が汚れている場合でも正
しく抽出ができる。
【0049】また、本発明の第10の2次元コード読み
取り装置は、それぞれの直線の傾きのばらつきが一定値
以上であるときには再度検出を行うので、確実に傾きを
検出できる。
【0050】また、本発明の第11の2次元コード読み
取り装置は、エッジの追跡を行う際の走査線間隔を、2
次元コードのバーの幅とスペースの幅を足して2で除し
た値未満としたので、誤った部分をエッジと認識するこ
とがない。
【0051】また、本発明の第12の2次元コード読み
取り装置は、エッジ点列を構成するエッジが同一走査線
上に所定数検出された場合に追跡を続けるので、汚れ等
の影響により、誤って検出動作を中止してしまうことが
ない。
【0052】また、本発明の第13の2次元コード読み
取り装置は、コード切り出し手段は、縦方向及び横方向
に画像メモリの走査を行い走査線上にある2次元コード
のエッジを検出するエッジ検出手段と、エッジ検出手段
で検出された複数のエッジから同一走査線上を特定の位
置関係で並ぶエッジ点列を検出するエッジ点列検出手段
と、前記エッジ点列検出手段で検出されたエッジ点列と
マッチングの度合いが大きいエッジ点列を近傍に検出し
前記両エッジ点列からなる傾きを検出する傾き検出手段
を備えることにより、平行に並ぶ複数のバーの傾きを求
めて、その傾きに基づいて直線検出を行っているため
に、バーの一部が汚れている場合でも正しく抽出ができ
る。
【0053】また、本発明の第14の2次元コード読み
取り装置は、傾き検出手段によって得られた傾きの方向
に前記エッジ点列検出手段によって検出されたエッジ点
列から前記エッジ点列とマッチングの度合いが大きいエ
ッジ点列を繰り返して検出していくことによって2次元
コードの切り出しを行うため、平行に並ぶ複数のバーの
傾きを求めて、その傾きに基づいて直線検出を行ってい
るために、バーの一部が汚れている場合でも正しく抽出
ができる。
【0054】また、本発明の第15の2次元コード読み
取り装置は、コード切り出し手段は、新しい画像を取り
込むたびに走査線の位置を移動させていくので、新しい
画像を取り込むたびに切り出し処理の中で走査線の位置
を移動させることにより、一回目の切り出し処理では汚
れ等のために走査線上に2次元コードを切り出すための
直線によって構成された特徴的なパターン(以下認識パ
ターンと呼ぶ)のエッジを検出できない場合でも、2回
目の切り出し処理では認識パターンの汚れのない部位の
エッジを検出し、認識パターンを検出でき、2次元コー
ドの切り出しを行うことができる。
【0055】以下に本発明の実施の形態におけるタッチ
式2次元コードリーダの構成を図6を用いて説明する。
【0056】このタッチ式2次元コードリーダではセン
サとしてエリアセンサ9を、アナログデジタル変換手段
としてA/Dコンバータ11を、演算手段として主回路
10を用いる。
【0057】ケース1の先端部に読み取り窓2が形成さ
れている。ケースのヘッド部3内には、例えば複数の発
光ダイオード(LED)からなる光源4が配設されてお
り、この光源4から照明光は反射ミラー5に反射して読
み取り窓2からケース1の外へ出力され、ラベル6上に
印字されている2次元コード7にて乱反射される。そし
て乱反射された光線は再び読み取り窓2を介してケース
1の中へ入射し、レンズ8を介してエリアセンサ9に投
影される。
【0058】エリアセンサ9は主回路10から取り込み
要求信号を受け取った時、レンズ8を介して投影された
2次元情報をアナログ画像信号に変換して出力する。エ
リアセンサ9から出力された画像信号はA/Dコンバー
タ11によって256階調のデジタル画像情報に変換さ
れて画像メモリ12に記憶される。主回路は画像メモリ
に記憶した画像情報をプログラムに基づいて処理し、2
次元コードにコード化されている情報のデコードを行
い、データをホストコンピュータ13等に送信するよう
になっている。
【0059】主回路の処理の流れを図7を用いて説明す
る。取り込み処理(ステップ1)で主回路10はエリア
センサ9に取り込み要求信号を出し、取り込み要求信号
を受け取ったエリアセンサ9は投影されている画像情報
を画像信号として出力する。出力された画像信号はA/
Dコンバータ11を介して画像メモリ12に記憶され
る。画像情報すべてエリアセンサ9から出力されたの
ち、エリアセンサ9から主回路に取り込み完了信号が出
力される。
【0060】取り込み完了信号を主回路が検出したら、
切り出し処理(ステップ2)を行う。切り出し処理は主
回路11より画像メモリ12の一部を読み出し、2次元
コードの位置、向き及び2次元コードを構成しているセ
ルの数を求める。
【0061】切り出し処理が成功すれば、セル2値化処
理(ステップ3)を行う。セル2値化処理では切り出し
処理で求められた2次元コードの位置、向き及び2次元
コードを構成しているセルの数から各セルの位置を求め
て、そのセルの2値データを画像メモリをアクセスして
求める。
【0062】セル2値化処理で各セルの2値データが求
められれば、次にデータ変換処理(ステップ4)で2値
データから決められた規則にもとづいて、アスキーコー
ド列に変換する。この時2値データのエラーが許容エラ
ーを超えており、アスキーコード列への変換が失敗すれ
ば切り出し処理(ステップ2)に戻り、他の2次元コー
ドを検出する。画像メモリ内に2次元コードが検出でき
なくなったら、取り込み処理(ステップ1)へ戻る。
【0063】データ変換処理(ステップ4)が成功すれ
ばアスキーコード列を送信(ステップ5)して取り込み
処理に戻る。
【0064】次に本実施の形態の2次元コードリーダで
読み取らせる2次元コードについて説明する。
【0065】図8にある2次元コード20(いわゆる、
データマトリックス)はL字パターン21、タイミング
セル22及びデータ領域23より構成されている。L字
パターン21は2次元バーコード20の外側2辺に位置
するL字型のパターンである。タイミングセル22は2
次元コードのL字パターンの他の2辺に位置する。L字
パターンはすべて黒セルによって成り立っており、タイ
ミングセルは黒セルと白セルが交互に並んで成り立って
いる。データ領域23はL字パターン21とタイミング
セル22に囲まれて、セルが格子状に並んで構成されて
いる。このデータ領域の白セルと黒セルが2次元コード
20にコード化されたデータを表している。
【0066】図9にある2次元コード24(CODE
1)はセンターパターン25、垂直参照パターン26及
びデータ領域27から構成されている。
【0067】センターパターン25は2次元コード24
の中央に位置し、2次元コード24の水平方向に長い長
方形の領域をしめ、水平方向に平行な複数のバー及びス
ペースが交互に並んでいる。この水平方向の複数本バー
の内の一部のバーの両端には垂直方向に短いバーが接し
ている。バー及びスペースの幅はほぼ等間隔であるが、
印刷の条件等によりバーとスペースの幅が若干異なる場
合もある。センターパターン25のバーの本数や垂直方
向の短いバーの長さによってこの2次元コード2の縦横
のセルの数が決定される。また垂直参照パターン26は
2次元コード24の決められた位置に垂直方向に複数あ
り、その1つは1組のバーとスペースによって成り立っ
ている。データ領域27はセンターパターン25の上下
に位置し、データ領域27の黒セルと白セルが2次元コ
ード24にコード化されたデータを表している。
【0068】(実施の形態1)図10は本発明の第1の
実施の形態における2次元コードリーダの切り出し手段
を説明する流れ図である。以下本発明の第1の実施の形
態における2次元コードリーダの切り出し手段を説明す
る際に、図8の2次元コード20を使う。
【0069】まずはじめに2次元画像領域を縦方向、横
方向に走査してエッジ点を検出する。(ステップ31)
走査を行う走査線は一定の間隔だけ開けることにより画
像メモリのアクセスを少なくし、処理時間を短くする。
【0070】以下にエッジ点の検出方法を図11により
説明する。走査は例えば512×512の画像で32ピ
クセルの幅で縦方向に15本の走査、横方向に15本の
走査を行う。一本の走査では走査線上の画素の濃度値を
順次読み取り、主回路内のメモリに記憶する。この記憶
された濃度値からエッジ点を求める。
【0071】エッジ点の検出方法を以下に説明する。図
11(a)の走査線ア上の画素の濃度値を順次配列a
[i]に記憶する。濃度値は0から255までの256
階調の値を取り、値が小さいほど暗く、値が大きいほど
明るい。図11(b)は濃度a[i]を表したものであ
る。
【0072】iの値は配列a[i]の要素の番号を表し
ており、走査線の開始の画素イがi=0に対応してい
る。濃度値a[i]から、差分値d[i]は d[i]=a[i+1]−a[i−1] i=1,2,… で求める。本実施の形態では2画素間隔での差分値を求
めたが、この間隔は1画素であってもよいし3画素以上
であってもよい。
【0073】このように求められた差分値d[i]は図
11(c)のようになる。差分値d[i]が極大となる
i、及び極小となるiを求めることにより走査線上のエ
ッジ点が求まる。
【0074】図11(c)で差分値d[i]が極大とな
る点ス、ソは図11(a)のエッジ点エ、カに対応し、
図11(c)で差分値d[i]が極小となる点シ、セは
図11(a)のエッジ点ウ、オに対応する。差分値が極
大となる点では濃度値は立ち上がりとなり、走査の方向
に向かって黒セル又はバーから白セル又はスペースに変
わるエッジ点であり、図11(a)中では黒丸●で表
す。また差分値が極小となる点では濃度値は立ち下がり
となり、走査の方向に向かって白セル又はスペースから
黒セル又はバーに変わるエッジ点であり、図11(a)
中では白丸○で表す。
【0075】以上のように走査線上の濃度値から差分値
d[i]の極大値と極小値を求めることにより、2種類
のエッジ点の座標を求める。
【0076】次に、ステップ31で求められた各エッジ
点が局所的な傾きを持っているか否かを判定し、持って
いればその傾きを求める(ステップ32)。
【0077】あるエッジ点aが局所的な傾きを持ってい
るか否かの判断は同種類のエッジをエッジ点aの近傍に
2点検出し、各点ごとにエッジ点aからの方向を求め、
方向が同方向もしくは反対方向であるどうかを調べる。
このエッジ点の局所的な傾きの検出方法を図12を用い
て説明する。
【0078】ステップ31で立ち上がりのエッジ点カが
検出されている。エッジ点カの左、右に走査線タに平行
な短い走査線チ、ツを引き、その走査線チ、ツ上に立ち
上がりのエッジ点テ、トを検出する。走査線チ、ツはエ
ッジ点カの傾きが走査線タに対して45°〜135°の
角度の時、エッジ点テ、トが検出できるよう、走査線チ
の開始点を点ラ、終点を点リとし、走査線ツの開始点を
点ル、終点をレと決める。このようにしてエッジ点テ、
トが検出できれば、次はエッジ点カを始点としてエッジ
点テ,トを終点とするベクトルc、dを求め、その2本
のベクトルc,dの方向成分が等しいかどうかを調べ
る。ほぼ等しければエッジ点カは局所的な傾きを持って
いると判断する。そして、2つのベクトルの方向成分の
平均値をエッジ点カの傾きとする。
【0079】図13ではエッジ点の傾きが検出できない
例を示す。エッジ点ナの近傍に走査線ニ、ヌを引く。走
査線ヌ上には同種類のエッジ点ネを検出することができ
た。しかし走査線ニ上にはエッジ点を検出できなかっ
た。この場合エッジの傾きの検出は失敗する。また、も
し2本の走査線上に同種類のエッジ点を2点検出できた
場合でも、ベクトルの方向が同じでなければエッジ点の
傾きとして検出しない。エッジ点の傾きが検出できるエ
ッジ点のみを検出することによって、誤った直線分を検
出することを少なくし、処理時間を短くすることができ
る。
【0080】なお図14のようにエッジ点(カ)の近傍
に同種類のエッジを近傍に3点以上検出して、エッジ点
の方向ベクトルを求めて、方向ベクトルの傾きのばらつ
きが一定値以下であればエッジ点の傾きとして、これら
の平均値を求めてエッジ点の傾きの検出を行ってもよ
い。
【0081】ステップ32では以上のエッジ点傾き検出
をすべてのエッジ点に対して行う。次にステップ32で
エッジ点の傾きが求められた各エッジ点からエッジ点の
傾きの方向に一定間隔毎に同種類のエッジ点を検出して
いく。(ステップ33)図15でエッジ点カはエッジ点
の傾きが検出されている。求められた傾きの方向へエッ
ジ点ハ、ヒ、フとエッジ点を検出する。もし点へのよう
な汚れなどでエッジが汚れておりエッジ点へが検出でき
ない場合、エッジ点フから同方向に2倍の間隔でエッジ
点を探索し、エッジ点ホを求める。もしさらにエッジ点
ホが見つからない場合、3倍の間隔でエッジ点を探索す
る。一定間隔以上エッジ点が見つからなければ処理を終
える。この処理はエッジ点カから逆方向へも行い、エッ
ジ点ミ、ムと検出する。検出されたエッジ線は直線分に
対応づける。
【0082】以上の処理をステップ32で検出されたす
べてのエッジ点に対して行う。次に2次元コード20の
4隅の座標を求める(ステップ34)。ステップ33で
求められた複数の直線分から図22の261、262の
ような直角に交わる1組の組み合わせを求める。その直
線を2辺とする長方形の対辺となる端線263、264
を引き、この2本の各端線と垂直に交わる短い走査線2
65を引き、エッジ266を求める。この時2次元コー
ド20の2辺は白セルと黒セルが交互に並ぶタイミング
セルであるのでエッジが検出できる走査線と検出できな
い走査線に分かれる。検出されたエッジ点を端線26
5、266に対応づける。直線分261、262、26
3、264に対応づけられたエッジ点をサンプル点とし
て最小2乗近似法により4本の直線267、268、2
69、270を求める。この4本の直線の4つの交点が
2次元コード20の4隅の点となる。
【0083】2次元シンボルの縦横のセル数を求める
(ステップ35)。セル数はタイミングセルの数を数え
ることにより求めることができる。タイミングセルの数
を数えるためには、タイミングセルの上を走査して、そ
のエッジの数を数えればわかる。2辺のタイミングセル
の数を数えることにより、縦方向及び横方向のセルの数
を数えることができる。
【0084】このように、2次元コード20の切り出し
パターンである2辺の直線を、まず画像メモリを広い間
隔で縦横に走査しエッジを求め、次にエッジの傾きを求
めてその方向に従って直線を追跡し、最後に最小2乗近
似法を用いて検出することにより、従来法のようなハフ
変換による直線抽出にくらべて、処理時間が短く高速に
2次元コード20の切り出しができる。また2次元コー
ド20の切り出しパターンである2本の直線上に汚れが
ある場合でも、直線上の汚れのない部分のエッジからエ
ッジの傾きを求め、このエッジの傾きにもとづいてエッ
ジを追跡し、汚れのある部分は飛び越えて追跡を続け直
線を検出することにより、2次元コードの切り出しが正
確にできる。またエッジは従来法のように2値化された
画像ではなく、多値の画像情報から直接求められている
ので輝度ムラ等があっても正確にエッジを抽出ができ
る。
【0085】実施の形態1では2次元コード20のよう
にL字パターンを持つ2次元コードの切り出しを例に説
明したが、同様に4辺がすべてバー(黒セル)であるよ
うな2次元コードの検出もできる。この場合4辺のバー
はステップ33ですべて抽出されており、この情報から
容易に四隅の座標が検出できるからである。
【0086】(実施の形態2)図16は本発明の第2の
実施の形態における2次元コードリーダの切り出し手段
を説明する図である。以下本発明の第2の実施の形態に
おける2次元コードリーダの切り出し手段を説明するた
めに、図9の2次元コード24を使う。
【0087】まず2次元画像領域を縦方向、横方向に走
査してエッジを検出する(ステップ41)。走査を行う
走査線は一定の間隔だけあけることにより画像メモリの
アクセスを少なくし、処理時間を短くする。
【0088】次にステップ41で求められたエッジの座
標情報とエッジの種類(○又は●)の情報を元にして、
センターパターンを横切った部位であるかどうかを判定
する(ステップ42)。2次元コード24はセンターパ
ターンを走査線が横切っている場合、図17のように一
定周期で2種類のエッジが交互に現れる。この時、2次
元コードの印刷条件によりバーとスペースが同じ太さで
ない場合がある。そこで、本実施の形態では同じ種類の
エッジの間隔が等しくなっているかで、センターパター
ンを横切る走査線上のエッジの並びであることを判断
し、その各エッジの座標及びそのエッジの種類を記憶す
る。
【0089】図17のエッジ点列の場合、点42と点4
4の距離をd1、点43と点45の距離をd2、点44
と点46の距離をd3とするとd1、d2、d3がほぼ
等しい距離であればセンターパターンを横切った部位で
あると認識する。
【0090】次にステップ42で求められたエッジ点列
41と対応づけられるエッジ同士を結ぶベクトルの傾き
が等しくなるエッジ点列48を近傍に検出し、センター
パターンの傾きを求める(ステップ43)。ステップ4
2で求められたエッジ点列の近傍に走査線40と平行な
短い走査線47を引き、ステップ41と同様の方法でエ
ッジを求めていく。この求められたエッジ点とステップ
42で求められたエッジ点列のエッジ点を1対1で対応
づけていく。エッジの対応づけはもっとも位置が近く同
種類のエッジに対して行う。対応づけられたエッジを結
んだ線のベクトルをエッジの傾きベクトル(t、ui)
とする。iはエッジの番号とする。図18ではエッジは
5点あるので5本の傾きベクトルが求められる。これら
uiの平均値からセンターパターンの方向が求められ
る。なお本実施の形態ではuiの平均値によりセンター
パターンの方向を求めているが、uiのヒストグラムを
求め、頻度がもっとも多い値をセンターパターンの方向
としてもよい。またこの時uiのばらつきが大きい場合
は検出失敗とし、再度、ステップ42から処理を行って
もよい。
【0091】傾きベクトルを求めるための走査線の開始
点(a,b1)と終了点(a,b2)は次のように求め
られる。まずステップ42で求められた複数のエッジの
座標からバー間隔の平均値tbとスペースの間隔の平均
値tsを求める。tbとtsの内小さい方を走査線40
と走査線47の間の間隔tとする。ステップ42で求め
られたエッジの中でもっとも上部の座標を(m,n
1)、もっとも下部の座標を(m,n2)とする。この
とき(a,b1)、(a,b2)は a =m+t b1=n1−t b2=n2+t で求められる。
【0092】tの値が大きい方がエッジの方向は精度よ
く求めることができる。しかしながらあまりtの値が大
きすぎると走査線1上のエッジと走査線2上のエッジの
対応づけができなくなる。t<(tb+ts)/2であ
ればよい。上記の方法でtを決定すると、回転角が45
度となったとしても、エッジの対応づけはできる。
【0093】次にステップ42で求められた複数のエッ
ジの座標からステップ43で求めれたエッジの傾きベク
トル(t,u)に従って、同種類のエッジを追跡し、セ
ンターパターンの水平方向のバーとスペースの境界線上
のエッジを求めていく(ステップ44)。以下に具体的
な処理について説明する。
【0094】図19はステップ44のエッジ追跡を表す
ものである。50はステップ2で求められたエッジ点列
である。このエッジ点列から走査線をt2だけ水平方向
に移動させて、走査線上のエッジを検出していく。エッ
ジの検出はステップ1で説明した方法と同様の方法を使
えばよい。走査線上にエッジを検出した後、求められた
エッジとエッジ点列50のエッジをエッジの傾き(t
1,u)をもとにして対応させる。この後、さらに走査
線をt2だけ右方向に移動させて、走査線上のエッジを
検出し、1つ前の走査線上のエッジと対応させていく。
対応づけができるエッジが2つ以上の場合は追跡を行
い、2つ以上ない場合は右方向の追跡を終える。エッジ
点列50の左方向に対しても同様の処理を行う。
【0095】このようにエッジ追跡を行うことにより、
図20のようにセンターパターン上に汚れ51がある場
合でも、正しくエッジ点を追跡できる。
【0096】対応づけられたエッジ点はセンターパター
ンの水平方向のバーとスペースの境界線上の点となって
いる。
【0097】求められた境界線上のエッジ点をサンプル
点として最小2乗近似法を用いて、線分を精度良く求め
る。
【0098】ステップ45では、ステップ44で求めら
れたセンターパターンの水平方向のバーとスペースの境
界線の端線の延長方向にエッジを検出しセンターパター
ンの位置、回転角を求める。またセンターパターンの境
界線の本数の情報から2次元コード24の縦方向及び横
方向のセルの数を求めることができる。
【0099】このように、まず画像メモリを広い間隔で
縦横に走査してエッジを求め、次に同種類のエッジが等
間隔に並ぶエッジ点列を検出し、さらに検出されたエッ
ジ点列の近傍にエッジを検出することによりセンターパ
ターンの傾きを求め、このセンターパターンの傾きをも
とにしてエッジを追跡して行き、最後に最小2乗近似法
を用いて複数の直線を検出することによりセンターパタ
ーンの切り出しを行うことにより、従来法のようなハフ
変換による直線抽出にくらべて、処理時間が短く高速に
2次元コード24の切り出しができる。
【0100】また2次元コード24のセンターパターン
に汚れがある場合でも、汚れのない部位でセンターパタ
ーンの傾きを求めて、直線検出をするため2次元コード
24の切り出しを正確に行うことができる。またエッジ
は従来法のように2値化された画像ではなく、多値の画
像情報から直接求められているので輝度ムラ等があって
も正確にエッジを抽出できる。
【0101】なお実施の形態2ではステップ42でエッ
ジの対応づけを行い、傾きを求めていたが、例えば図1
8の走査線40上のエッジ点列を基本パターンとし、走
査線47上に基本パターンに最もマッチングの度合いが
大きいパターンを検出することによってセンターパター
ンの傾きを求め、この傾きにしたがって基本パターンに
マッチングの度合いが高いエッジ点列を順次検出してい
く方法でもよい。この方法はパターンマッチングを用い
た方法であるので汚れや傷に強く高精度な切り出しを行
うことができる。
【0102】(実施の形態3)本発明の第3の実施の形
態の2次元バーコードリーダにおける切り出し処理の実
施の形態について、2次元コード24を例にして、図
7、図16及び図21を用いて説明する。
【0103】まず、一回目の取り込み処理(ステップ
1)を行い、その後切り出し処理(ステップ2)の中で
図21の走査線60によってエッジ検出処理(ステップ
41)及び特徴エッジパターン検出処理(ステップ4
2)を行う。しかしながら、この例のシンボルでは、汚
れ62があり同種類のエッジの間隔が一定となる部位を
検出することができないので、再度取り込み処理を行
い、その後切り出し処理を行う。切り出し処理の中で走
査線の位置をかえて61の走査線によって再度エッジ検
出処理を行う。この時走査線の位置が変わったため、特
徴エッジパターン検出処理で同種類のエッジの間隔が一
定となる部位63を検出でき、センターパターン64を
検出することができる。このように走査線の位置を移動
させることによって、走査線間隔を大きくしたままで、
汚れコードや小さいコードを確実に読み取ることができ
る。
【0104】このように上記方法を用いることにより、
傷のあるコードや小さいコードは数回のデコード処理に
より確実に読み取ることができる。
【0105】(実施の形態4)本発明の第4の実施の形
態の2次元コードリーダについて説明する。
【0106】本実施の形態では切り出し手段によって2
次元コードの4隅の座標、又は2次元コード24の場合
ではセンターパターンの4隅の座標及び2次元コードの
縦方向、横方向のセル数が求められ、これらの情報をも
とに、セル2値化手段によってセルの2値データが求め
られる。
【0107】従来法では切り出し手段によって2次元コ
ードの切り出しを行う前に全画素に対して2値化が行わ
れており、切り出し手段によって得られた情報をもとに
各セルの中心点の画素を決定し、その画素に当たる画像
メモリのアドレスをアクセスすることによってセル2値
データを求めていた。
【0108】しかし、本実施の形態の2次元コードリー
ダでは高速でかつ輝度ムラに影響しない切り出し手段を
実現するために、多値の画像情報から2次元コード切り
出しを行っている。そのために各セルの中心点の画素に
当たる画像メモリのアドレスをアクセスしても、画素の
多値の濃度値が得られるだけである。そこで何らかの方
法で得られた各セルの中心画素の濃度値の2値化を行う
必要がある。
【0109】各セルの中心点の画素の濃度値を2値化す
るためには、例えば切り出された領域内の全画素の濃度
値の最大値と最小値の平均値をしきい値として、各セル
の中心画素を2値化する方法が考えられる。
【0110】しかし、この方法では領域内の全画素をア
クセスするために、処理に時間がかかる。また照明の当
たり具合の影響で輝度ムラ等が発生した場合、正しく2
値化できない。
【0111】そこで本実施の形態の2次元コードリーダ
のセル2値化手段では、2値化のしきい値をセルの中心
点の画素の濃度値のみから求めることによって処理時間
を短くする。また2次元コードの領域を小領域に分割
し、その各領域についての局所的なしきい値を求め、セ
ルの2値データを求めることによって輝度むらの影響を
受けにくくする。
【0112】セル2値化の処理の流れを図1によって説
明する。切り出し処理によって得られた情報は図2のよ
うに四隅の点14、15、16、17の位置と2次元コ
ードの縦横のセル数である。この情報から各セル18の
中心画素19の位置を求めて、その位置の画素の濃度値
を順次記憶する(ステップ11)。
【0113】次に切り出された2次元コードを図3のよ
うに縦横数セル(ここでは2×2)ずつから成る小領域
に分割して、小領域ごとの濃度値の最大値maxと最小値m
inを求める(ステップ12)。これはステップ11で求
められた各セルの中心画素の濃度値から求める。
【0114】そして、ステップ12で求められた最大値
maxと最小値minをもとにして、小領域のしきい値th及
び振幅dを求める。(ステップ13)。
【0115】各小領域のしきい値thはその小領域のセ
ルの中心点の画素の濃度値の最大値maxと最小値minから
求める。また振幅dはmaxとminの差から求める。
【0116】隣接する小領域の振幅dの値を比較して、
振幅dの値が周りに比べて小さい小領域を検出する。次
に検出された小領域のしきい値thの値を隣接する複数
の小領域のしきい値thの平均値から求める。
【0117】ここで小領域の振幅dを隣接の小領域の振
幅dと比較するのは小領域のセルすべてが黒セルまたは
白セルであるかどうかを判断するためのものである。小
領域のセルがすべて黒または白セルであると小領域で求
められたしきい値では正しく2値化を行うことができな
い。よって、このような小領域のしきい値は隣接する小
領域の中で白セル、黒セルの両方のセルを含む小領域の
しきい値を用いて求められることにより正確な2値化を
行うことができる。
【0118】最後に、各セルの中心点の画素の濃度値を
そのセルを含む小領域のしきい値thによって2値化す
る(ステップ13)。
【0119】実施の形態4の具体例を図4を用いて説明
する。ここでは小領域は2×1セルとする。また注目小
領域に隣接する小領域を左右2つの領域とする。
【0120】図4(a)の40は2次元コードのセルの
中心画素を通る走査線上の画素の濃度値を表したもので
ある。この波形はベースが右下がりのシェーディングが
発生しており、固定のしきい値で正しく2値化できな
い。
【0121】本実施の形態の方法ではまずステップ11
でセルの中心画素の濃度値41を求める。次にステップ
12で各小領域の最大値maxと最小値minを求め
る。そしてステップ13でステップ12より求められた
値から最大値maxと最小値minの差d45及び最大
値maxと最小値minの平均値th44を求める。ス
テップ14でもし隣接する2つの小領域のdの最大値よ
り注目小領域のdが2分の1以下であれば、この小領域
は黒セルのみ、又は白セルのみであると判断し、46、
47のようにその小領域をラベルづけし、ラベルづけさ
れた小領域のthの値を46のようにその小領域の両隣
の小領域のthの内挿によって求める。もし47のよう
に2つの小領域が連続してラベルづけされている場合は
両隣の小領域のthの内挿によってthを補間する。そ
の結果、図中43で示す値となる。なお、この値は図4
(a)では42で示す値となる。
【0122】なおここでは小領域は2×1セルの領域と
したが、小領域を構成するセル数はいくらでもよい。ま
た1セルに対応する画素数によって小領域を構成するセ
ル数を変えてもよい。また各小領域は重複してもよい。
また上記の説明では最大値maxと最小値minの差dの比較
には右と左の小領域で行ったが、上下左右の4方向で行
ってもよい。
【0123】このように各セルの中心点の画素の濃度値
を求め、その中心点の画素の濃度値のみから局所的なし
きい値を求め、各セルの中心点の画素の濃度値と局所的
なしきい値を比較し2値化を行うことによって、処理時
間が短く、かつ輝度ムラに影響されないセルの2値化処
理を行うことができる。
【0124】(実施の形態5)本発明の第5の実施の形
態では切り出された2次元コードの領域に輝度むらがな
い場合または白黒のコントラストが強い場合には一定の
しきい値によって2値化を行い、輝度ムラがあり、かつ
白黒のコントラストが弱い場合は第1の手段と同様の方
法で2値化を行うセル2値化を行う。
【0125】図5は本発明の第5の実施の形態のセル2
値化処理の流れ図である。ステップ11の後、濃度値の
ヒストグラム(濃度分布)を求める(ステップ21)。
ステップ11ではセルの中心点の画素の濃度値のみを求
めているため、もし輝度ムラがなければ濃度分布は完全
に2つの山に分かれるはずである。またもし輝度ムラが
ある場合でも白黒のコントラストが強ければ2つの山に
分かれるはずである。もしこのような分布をしている場
合は固定のしきい値で2値化できる。
【0126】そこで輝度分布が完全に2つの山に分かれ
ている場合は2つの山の間の濃度値をしきい値とし(ス
テップ23)、求められたしきい値により濃度値を2値
化する。
【0127】輝度分布が2つの山に分かれていない場合
は、ステップ12に進み、第1の手段と同様の方法で2
値化を行う。
【0128】このように輝度分布より2値化の方法を変
えることにより、切り出された2次元コードの領域に輝
度ムラが無い、または白黒のコントラストが強い場合は
より高速に2値化を行うことができ、また輝度ムラがあ
る場合は第1の手段と同様の方法により2値化を行うこ
とによって輝度ムラによらず、高速なセル2値化が実現
できる。
【0129】以上説明してきたそれぞれの実施の形態に
よれば、切り出し手段によって求められた2次元コード
の位置、回転角及びセルの数から求められるセルの中心
点の画素の濃度値のみから局所的なしきい値を求め、2
値化を行っているために、セル2値化手段の処理時間を
短くし、かつ輝度ムラの影響を受けずに2値化を行うこ
とができる。
【0130】また、セルの中心点の画素の濃度値を求め
た後、濃度値のヒストグラムを作り、その分布により輝
度ムラがないと判断されれば、その濃度値より1つのし
きい値を求めすべてのセルの2値化を行うため、さらに
セル2値化手段の処理時間を短くすることができる。ま
た、輝度ムラがあると判断されれば局所的なしきい値を
求め、2値化を行うことにより輝度ムラの影響を受けず
にセル2値化を行うことができる。
【0131】また、縦横の走査線の間隔を広く開けるこ
とができるため画像メモリのアクセス数が少なくなり、
かつ切り出し処理の前に画像を2値化する必要がないた
め、高速に2次元コードの切り出しを行うことができ
る。また、走査線上の画素の濃度値の変化によって切り
出しを行うために、輝度ムラの影響を受けずに2次元コ
ードの切り出しを行うことができる。
【0132】また、走査線上のエッジが汚れ等でなくな
っている場合でも走査線を移動させることにより確実に
切り出しを行うことができる。
【0133】
【0134】
【0135】
【発明の効果】本発明の第1の2次元コード読み取り装
置は、局所しきい値決定手段は、複数の小領域を決定す
るとともに前記各小領域の中のセルの所定画素の濃度値
の最大値と最小値との平均値および振幅とを求め、隣接
する小領域同士の前記振幅を比較し一方に対して他方が
所定値以下の振幅をもつ小領域である場合にはその小領
域に隣接する小領域に基づいてしきい値を決定すること
により、処理時間が短く、輝度ムラの影響を受けないセ
ルの2値化を行うことができる。
【0136】また、本発明の第2の2次元コード読み取
り装置は、隣接する小領域同士の振幅を比較し一方に対
して他方が所定値以下の振幅をもつ小領域である場合以
外には、各小領域で求めた平均値の平均値をしきい値と
することにより、より一層の高速化を図ることができる
ものである。
【0137】また、本発明の第3の2次元コード読み取
り装置は、輝度ムラ判定手段により輝度ムラがあると判
定された場合に前記ヒストグラムからしきい値を求める
しきい値決定手段と、前記セル濃度値抽出手段で求めら
れた濃度値と前記しきい値決定手段によって求められた
しきい値とを比較しセルの2値データを求めるセル2値
決定手段とを備えることにより、輝度ムラによらず高速
で2値化を行うことができるとともに、輝度ムラのない
ときには処理の方法を変えることにより、より高速の処
理方法を選択することが可能となる。
【0138】また、本発明の第4の2次元コード読み取
り装置は、各セルの幅中心の画素を所定画素とするの
で、各セルの濃度を最も確実に検出することができる。
【0139】
【0140】また、本発明の第5の2次元コード読み取
り装置は、エッジ傾き検出手段は、走査線上に検出され
た第1のエッジの近傍を前記走査線と平行に2本走査す
る走査手段を備え、エッジ検出手段により前記複数本走
査された走査線上にある2次元コードの第2および第3
のエッジを検出するとともに、前記第1のエッジと前記
第2のエッジとを結ぶ直線の傾きと、前記第1のエッジ
と前記第3のエッジとを結ぶ直線の傾きとを比較する比
較手段を備え、前記比較手段が前記両傾きが略同一であ
ると判定した場合に、エッジの傾きを検出することによ
り、直線の傾きを求めて、その傾きに基づいて直線検出
が可能となるために直線の一部が汚れている場合でも正
しく直線を抽出できる。
【0141】また、本発明の第6の2次元コード読み取
り装置は、エッジ傾き検出手段は、走査線上に検出され
た第1のエッジの近傍を前記走査線と平行に3本以上走
査する走査手段を備え、エッジ検出手段により前記3本
以上走査された走査線上にある2次元コードの複数のエ
ッジを検出するとともに、前記第1のエッジと前記複数
のエッジとを結ぶそれぞれの直線の傾きを相互に比較す
る比較手段を備え、前記比較手段が前記それぞれの直線
の傾きのばらつきが一定値以下であると判定した場合
に、エッジの傾きを検出することにより、直線の傾きを
求めて、その傾きに基づいて直線検出が可能となるため
に直線の一部が汚れている場合でも正しく直線を抽出で
きる。
【0142】また、本発明の第7の2次元コード読み取
り装置は、第1のエッジを挟んで互いに対抗するよう
に、走査手段が走査を行うものであるので、第1のエッ
ジの両側の傾きを確認することができる。
【0143】また、本発明の第8の2次元コード読み取
り装置は、直線検出手段は、所定間隔毎にエッジを追跡
し、前記エッジが検出できないときには、さらに所定回
前記所定間隔毎に追跡しても前記エッジを検出できない
ときに検出動作を停止するので、汚れ等があった場合で
も、誤って検出動作を中止してしまうことがない。
【0144】また、本発明の第9の2次元コード読み取
り装置は、別途走査されたエッジであって前記エッジ点
列の各エッジから最も近い同種のエッジを検出し、前記
同種のエッジ同士を結ぶそれぞれの直線の傾きを検出す
る傾き検出手段とを備えることにより、平行に並ぶ複数
のバーの傾きを求めて、その傾きに基づいて直線検出を
行っているために、バーの一部が汚れている場合でも正
しく抽出ができる。
【0145】また、本発明の第10の2次元コード読み
取り装置は、それぞれの直線の傾きのばらつきが一定値
以上であるときには再度検出を行うので、確実に傾きを
検出できる。
【0146】また、本発明の第11の2次元コード読み
取り装置は、エッジの追跡を行う際の走査線間隔を、2
次元コードのバーの幅とスペースの幅を足して2で除し
た値未満としたので、誤った部分をエッジと認識するこ
とがない。
【0147】また、本発明の第12の2次元コード読み
取り装置は、エッジ点列を構成するエッジが同一走査線
上に所定数検出された場合に追跡を続けるので、汚れ等
の影響により、誤って検出動作を中止してしまうことが
ない。
【0148】また、本発明の第13の2次元コード読み
取り装置は、コード切り出し手段は、縦方向及び横方向
に画像メモリの走査を行い走査線上にある2次元コード
のエッジを検出するエッジ検出手段と、エッジ検出手段
で検出された複数のエッジから同一走査線上を特定の位
置関係で並ぶエッジ点列を検出するエッジ点列検出手段
と、前記エッジ点列検出手段で検出されたエッジ点列と
マッチングの度合いが大きいエッジ点列を近傍に検出し
前記両エッジ点列からなる傾きを検出する傾き検出手段
を備えることにより、平行に並ぶ複数のバーの傾きを求
めて、その傾きに基づいて直線検出を行っているため
に、バーの一部が汚れている場合でも正しく抽出ができ
る。
【0149】また、本発明の第14の2次元コード読み
取り装置は、傾き検出手段によって得られた傾きの方向
に前記エッジ点列検出手段によって検出されたエッジ点
列から前記エッジ点列とマッチングの度合いが大きいエ
ッジ点列を繰り返して検出していくことによって2次元
コードの切り出しを行うため、平行に並ぶ複数のバーの
傾きを求めて、その傾きに基づいて直線検出を行ってい
るために、バーの一部が汚れている場合でも正しく抽出
ができる。
【0150】また、本発明の第15の2次元コード読み
取り装置は、コード切り出し手段は、新しい画像を取り
込むたびに走査線の位置を移動させていくので、新しい
画像を取り込むたびに切り出し処理の中で走査線の位置
を移動させることにより、一回目の切り出し処理では汚
れ等のために走査線上に2次元コードを切り出すための
直線によって構成された特徴的なパターン(以下認識パ
ターンと呼ぶ)のエッジを検出できない場合でも、2回
目の切り出し処理では認識パターンの汚れのない部位の
エッジを検出し、認識パターンを検出でき、2次元コー
ドの切り出しを行うことができる。
【図面の簡単な説明】
【図1】本発明の第4の実施の形態におけるセル2値化
手段の流れ図
【図2】同セルの中心の画素の説明図
【図3】同2×2の小領域の説明図
【図4】(a)は同しきい値の求め方の第1の説明図 (b)は同しきい値の求め方の第2の説明図
【図5】本発明の第5の実施の形態のセル2値化処理の
流れ図
【図6】本発明の実施の形態におけるタッチ式2次元コ
ードリーダの構成図
【図7】同2次元コードリーダの処理の流れ図
【図8】2次元コードラベル(データマトリックス)を
示す図
【図9】2次元コードラベル(コード1)を示す図
【図10】本発明の第1の実施の形態における2次元コ
ードリーダの切り出し手段を説明する流れ図
【図11】(a)は同エッジ点の検出の走査線を示す図 (b)は同走査線上の濃度値を説明する図 (c)は同差分値を示す図
【図12】同エッジ点の傾き検出手段について説明する
第1の図
【図13】同エッジ点の傾き検出ができない例を示す図
【図14】同エッジ点の傾き検出手段について説明する
第2の図
【図15】同直線検出について説明する図
【図16】本発明の第2の実施の形態における2次元コ
ードリーダの切り出し手段を説明する流れ図
【図17】同特徴エッジパターン検出について説明する
【図18】同センターパターンの傾き検出について説明
する図
【図19】同エッジ追跡の説明図
【図20】同センターパターンの汚れについて説明する
【図21】本発明の第3の実施の形態における走査の説
明図
【図22】本発明の第1の実施の形態の2次元コード2
0の4隅の点を求め方の説明図
【図23】従来のソフトによる2値化方法の流れ図
【図24】(a)は従来のチェーンコーディングの説明
図 (b)は従来のチェーンコーディングが正常に読み込み
できないことを示す説明図
【図25】(a)は従来のハフ変換の第1の説明図 (b)は従来のハフ変換の第2の説明図
【図26】(a)は従来の2値化のしきい値の説明図 (b)は固定しきい値による2値化の回路を示す図 (c)は浮動しきい値による2値化回路を示す図
【符号の説明】
1 ケース 2 読み取り窓 3 ヘッド部 4 光源 5 反射ミラー 6 ラベル 7 2次元コード 8 レンズ 9 エリアセンサ 10 主回路 11 A/Dコンバータ 12 画像メモリ 13 ホストコンピュータ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 小林 圭一 大阪府門真市大字門真1006番地 松下電 器産業株式会社内 (56)参考文献 特開 平8−55180(JP,A) 特開 平3−34775(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06K 7/10 G06K 7/00

Claims (15)

    (57)【特許請求の範囲】
  1. 【請求項1】2次元コードから反射した光を受光し画像
    信号に変換する変換手段と、前記画像信号を画像メモリ
    として記憶する記憶手段と、前記画像メモリから2次元
    コードの切り出しを行うコード切り出し手段と、前記コ
    ード切り出し手段によって切り出された前記2次元コー
    ドの各セルの所定画素の値を2値化するセル2値化手段
    とを備え、前記セル2値化手段は、2次元コードの各セ
    ルの所定画素の画像信号に基づき前記画素の濃度値を求
    めるセル濃度値抽出手段と、前記セル濃度値抽出手段で
    求められた濃度値から局所的なしきい値を求める局所し
    きい値決定手段と、前記セル濃度値抽出手段で求められ
    た濃度値と前記局所しきい値決定手段で求められたしき
    い値とを比較しセルの2値データを求めるセル2値定手
    段とを有し、前記局所しきい値決定手段は、複数の小領
    域を決定するとともに前記各小領域の中のセルの所定画
    素の濃度値の最大値と最小値との平均値および振幅を求
    め、隣接する小領域同士の前記振幅を比較し一方に対し
    て他方が所定値以下の振幅をもつ小領域である場合には
    その小領域に隣接する小領域に基づいてしきい値を決定
    る2次元コード読み取り装置。
  2. 【請求項2】隣接する小領域同士の振幅を比較し一方に
    対して他方が所定値以下の振幅をもつ小領域である場合
    以外には、各小領域で求めた平均値の平均値をしきい値
    とする請求項1記載の2次元コード読み取り装置。
  3. 【請求項3】2次元コードから反射した光を受光し画像
    信号に変換する変換手段と、前記画像信号を画像メモリ
    として記憶する記憶手段と、前記画像メモリから2次元
    コードの切り出しを行うコード切り出し手段と、前記コ
    ード切り出し手段によって切り出された前記2次元コー
    ドの各セルの所定画素の値を2値化するセル2値化手段
    とを備え、セル2値化手段は、2次元コードの各セルの
    所定画素の画像信号に基づき前記画素の濃度値を求める
    セル濃度値抽出手段と、前記セル濃度値抽出手段で求め
    られた濃度値から濃度値のヒストグラムを作成する濃度
    分布作成手段と、前記濃度分布作成手段で作成されたヒ
    ストグラムから輝度ムラがあるかどうかを判定する輝度
    ムラ判定手段と、前記輝度ムラ判定手段により輝度ムラ
    があると判定された場合に前記ヒストグラムからしきい
    値を求めるしきい値決定手段と、前記セル濃度値抽出手
    段で求められた濃度値と前記しきい値決定手段によって
    求められたしきい値とを比較しセルの2値データを求め
    るセル2値決定手段とを備えた2次元コード読み取り装
    置。
  4. 【請求項4】2次元コードから反射した光を受光し画像
    信号に変換する変換手段と、前記画像信号を画像メモリ
    として記憶する記憶手段と、前記画像メモリから2次元
    コードの切り出しを行うコード切り出し手段と、前記コ
    ード切り出し手段によって切り出された前記2次元コー
    ドの各セルの所定画素の値を2値化するセル2値化手段
    とを備え、各セルの略中心の画素を所定画素とする2次
    元コード読み取り装置。
  5. 【請求項5】2次元コードから反射した光を受光し画像
    信号に変換する変換手段と、前記画像信号を画像メモリ
    として記憶する記憶手段と、前記画像メモリから2次元
    コードの切り出しを行うコード切り出し手段と、前記コ
    ード切り出し手段によって切り出された前記2次元コー
    ドの各セルの所定画素の値を2値化するセル2値化手段
    とを備え、前記コード切り出し手段は、縦方向及び横方
    向に画像メモリの走査を行い走査線上にある2次元コー
    ドのエッジを検出するエッジ検出手段と、前記エッジ検
    出手段で求められたエッジの傾きを求めるエッジ傾き検
    出手段と、前記エッジ傾き検出手段で求められた傾きに
    従ってエッジを追跡して直線を検出する直線検出手段を
    備え、前記エッジ傾き検出手段は、走査線上に検出され
    た第1のエッジの近傍を前記走査線と平行に2本走査す
    る走査手段を備え、前記エッジ検出手段により前記2本
    走査された走査線上にある2次元コードの第2および第
    3のエッジを検出するとともに、前記第1のエッジと前
    記第2のエッジとを結ぶ直線の傾きと、前記第1のエッ
    ジと前記第3のエッジとを結ぶ直線の傾きとを比較する
    比較手段を備え、前記比較手段が前記両傾きが略同一で
    あると判定した場合に、エッジの傾きを検出する2次元
    コード読み取り装置。
  6. 【請求項6】2次元コードから反射した光を受光し画像
    信号に変換する変換手段と、前記画像信号を画像メモリ
    として記憶する記憶手段と、前記画像メモリから2次元
    コードの切り出しを行うコード切り出し手段と、前記コ
    ード切り出し手段によって切り出された前記2次元コー
    ドの各セルの所定画素の値を2値化するセル2値化手段
    とを備え、前記コード切り出し手段は、縦方向及び横方
    向に画像メモリの走査を行い走査線上にある2次元コー
    ドのエッジを検出するエッジ検出手段と、前記エッジ検
    出手段で求められたエッジの傾きを求めるエッジ傾き検
    出手段と、前記エッジ傾き検出手段で求められた傾きに
    従ってエッジを追跡して直線を検出する直線検出手段を
    備え、前記エッジ傾き検出手段は、走査線上に検出され
    た第1のエッジの近傍を前記走査線と平行に3本以上走
    査する走査手段を備え、エッジ検出手段により前記3本
    以上走査された走査線上にある2次元コードの複数のエ
    ッジを検出するとともに、前記第1のエッジと前記複数
    のエッジとを結ぶそれぞれの直線の傾きを相互に比較す
    る比較手段を備え、前記比較手段が前記それぞれの直線
    の傾きのばらつきが一定値以下であると判定した場合
    に、エッジの傾きを検出する2次元コード読み取り装
    置。
  7. 【請求項7】第1のエッジを挟んで互いに対抗するよう
    に、走査手段が走査を行う請求項5または6記載の2次
    元コード読み取り装置。
  8. 【請求項8】2次元コードから反射した光を受光し画像
    信号に変換する変換手段と、前記画像信号を画像メモリ
    として記憶する記憶手段と、前記画像メモリから2次元
    コードの切り出しを行うコード切り出し手段と、前記コ
    ード切り出し手段によって切り出された前記2次元コー
    ドの各セルの所定画素の値を2値化するセル2値化手段
    とを備え、前記コード切り出し手段は、縦方向及び横方
    向に画像メモリの走査を行い走査線上にある2次元コー
    ドのエッジを検出するエッジ検出手段と、前記エッジ検
    出手段で求められたエッジの傾きを求めるエッジ傾き検
    出手段と、前記エッジ傾き検出手段で求められた傾きに
    従ってエッジを追跡して直線を検出する直線検出手段を
    備え、前記直線検出手段は、所定間隔毎にエッジを追跡
    し、前記エッジが検出できないときには、さらに所定回
    前記所定間隔毎に追跡しても前記エッジを検出できない
    ときに検出動作を停止する2次元コード読み取り装置。
  9. 【請求項9】2次元コードから反射した光を受光し画像
    信号に変換する変換手段と、前記画像信号を画像メモリ
    として記憶する記憶手段と、前記画像メモリから2次元
    コードの切り出しを行うコード切り出し手段と、前記コ
    ード切り出し手段によって切り出された前記2次元コー
    ドの各セルの所定画素の値を2値化するセル2値化手段
    とを備え、前記コード切り出し手段は、縦方向及び横方
    向に画像メモリの走査を行い走査線上にある2次元コー
    ドのエッジを検出するエッジ検出手段と、エッジ検出手
    段で検出された複数のエッジから同一走査線上を特定の
    位置関係で並ぶエッジ点列を検出するエッジ点列検出手
    段と、別途走査されたエッジであって前記エッジ点列の
    各エッジから最も近い同種のエッジを検出し、前記同種
    のエッジ同士を結ぶそれぞれの直線の傾きを検出する傾
    き検出手段とを有する2次元コード読み取り装置。
  10. 【請求項10】それぞれの直線の傾きのばらつきが一定
    値以上であるときには再度検出を行う請求項9記載の2
    次元コード読み取り装置。
  11. 【請求項11】エッジの追跡を行う際の走査線間隔を、
    2次元コードのバーの幅とスペースの幅を足して2で除
    した値未満とした請求項9記載の2次元コード読み取り
    装置。
  12. 【請求項12】エッジ点列を構成するエッジが同一走査
    線上に所定数検出された場合に追跡を続ける請求項9記
    載の2次元コード読み取り装置。
  13. 【請求項13】2次元コードから反射した光を受光し画
    像信号に変換する変換手段と、前記画像信号を画像メモ
    リとして記憶する記憶手段と、前記画像メモリから2次
    元コードの切り出しを行うコード切り出し手段と、前記
    コード切り出し手段によって切り出された前記2次元コ
    ードの各セルの所定画素の値を2値化するセル2値化手
    段とを備え、前記コード切り出し手段は、縦方向及び横
    方向に画像メモリの走査を行い走査線上にある2次元コ
    ードのエッジを検出するエッジ検出手段と、エッジ検出
    手段で検出された複数のエッジから同一走査線上を特定
    の位置関係で並ぶエッジ点列を検出するエッジ点列検出
    手段と、前記エッジ点列検出手段で検出されたエッジ点
    列とマッチングの度合いが大きいエッジ点列を近傍に検
    出し前記両エッジ点列からなる傾きを検出する傾き検出
    手段を有する2次元コード読み取り装置。
  14. 【請求項14】傾き検出手段によって得られた傾きの方
    向に前記エッジ点列検出手段によって検出されたエッジ
    点列から前記エッジ点列とマッチングの度合いが大きい
    エッジ点列を繰り返して検出していくことによって2次
    元コードの切り出しを行う請求項9または13記載の2
    次元コード読み取り装置。
  15. 【請求項15】2次元コードから反射した光を受光し画
    像信号に変換する変換手段と、前記画像信号を画像メモ
    リとして記憶する記憶手段と、前記画像メモリから2次
    元コードの切り出しを行うコード切り出し手段と、前記
    コード切り出し手段によって切り出された前記2次元コ
    ードの各セルの所定画素の値を2値化するセル2値化手
    段とを備え、前記コード切り出し手段は、新しい画像を
    取り込むたびに走査線の位置を移動させていく2次元コ
    ード読み取り装置。
JP22211196A 1996-08-23 1996-08-23 2次元コード読み取り装置 Expired - Fee Related JP3209108B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP22211196A JP3209108B2 (ja) 1996-08-23 1996-08-23 2次元コード読み取り装置
EP97114582A EP0825547B1 (en) 1996-08-23 1997-08-22 Two-dimensional code reader
US08/917,051 US6081627A (en) 1996-08-23 1997-08-22 Two-dimensional code reader
DE69728482T DE69728482T2 (de) 1996-08-23 1997-08-22 Zweidimensionaler Codeleser
US09/443,614 US6181839B1 (en) 1996-08-23 1999-11-18 Two-dimensional code reader

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP22211196A JP3209108B2 (ja) 1996-08-23 1996-08-23 2次元コード読み取り装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2001084815A Division JP3567904B2 (ja) 2001-03-23 2001-03-23 2次元コード読み取り装置

Publications (2)

Publication Number Publication Date
JPH1063771A JPH1063771A (ja) 1998-03-06
JP3209108B2 true JP3209108B2 (ja) 2001-09-17

Family

ID=16777325

Family Applications (1)

Application Number Title Priority Date Filing Date
JP22211196A Expired - Fee Related JP3209108B2 (ja) 1996-08-23 1996-08-23 2次元コード読み取り装置

Country Status (4)

Country Link
US (2) US6081627A (ja)
EP (1) EP0825547B1 (ja)
JP (1) JP3209108B2 (ja)
DE (1) DE69728482T2 (ja)

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW434520B (en) 1998-06-30 2001-05-16 Sony Corp Two-dimensional code recognition processing method, device therefor and medium
EP0984385B1 (en) * 1998-08-31 2013-02-20 Sony Corporation Two-dimensional code recognition processing
DE19910226B4 (de) * 1999-03-09 2007-05-24 Bruker Biospin Gmbh Vorrichtung und Verfahren zur Kennzeichnung und Identifizierung eines Probenfläschchens
JP4288756B2 (ja) * 1999-04-08 2009-07-01 株式会社デンソー 情報コード概略存在領域推定方法、情報コード読取方法及び装置、記録媒体
US20060082557A1 (en) * 2000-04-05 2006-04-20 Anoto Ip Lic Hb Combined detection of position-coding pattern and bar codes
US20020021835A1 (en) * 2000-06-02 2002-02-21 Markus Andreasson Method and device for recording of information
US8682077B1 (en) 2000-11-28 2014-03-25 Hand Held Products, Inc. Method for omnidirectional processing of 2D images including recognizable characters
DE10123406A1 (de) * 2001-05-15 2002-11-21 Sick Ag Verfahren zum Erfassen von zweidimensionalen Codes
US6722567B2 (en) 2001-06-07 2004-04-20 Hewlett-Packard Development Company, L.P. Generating and decoding graphical bar codes
DE10232614A1 (de) * 2002-07-12 2004-01-22 Secrypt Gmbh Encryption And Matrixcode Technologies Verfahren zur Verarbeitung eines Matrixcodes
US6781694B2 (en) * 2002-07-16 2004-08-24 Mitutoyo Corporation Two-dimensional scale structures and method usable in an absolute position transducer
KR100414524B1 (ko) * 2002-10-31 2004-01-16 주식회사 아이콘랩 복호 특성이 우수하며 단계별 에러레벨조정이 가능한2차원 코드 및 그 코드의 인코딩 디코딩 방법
US7069108B2 (en) 2002-12-10 2006-06-27 Jostens, Inc. Automated engraving of a customized jewelry item
WO2004063883A2 (en) * 2003-01-09 2004-07-29 Evolution Robotics, Inc. Vision- and environment-based programming of robots and/or computer systems
WO2004093433A1 (ja) * 2003-04-15 2004-10-28 Fujitsu Limited コード認識方法及び装置
US7168621B2 (en) 2003-12-04 2007-01-30 Scanbury, Inc. Section based algorithm for image enhancement
JP4242796B2 (ja) * 2004-03-12 2009-03-25 パナソニック株式会社 画像認識方法及び画像認識装置
MXPA06012036A (es) * 2004-04-19 2011-06-16 Jostens Inc Sistema y metodo para alisar imagenes tridimensionales.
JP4794847B2 (ja) * 2004-10-29 2011-10-19 キヤノン株式会社 2次元コードおよび情報処理方法
CN100372361C (zh) * 2005-03-16 2008-02-27 中国科学院沈阳自动化研究所 实时浮动阈值提取方法
KR100828539B1 (ko) * 2005-09-20 2008-05-13 후지제롯쿠스 가부시끼가이샤 이차원 코드의 검출 방법, 검출 장치, 및 검출 프로그램을기억한 기억 매체
CN100441393C (zh) * 2005-10-17 2008-12-10 吴立昌 用于生产管类注塑件的橡胶管芯抽芯法
JP4911340B2 (ja) * 2006-02-10 2012-04-04 富士ゼロックス株式会社 二次元コード検出システムおよび二次元コード検出プログラム
US7946491B2 (en) 2006-08-03 2011-05-24 Nokia Corporation Method, apparatus, and computer program product for providing a camera barcode reader
MX2009007745A (es) 2007-01-18 2009-12-01 Jostens Inc Sistema y metodo para generar instrucciones para personalizar.
US8126683B2 (en) 2007-03-12 2012-02-28 Jostens, Inc. System and method for embellishment placement
JP4473335B1 (ja) * 2009-03-27 2010-06-02 株式会社オプトエレクトロニクス 光学的情報読取装置及び光学的情報読取方法
US8977377B2 (en) 2010-02-25 2015-03-10 Jostens, Inc. Method for digital manufacturing of jewelry items
US9208265B2 (en) 2011-12-02 2015-12-08 Jostens, Inc. System and method for jewelry design
JP5779089B2 (ja) * 2011-12-28 2015-09-16 株式会社ドワンゴ エッジ検出装置、エッジ検出プログラム、およびエッジ検出方法
CN103093225B (zh) * 2013-01-05 2016-01-20 武汉矽感科技有限公司 二维码图像的二值化方法
US9582615B2 (en) 2013-01-16 2017-02-28 Jostens, Inc. Modeling using thin plate spline technology
CN103235948B (zh) * 2013-04-22 2016-04-20 中山大学 一种二维条码的自适应阈值二值化方法
WO2015022872A1 (ja) * 2013-08-11 2015-02-19 株式会社偽物識別技術研究所 印刷のミクロ的輪郭形状を識別子とする個別物品の自動真贋判定方法
CN104517089B (zh) * 2013-09-29 2017-09-26 北大方正集团有限公司 一种二维码解码系统及其方法
CN104517110B (zh) * 2013-09-29 2018-01-05 北大方正集团有限公司 一种二维码图像的二值化方法及系统
USD789228S1 (en) 2013-11-25 2017-06-13 Jostens, Inc. Bezel for a ring
JPWO2015128918A1 (ja) * 2014-02-28 2017-03-30 パナソニックIpマネジメント株式会社 撮像装置
CN106462786B (zh) * 2014-05-14 2020-01-07 共同印刷株式会社 二维码、二维码的分析系统以及二维码的制作系统
WO2016032524A1 (en) 2014-08-29 2016-03-03 Hewlett-Packard Development Company, Lp Image processing
TWI567655B (zh) * 2016-02-04 2017-01-21 Calin Technology Co Ltd Object of two - dimensional code discrimination method
JP2019061527A (ja) * 2017-09-27 2019-04-18 富士通株式会社 データ判定装置、ライブラリ装置、及びデータ判定プログラム
CN115600619B (zh) * 2022-12-13 2023-04-07 深圳思谋信息科技有限公司 点阵二维码识别方法、装置、电子设备及存储介质

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0287913B1 (en) * 1987-04-22 1993-03-03 Abbott Laboratories Optical code reader and format
JP2624696B2 (ja) * 1987-07-31 1997-06-25 日本分光株式会社 スペクトル推定装置
US5136145A (en) * 1987-11-23 1992-08-04 Karney James L Symbol reader
US4939354A (en) * 1988-05-05 1990-07-03 Datacode International, Inc. Dynamically variable machine readable binary code and method for reading and producing thereof
US4908875A (en) * 1989-03-21 1990-03-13 Hughes Aircraft Company Adaptive thresholding technique
US5278400A (en) * 1991-08-19 1994-01-11 Xerox Corp Multiple threshold encoding of machine readable code
JP2835274B2 (ja) * 1994-02-24 1998-12-14 株式会社テック 画像認識装置
JP2938338B2 (ja) * 1994-03-14 1999-08-23 株式会社デンソー 二次元コード
US5726435A (en) * 1994-03-14 1998-03-10 Nippondenso Co., Ltd. Optically readable two-dimensional code and method and apparatus using the same

Also Published As

Publication number Publication date
DE69728482T2 (de) 2004-08-12
EP0825547A3 (en) 2001-09-19
DE69728482D1 (de) 2004-05-13
US6181839B1 (en) 2001-01-30
JPH1063771A (ja) 1998-03-06
EP0825547A2 (en) 1998-02-25
EP0825547B1 (en) 2004-04-07
US6081627A (en) 2000-06-27

Similar Documents

Publication Publication Date Title
JP3209108B2 (ja) 2次元コード読み取り装置
US6015089A (en) High speed image acquisition system and method of processing and decoding bar code symbol
JP2835274B2 (ja) 画像認識装置
EP0591635B1 (en) Method and apparatus for decoding bar code symbols using subpixel interpolation
EP0582858B1 (en) Method and apparatus for detecting artifact corners in two-dimensional images
Hirzer Marker detection for augmented reality applications
EP0582911B1 (en) Method and apparatus for detecting bar code symbols
EP1678659B1 (en) Method and image processing device for analyzing an object contour image, method and image processing device for detecting an object, industrial vision apparatus, smart camera, image display, security system, and computer program product
US7337970B2 (en) Barcode scanner decoding
EP1836646B1 (en) Bar code scanner decoding
JPH1063772A (ja) データマトリックスシンボルを有する機械読取り可能なシンボルを探し、デコードするための方法及び装置
CN103034831A (zh) 线性条码识别方法和系统
US6000618A (en) Method of reading an object-applied bar code
US20020021835A1 (en) Method and device for recording of information
JP3567904B2 (ja) 2次元コード読み取り装置
Liang et al. Real time recognition of 2D bar codes in complex image conditions

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20070713

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20080713

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20090713

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20090713

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20100713

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20110713

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20110713

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20120713

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20120713

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20130713

Year of fee payment: 12

LAPS Cancellation because of no payment of annual fees