JPH11184959A - バーコード領域の検出方法 - Google Patents

バーコード領域の検出方法

Info

Publication number
JPH11184959A
JPH11184959A JP9352720A JP35272097A JPH11184959A JP H11184959 A JPH11184959 A JP H11184959A JP 9352720 A JP9352720 A JP 9352720A JP 35272097 A JP35272097 A JP 35272097A JP H11184959 A JPH11184959 A JP H11184959A
Authority
JP
Japan
Prior art keywords
area
barcode
range
determined
dimensional image
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP9352720A
Other languages
English (en)
Inventor
Toshihiro Ichinohe
敏浩 一戸
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.)
Toshiba TEC Corp
Original Assignee
Toshiba TEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba TEC Corp filed Critical Toshiba TEC Corp
Priority to JP9352720A priority Critical patent/JPH11184959A/ja
Publication of JPH11184959A publication Critical patent/JPH11184959A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Image Analysis (AREA)

Abstract

(57)【要約】 【課題】処理時間を短くして迅速なバーコード領域の検
出を行う。またバーコード以外の印刷等による画像ノイ
ズを除去して高精度なバーコード検出を行う。 【解決手段】2次元画像データに対して横方向に画素濃
度を投影した画素濃度投影値分布kから最大極大値を検
出し、この最大極大値に隣合う極小値又は最小値に基づ
く範囲をバーコード領域の高さ方向範囲と判断する。そ
して、判断したバーコード領域の高さ方向範囲n,pに
おいて画素濃度を縦方向に投影して画素濃度投影値分布
qを得、この投影値から極大値を検出し、隣合う極大値
の間隔が一定の比率範囲にある所定数以上の連続した極
大値の部分を検出する。そして検出した部分の最初と最
後の極大値の中心座標がバーコードgの両端のバーの幅
方向の中心座標となり、これにより、バーコード領域の
幅方向範囲を判断し、この幅方向範囲と高さ方向範囲に
よりバーコード領域を検出する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、バーコードを読取
るバーコード読取装置やバーコードの印刷品質を検査し
てバーコードを検証するバーコード検証装置などに適用
されるバーコード領域の検出方法に関する。
【0002】
【従来の技術】バーコードは、例えば物品を識別するた
めに使用され、物品に直接印刷されたり、物品に貼付け
るラベルに印刷されたりなどしている。このようなバー
コードの1つとして、等幅のバーを等間隔に配置し、各
バーの長さの違いにより情報を符号化するバーコードが
ある。このような等ピッチバーコードの例としては、例
えば図10に示すものが知られている。
【0003】この等ピッチバーコードは、図11に示す
ような4種類の長さの異なるバーa,b,c,dを図1
0に示すように等間隔に配置し、3本のバーで1キャラ
クタを表わす4ステート3バー方式のバーコードであ
る。この等ピッチバーコードは、バーコードの前後にそ
れぞれバー2本からなるスタートコード及びストップコ
ードを配置し、20桁のキャラクタコード及び1桁のチ
ェックディジットを含む合計67本のバーで構成されて
いる。また、等ピッチバーコードの他の例としては、図
12に示すような2種類の長さの異なるバーe,fを組
み合わせてバーコードを構成したものがある。
【0004】このようなバーコードを印刷されている領
域から読取る場合、読取った2次元画像からバーコード
領域を検出して切取り、その後バーコードを認識してデ
コードすることになるが、従来のバーコード領域の検出
は、例えば、特開平8−96059号公報に記載されて
いるように、バーコードを含む領域を読取って得た2次
元画像データを、微分、膨張、縮退等の処理を行って検
出している。すなわち、バーコードを含む領域を読取っ
て得た2次元画像をメモリに一旦記憶した後、この2次
元画像に対して縦方向及び横方向に微分処理を行い、こ
の微分処理した各画像に対してそれぞれ微分方向に膨張
処理を行い、この膨張処理した画像に対してバーコード
連結領域画像のエッジ部で黒画素を1画素ずつ除去する
縮退処理を行い、この縮退処理した画像に基づいて所定
サイズの画像領域をバーコード領域として検出するよう
にしている。
【0005】
【発明が解決しようとする課題】しかしながら、このよ
うな従来のバーコード領域の検出方法では、微分、膨
張、縮退等の処理を行うため、処理時間が長くかかり、
その結果迅速なバーコード領域の検出ができないという
問題があった。そこで、請求項1乃至6記載の発明は、
処理時間を短くして迅速なバーコード領域の検出がで
き、しかもバーコードの上下にあるバーコード以外の印
刷等による画像ノイズを効果的に除去でき、高精度なバ
ーコード検出ができるバーコード領域の検出方法を提供
する。
【0006】また、請求項3乃至6記載の発明は、さら
に、バーコードの傾きが大きい場合でも精度の高いバー
コード検出ができるバーコード領域の検出方法を提供す
る。また、請求項4記載の発明は、さらに、バーコード
の左右にあるバーコード以外の印刷等による画像ノイズ
をより効果的に除去でき、より精度の高いバーコード検
出ができるバーコード領域の検出方法を提供する。
【0007】また、請求項5及び6記載の発明は、さら
に、バーコードの傾きも検出することができ、その後の
バーコード認識処理の容易化を図ることができるバーコ
ード領域の検出方法を提供する。また、請求項6記載の
発明は、さらに、バーコードの四隅位置を正確に検出で
きるバーコード領域の検出方法を提供する。
【0008】
【課題を解決するための手段】請求項1記載の発明は、
取込んだバーコードを含む2次元画像からバーコード領
域を検出する場合に、先ず、2次元画像の画素濃度デー
タをバーの並びの方向である横方向に投影し、この投影
値における極大値に隣合う極小値又は最小値に基づく位
置間の幅をバーコード領域の高さ方向範囲と判断し、続
いて、この判断した高さ方向範囲内における2次元画像
の画素濃度データをバーの方向である縦方向に投影し、
この投影値において隣合う極大値の間隔が一定の比率範
囲にある所定数以上の連続した極大値の部分をバーコー
ド領域の幅方向範囲と判断し、この判断により得た高さ
方向範囲と幅方向範囲に基づいて2次元画像からバーコ
ード領域を検出することにある。
【0009】請求項2記載の発明は、取込んだバーコー
ドを含む2次元画像からバーコード領域を検出する場合
に、先ず、2次元画像の画素濃度データをバーの並びの
方向である横方向に投影し、この投影値における極大値
を全て検出し、この検出した極大値のうち最も大きい極
大値に隣合う極小値又は最小値に基づく位置間の幅をバ
ーコード領域の高さ方向範囲と判断し、続いて、この判
断した高さ方向範囲内における2次元画像の画素濃度デ
ータをバーの方向である縦方向に投影し、この投影値に
おいて隣合う極大値の間隔が一定の比率範囲にある連続
した極大値の部分を検出し、この連続した極大値の部分
が所定数以上の極大値を含む場合にはこの極大値の部分
をバーコード領域の幅方向範囲と判断し、また、この連
続した極大値の部分が所定数以上無い場合には横方向の
投影値における次に大きい極大値に隣合う極小値又は最
小値に基づく位置間の幅を新たなバーコード領域の高さ
方向範囲と判断して再度高さ方向範囲内における2次元
画像の画素濃度データを縦方向に投影し、この投影値に
おいて隣合う極大値の間隔が一定の比率範囲にある連続
した極大値の部分の検出を行ってバーコード領域の幅方
向範囲の判定処理を行い、これを高さ方向範囲と幅方向
範囲の両方が確定するまで繰返し、高さ方向範囲と幅方
向範囲が確定した時点で、この高さ方向範囲と幅方向範
囲に基づいて2次元画像からバーコード領域を検出する
ことにある。
【0010】請求項3記載の発明は、取込んだバーコー
ドを含む2次元画像からバーコード領域を検出する場合
に、先ず、2次元画像の領域を分割し、それぞれの分割
領域において独立して2次元画像の画素濃度データをバ
ーの並びの方向である横方向に投影し、各分割領域の横
方向の投影値における極大値に隣合う極小値又は最小値
に基づく位置間の幅を各分割領域のバーコード領域の高
さ方向範囲と判断し、続いて、判断した各分割領域の高
さ方向範囲内における2次元画像の画素濃度データをバ
ーの方向である縦方向に投影し、この各分割領域におけ
る縦方向の投影値を連結した投影値において隣合う極大
値の間隔が一定の比率範囲にある所定数以上の連続した
極大値の部分をバーコード領域の幅方向範囲と判断し、
この判断により得た高さ方向範囲と幅方向範囲に基づい
て2次元画像からバーコード領域を検出することにあ
る。
【0011】請求項4記載の発明は、取込んだバーコー
ドを含む2次元画像からバーコード領域を検出する場合
に、先ず、2次元画像の領域を分割し、それぞれの分割
領域において独立して2次元画像の画素濃度データをバ
ーの並びの方向である横方向に投影し、各分割領域の横
方向の投影値における極大値に隣合う極小値又は最小値
に基づく位置間の幅を各分割領域のバーコード領域の高
さ方向範囲と判断し、続いて、判断した各分割領域の高
さ方向範囲内における2次元画像の画素濃度データをバ
ーの方向である縦方向に投影し、この各分割領域におけ
る縦方向の投影値を連結した投影値において隣合う極大
値の間隔が一定の比率範囲にある所定数以上の連続した
極大値の部分をバーコード領域の幅方向範囲と判断し、
この判断により得た高さ方向範囲と幅方向範囲に基づい
て2次元画像からバーコード領域を検出し、さらに、こ
の検出したバーコード領域に基づいて画像領域を再分割
し、この再分割したそれぞれの分割領域において独立し
て2次元画像の画素濃度データを横方向に投影し、各再
分割領域の横方向の投影値における極大値に隣合う極小
値又は最小値に基づく位置間の幅を各再分割領域のバー
コード領域の高さ方向範囲と判断し、続いて、この判断
した各再分割領域の高さ方向範囲内における2次元画像
の画素濃度データを縦方向に投影し、この各再分割領域
における縦方向の投影値を連結した投影値において隣合
う極大値の間隔が一定の比率範囲にある所定数以上の連
続した極大値の部分をバーコード領域の幅方向範囲と判
断し、この判断により得た高さ方向範囲と幅方向範囲に
基づいて2次元画像から最終的なバーコード領域を検出
することにある。
【0012】請求項5記載の発明は、取込んだバーコー
ドを含む2次元画像からバーコード領域を検出する場合
に、先ず、2次元画像の領域を分割し、それぞれの分割
領域において独立して2次元画像の画素濃度データをバ
ーの並びの方向である横方向に投影し、各分割領域の横
方向の投影値における極大値に隣合う極小値又は最小値
に基づく位置間の幅を各分割領域のバーコード領域の高
さ方向範囲と判断し、続いて、判断した各分割領域の高
さ方向範囲内における2次元画像の画素濃度データをバ
ーの方向である縦方向に投影し、この各分割領域におけ
る縦方向の投影値を連結した投影値において隣合う極大
値の間隔が一定の比率範囲にある所定数以上の連続した
極大値の部分をバーコード領域の幅方向範囲と判断し、
この判断により得た高さ方向範囲と幅方向範囲に基づい
て2次元画像からバーコード領域を検出し、さらに、検
出したバーコード領域の幅方向範囲の開始位置と終了位
置及び各分割領域におけるバーコード領域の高さ方向範
囲の開始位置と終了位置に基づいてバーコードの傾きを
求めることにある。
【0013】請求項6記載の発明は、取込んだバーコー
ドを含む2次元画像からバーコード領域を検出する場合
に、先ず、2次元画像の領域を分割し、それぞれの分割
領域において独立して2次元画像の画素濃度データをバ
ーの並びの方向である横方向に投影し、各分割領域の横
方向の投影値における極大値に隣合う極小値又は最小値
に基づく位置間の幅を各分割領域のバーコード領域の高
さ方向範囲と判断し、続いて、判断した各分割領域の高
さ方向範囲内における2次元画像の画素濃度データをバ
ーの方向である縦方向に投影し、この各分割領域におけ
る縦方向の投影値を連結した投影値において隣合う極大
値の間隔が一定の比率範囲にある所定数以上の連続した
極大値の部分をバーコード領域の幅方向範囲と判断し、
この判断により得た高さ方向範囲と幅方向範囲に基づい
て2次元画像からバーコード領域を検出し、さらに、バ
ーコード領域の幅方向範囲内にある各極大値をバーコー
ドの各バー幅の中心座標と判断し、また、検出したバー
コード領域の幅方向範囲の開始位置と終了位置及び各分
割領域におけるバーコード領域の高さ方向範囲の開始位
置と終了位置に基づいてバーコードの傾きを求め、各分
割領域におけるバーコード領域の高さ方向範囲の開始位
置と終了位置及び求めたバーコードの傾きに基づいてバ
ーコードの最初のバーと最終のバーの高さ方向の中心位
置を求め、この最初のバーと最終のバーの高さ方向の中
心位置及びこの各バー幅の中心座標からバー部分をサー
チしてバーコードの四隅の位置を検出することにある。
【0014】
【発明の実施の形態】本発明の実施の形態を図面を参照
して説明する。 (第1の実施の形態)この実施の形態は本発明をバーコ
ード読取装置に適用したものについて述べる。図1はバ
ーコード読取装置の構成を示すブロック図で、このバー
コード読取装置11は、光学系、CCDラインセンサ、
制御回路等からなり、物品に直接印刷あるいはラベルを
使用して印刷されたバーコードを含む領域を読取って2
次元画像データを取込む画像取込み部12、この画像取
込み部12が取込んだ2次元画像データを記憶する画像
記憶部13及びこの画像記憶部13に記憶した2次元画
像データを読み出してバーコード領域を検出し、さらに
このバーコード領域から各バーを抽出してデコード処理
を行い、その結果をI/F(インターフェース)を介し
て外部機器14に出力するCPU(中央処理装置)15
により構成している。
【0015】図2は前記バーコード読取装置11が行う
バーコード読取処理を示す流れ図で、先ず、S1にて、
前記画像取込み部12が2次元画像データの取込みを行
い、続いて、S2にて、前記画像記憶部13が2次元画
像データを記憶する。
【0016】前記CPU15はS3〜S6の処理を行
い、先ず、S3にて、本発明の要部となるバーコード領
域の検出を行い、続いて、S4にて、検出したバーコー
ド領域から各バーを抽出してその長さを測定し、続い
て、S5にて、測定した各バーの長さに基づいてデータ
をデコードし、最後に、S6にて、デコード結果をI/
Fを介して外部機器14に出力する。
【0017】この一連のバーコード読取り処理のうち、
CPU15が行うS3のバーコード領域の検出は、次の
ように行っている。前記画像記憶部13から読み出した
2次元画像データは例えば図3の(a) に示すようになっ
ている。なお、ここでバーコードgの上にある画像h及
び左右にある画像i,jはバーコードの周囲に印刷され
ている文字や模様などでバーコード領域検出の場合の画
像ノイズとなる部分である。
【0018】この読み出した2次元画像データに対して
図3の(b) に示すようにバーの並びの方向である横方向
に画素濃度を投影する。すなわち、1ラインずつ横方向
に画像データの画素濃度値を合計し、横方向の画素濃度
投影値分布kを求める。そして、図3の(c) に示すよう
にこの横方向の画素濃度投影値分布kから極大値を検出
し、図中点線mで示すようにその最大の極大点、すなわ
ち、画素濃度が最も高い位置をバーコードgの高さ方向
の中心と判断する。
【0019】次に、図3の(d) に示すように判断した最
大極大値に隣合う極小値、又は極小値が存在しないとき
には最小値に基づいて図中実線n,pで示す範囲をバー
コード領域の高さ方向範囲と判断する。例えば、極大値
に隣合うそれぞれの極小値又は最小値に対して、極小値
又は最小値+(極大値−極小値又は最小値)/16、の
値を求め、その投影値の値に相当する縦方向の座標をバ
ーコード領域の高さ方向範囲と判断する。
【0020】次に、図3の(e) に示すようにバーコード
領域の高さ方向の範囲n,pにおける画像データの画素
濃度をバーの方向である縦方向に投影する。すなわち、
1ラインずつ縦方向に画素濃度値を合計し、縦方向の画
素濃度投影値分布qを求める。そして、この画素濃度投
影値分布qから図3の(f) に点線で示すように極大値を
全て検出する。そして、検出した極大値から隣合う極大
値の間隔が一定の比率範囲にある所定数以上の連続した
極大値の部分を検出する。隣合う極大値の間隔が一定の
比率範囲に入っているか否かは、例えば、隣合う極大値
の間隔が互いに3/4乃至4/3の範囲に入っているか
否かで判断する。従って、図中点線rで示す極大値の部
分は間隔がバーコードの各バーの間隔とは異なるためこ
こで排除される。
【0021】こうして検出した隣合う極大値の間隔が一
定の比率範囲にある所定数以上の連続した極大値の部分
における各極大値の位置が各バーの幅方向の中心座標と
なる。そして、最初と最後の極大値の中心座標がバーコ
ードgの両端のバーの幅方向の中心座標となり、これに
より、バーコード領域の幅方向範囲を判断することにな
る。こうしてバーコード領域の高さ方向範囲とバーコー
ド領域の幅方向範囲を検出でき、バーコード領域の切出
しができる。
【0022】このように最初にバーコード領域の高さ方
向の範囲を検出し、続いて、このバーコード領域の高さ
方向範囲内においてバーコードの縦方向の画素濃度投影
値を求めるようにしているので、読取った2次元画像デ
ータ中にバーコードgの上下に位置して画像ノイズhが
あってもこの画像ノイズを効果的に除去してバーコード
の縦方向の画素濃度投影値を求めることができ、高精度
なバーコード検出ができる。また、このように2次元画
像データを横方向及び縦方向の画素濃度という1次元デ
ータに投影し、この1次元データに対して処理を行って
バーコード領域の検出を行うため、処理時間が短くなり
迅速なバーコード領域の検出ができる。
【0023】(第2の実施の形態)この実施の形態はバ
ーコード領域の検出処理以外は第1の実施の形態と同様
である。また、この実施の形態におけるバーコード領域
の検出において、バーコード領域の高さ方向の範囲を求
めるとき、幅方向の画素濃度投影値分布から極大値を検
出し、その最大の極大点の位置をバーコードの高さ方向
の中心と判断するとともに、判断した最大極大値に隣合
う極小値又は最小値に基づいてバーコード領域の高さ方
向範囲を判断し、さらに、この判断した高さ方向範囲内
においてバーコード領域の画素濃度を縦方向に投影して
縦方向の画素濃度投影値分布を求め、この画素濃度投影
値分布から隣合う極大値の間隔が一定の比率範囲にある
所定数以上の連続した極大値の部分を検出して各バーの
幅方向の中心座標及びバーコード領域の幅方向範囲を求
めることは第1の実施の形態と同様である。
【0024】異なる点は、判断したバーコード領域の高
さ方向範囲が所定幅未満か否かをチェックし、これが所
定幅未満のとき、あるいは検出したバーコード領域の高
さ方向範囲における縦方向の投影値分布中に、隣合う極
大値の間隔が一定の比率範囲にある所定数以上の連続し
た極大値が検出されなかったときには、バーコードが検
出できなかったと判断して横方向の画素濃度投影値分布
から2番目に大きい極大値を検出し、この極大値からバ
ーコードの高さ方向の中心を判断するとともに、この極
大値に隣合う極小値又は最小値に基づいてバーコード領
域の高さ方向範囲を再度判断する。そして、判断した高
さ方向範囲内においてバーコード領域の画素濃度を縦方
向に投影して縦方向の画素濃度投影値分布を求め、この
画素濃度投影値分布から隣合う極大値の間隔が一定の比
率範囲にある所定数以上の連続した極大値の部分を検出
して各バーの幅方向の中心座標及びバーコード領域の幅
方向範囲を求める。
【0025】このようにバーコードが検出できなかった
ときには横方向の画素濃度投影値の極大値を大きい方か
ら小さい方へ順次切替えてバーコード領域の高さ方向範
囲とこの高さ方向範囲内でのバーコード領域の幅方向範
囲を求め、最終的にバーコード領域の高さ方向範囲が所
定幅以上あり、かつ縦方向の画素濃度投影値によって求
めたバーに対応した極大値が所定数以上連続してバーコ
ード検出が行われるまで処理を繰返す。
【0026】その結果、横方向の画素濃度投影値の極大
値が複数ある場合には、バーコードの上下にある印刷等
による画像ノイズの影響をより効果的に除去することが
でき、より高精度なバーコード領域の検出ができる。そ
して、バーコード領域を検出した後の処理は前述した第
1の実施の形態と同様である。
【0027】また、この実施の形態においても2次元画
像データを横方向及び縦方向の画素濃度という1次元デ
ータに投影し、この1次元データに対して処理を行って
バーコード領域の検出を行うため、処理時間が短くなり
迅速なバーコード領域の検出ができる。
【0028】(第3の実施の形態)この実施の形態はバ
ーコード領域の検出処理以外は第1の実施の形態と同様
である。画像記憶部13から読み出した2次元画像デー
タを図4の(a) に示すように幅方向の中心位置sで2分
割する。なお、バーコードgの上にある画像hはバーコ
ードの周囲に印刷されている文字や模様などでバーコー
ド領域検出の場合の画像ノイズとなる部分である。
【0029】そして、2分割した各分割領域の2次元画
像データに対して図4の(b) に示すようにバーの並びの
方向である横方向にそれぞれ画素濃度を投影する。すな
わち、各分割領域毎に1ラインずつ横方向に画像データ
の画素濃度値を合計し、分割領域t1 について横方向の
画素濃度投影値分布k1 を求めるとともに分割領域t2
について横方向の画素濃度投影値分布k2 を求める。そ
して、図4の(c) に示すように分割領域t1 における横
方向の画素濃度投影値分布k1 から極大値を検出し、図
中点線m1 で示すようにその最大の極大値の位置を分割
領域t1 のバーコードgの高さ方向の中心と判断し、ま
た、分割領域t2 における横方向の画素濃度投影値分布
k2 から極大値を検出し、図中点線m2 で示すようにそ
の最大の極大値の位置を分割領域t2 のバーコードgの
高さ方向の中心と判断する。
【0030】次に、図4の(d) に示すように、分割領域
t1 において判断した最大極大値に隣合う極小値又は最
小値に基づいて図中実線n1 ,p1 で示す範囲を分割領
域t1 におけるバーコード領域の高さ方向範囲と判断
し、また、分割領域t2 において判断した最大極大値に
隣合う極小値又は最小値に基づいて図中実線n2 ,p2
で示す範囲を分割領域t2 におけるバーコード領域の高
さ方向範囲と判断する。
【0031】次に、図4の(e) に示すように分割領域t
1 においてバーコード領域の高さ方向の範囲n1 ,p1
における画像データの画素濃度を縦方向に投影するとと
もに分割領域t2 においてバーコード領域の高さ方向の
範囲n2 ,p2 における画像データの画素濃度を縦方向
に投影する。すなわち、各分割領域t1 、t2 において
1ラインずつ縦方向に画素濃度値を合計し、縦方向の画
素濃度投影値分布q1、q2 を求める。そして、この画
素濃度投影値分布q1 、q2 を結合し、図4の(f) に点
線で示すように横方向の極大値を全て検出する。そし
て、検出した極大値から隣合う極大値の間隔が一定の比
率範囲にある所定数以上の連続した極大値の部分を検出
する。隣合う極大値の間隔が一定の比率範囲に入ってい
るか否かは、例えば、隣合う極大値の間隔が互いに3/
4乃至4/3の範囲に入っているか否かで判断する。
【0032】こうして検出した隣合う極大値の間隔が一
定の比率範囲にある所定数以上の連続した極大値の部分
における各極大値の位置が各バーの幅方向の中心座標と
なる。そして、最初と最後の極大値の中心座標がバーコ
ードgの両端のバーの幅方向の中心座標となり、これに
より、バーコード領域の幅方向範囲を判断することにな
る。こうしてバーコード領域の高さ方向範囲とバーコー
ド領域の幅方向範囲を検出でき、バーコード領域の切出
しができる。
【0033】このように最初に2次元画像を2分割して
2つの分割領域を決め、各分割領域についてバーコード
領域の高さ方向の範囲を検出し、続いて、このバーコー
ド領域の高さ方向範囲内においてバーコードの縦方向の
画素濃度投影値を求めるようにしているので、バーコー
ドの傾きが大きく、しかも読取った2次元画像データ中
にバーコードgの上下に位置する画像ノイズhがあって
もこの画像ノイズを効果的に除去してバーコードの縦方
向の画素濃度投影値を求めることができ、高精度なバー
コード検出ができる。
【0034】また、この実施の形態においても2次元画
像データを横方向及び縦方向の画素濃度という1次元デ
ータに投影し、この1次元データに対して処理を行って
バーコード領域の検出を行うため、処理時間が短くなり
迅速なバーコード領域の検出ができる。なお、この実施
の形態ではバーコード領域の高さ方向範囲と幅方向範囲
を判断してバーコード領域を検出する例について述べた
が、バーコード領域の高さ方向範囲と幅方向範囲から、
さらに、バーコードの傾きを検出することもできる。
【0035】すなわち、バーコード傾きの角度を、 バーコード傾き角度=tan-1[{(左領域バーコード
開始高さ−右領域バーコード開始高さ)+(左領域バー
コード終了高さ−右領域バーコード終了高さ)}/(バ
ーコード幅方向終了位置−バーコード幅方向開始位
置)] によって求める。
【0036】なお、図6に示すように、左領域バーコー
ド開始高さとは分割領域t1 におけるバーコード領域の
高さ方向範囲の上限位置を示し、右領域バーコード開始
高さとは分割領域t2 におけるバーコード領域の高さ方
向範囲の上限位置を示し、バーコード幅方向終了位置と
はバーコード領域の幅方向範囲の右端バーの中心位置を
示し、バーコード幅方向開始位置とはバーコード領域の
幅方向範囲の左端バーの中心位置を示している。このよ
うにしてバーコードの傾きを検出することによりバーコ
ードの正確な位置を求めることができ、その後の各バー
の長さ測定やデコード処理が容易になる。
【0037】(第4の実施の形態)この実施の形態はバ
ーコード領域の検出処理以外は第1の実施の形態と同様
である。また、この実施の形態におけるバーコード領域
の検出において、2次元画像データを幅方向の中心位置
で2分割し、この2分割した各分割領域においてそれぞ
れ横方向の画素濃度投影値分布から極大値を検出し、そ
の最大の極大点の位置をバーコードの高さ方向の中心と
判断するとともに、判断した最大極大値に隣合う極小値
又は最小値に基づいてバーコード領域の高さ方向範囲を
判断し、さらに、この判断した各分割領域における高さ
方向範囲内においてバーコード領域の縦方向の画素濃度
を投影して縦方向の画素濃度投影値分布を求め、この各
分割領域の画素濃度投影値分布を結合した画素濃度投影
値分布から隣合う極大値の間隔が一定の比率範囲にある
所定数以上の連続した極大値の部分を検出して各バーの
幅方向の中心座標及びバーコード領域の幅方向範囲を求
めることは第3の実施の形態と同様である。
【0038】異なる点は、ここでは所定数以上の連続し
た極大値の部分を検出する場合に、例えば、バーコード
gが67本のバーで構成されているときには、先ず、そ
の過半数である34本以上連続した極大値を検出する。
そして、検出した幅方向範囲に基づいて図5に示すよう
に再度バーコードの検出領域を設定する。すなわち、検
出したバーコード領域の幅方向範囲の中心位置s2 を再
度設定する。なお、図中点線で示す中心位置s1 は最初
に2次元画像を分割したときの中心位置である。また、
u1 は分割領域t1 の開始位置であり、u2 は分割領域
t2 の終了位置である。
【0039】そして、中心位置s2 が最初に分割した領
域t1 、t2 のどちらの側に含まれるか調べる。中心位
置s2 が分割領域t1 に含まれる場合、左から数えて3
4本目のバーを中心とし、左右マージンを考慮してバー
コードが含まれるような2分割領域を新たに設定する。
また、中心位置s2 が分割領域t2 に含まれる場合、右
から数えて34本目のバーを中心とし、左右マージンを
考慮してバーコードが含まれるような2分割領域を新た
に設定する。
【0040】こうして新たに設定した2つの分割領域に
おいて、前記同様にそれぞれ横方向の画素濃度投影値分
布から極大値を検出し、その最大の極大点の位置をバー
コードの高さ方向の中心と判断するとともに、判断した
最大極大値に隣合う極小値又は最小値に基づいてバーコ
ード領域の高さ方向範囲を判断し、さらに、この判断し
た各分割領域における高さ方向範囲内においてバーコー
ド領域の縦方向の画素濃度を投影して縦方向の画素濃度
投影値分布を求め、この各分割領域の画素濃度投影値分
布を結合した画素濃度投影値分布から隣合う極大値の間
隔が一定の比率範囲にある所定数以上の連続した極大値
の部分を検出して各バーの幅方向の中心座標及びバーコ
ード領域の幅方向範囲を求める。こうしてバーコード領
域の高さ方向範囲とバーコード領域の幅方向範囲を指定
してバーコード領域の検出ができる。
【0041】このように最初に2次元画像を2分割して
2つの分割領域を決め、各分割領域についてバーコード
領域の高さ方向範囲を判断し、続いて、このバーコード
領域の高さ方向範囲内においてバーコードの縦方向の画
素濃度投影値を求め、この画素濃度投影値からバーコー
ド領域の幅方向範囲を判断してバーコード領域を検出
し、さらに、この検出したバーコード領域から新たな中
心位置を再設定し、その中心位置が分割した分割領域の
どちらの領域に含まれるかを判断してバー数を数える方
向を決め、この決めた方向から数えたバー数が過半数と
なる位置を中心にして再度領域を分割し、改めてバーコ
ード領域の高さ方向範囲と幅方向範囲を判断してバーコ
ード領域を検出するようにしているので、バーコードの
傾きが大きく、しかも読取った2次元画像データ中にバ
ーコードgの上下に位置する画像ノイズや左右に位置す
る画像ノイズがあってもこれらの画像ノイズを効果的に
除去してバーコードの縦方向の画素濃度投影値を求める
ことができ、より高精度なバーコード検出ができる。
【0042】また、この実施の形態においても2次元画
像データを横方向及び縦方向の画素濃度という1次元デ
ータに投影し、この1次元データに対して処理を行って
バーコード領域の検出を行うため、処理時間が短くなり
迅速なバーコード領域の検出ができる。
【0043】なお、この実施の形態においても、第3の
実施の形態と同様にバーコード領域の高さ方向範囲と幅
方向範囲から、バーコードの傾きを検出することができ
る。
【0044】すなわち、バーコード傾きの角度を前記同
様に、 バーコード傾き角度=tan-1[{(左領域バーコード
開始高さ−右領域バーコード開始高さ)+(左領域バー
コード終了高さ−右領域バーコード終了高さ)}/(バ
ーコード幅方向終了位置−バーコード幅方向開始位
置)] によって求める。
【0045】さらに、この実施の形態においてはバーコ
ードの四隅の座標を検出することもできる。すなわち、
バーコードの傾きを検出した後、各分割領域におけるバ
ーコードの開始高さ(高さ方向範囲の上限位置)、終了
高さ(高さ方向範囲の下限位置)及びバーコードの傾き
に基づいて左端の第1バーと右端の最終バーの高さ方向
の中心位置を求める。
【0046】例えば、バーコードの傾き角度がマイナス
の場合、 第1バーの高さ方向中心={左領域開始高さ+左領域終
了高さ−(領域分割中心−第1バー幅方向中心)*ta
n(バーコード傾き角度)}/2 最終バーの高さ方向中心={右領域開始高さ−(最終バ
ー幅方向中心−領域分割中心)*tan(バーコード傾
き角度)+右領域終了高さ}/2 により求める。
【0047】また、バーコードの傾き角度が0度以上の
場合、 第1バーの高さ方向中心={左領域開始高さ+(領域分
割中心−第1バー幅方向中心)*tan(バーコード傾
き角度)+左領域終了高さ}/2 最終バーの高さ方向中心={右領域開始高さ+右領域終
了高さ−(最終バー幅方向中心−領域分割中心)*ta
n(バーコード傾き角度)}/2 により求める。
【0048】なお、左領域開始高さは図6における左バ
ーコード開始高さであり、左領域終了高さは図6におけ
る左バーコード終了高さであり、右領域開始高さは図6
における右バーコード開始高さであり、右領域終了高さ
は図6における右バーコード終了高さである。
【0049】このようにして第1バーと最終バーの高さ
方向の中心位置を求めた後、図7に示すように、第1バ
ーBs 及び最終バーBe の高さ方向における中心位置及
び幅方向における中心位置からこの第1バーBs 及び最
終バーBe のバー部分をサーチし、これによりバーコー
ド全体の四隅の座標を検出する。これにより、バーコー
ドのより正確な位置を求めることができる。
【0050】前述した各実施の形態はこの発明をバーコ
ード読取装置におけるバーコード領域の検出に適用した
ものについて述べたが必ずしもこれに限定するものでは
なく、バーコードの印刷品質を検査してバーコードが規
格を満たしているか否かを検証するバーコード検証装置
におけるバーコード領域の検出にも適用できるのは勿論
である。
【0051】すなわち、図8はバーコード検証装置の構
成を示すブロック図で、このバーコード検証装置21
は、光学系、CCDラインセンサ、制御回路等からな
り、印刷印刷されたバーコードを含む領域を読取って2
次元画像データを取込む画像取込み部22、この画像取
込み部22が取込んだ2次元画像データを記憶する画像
記憶部23、バーコード検証を開始させるスタートスイ
ッチ24、前記画像記憶部23に記憶した2次元画像デ
ータを読み出してバーコード領域を検出し、さらにこの
バーコード領域から各バーを抽出して検査するCPU
(中央処理装置)25及び検査結果を表示する表示部2
6により構成している。
【0052】図9は前記バーコード検証装置21が行う
バーコード検証処理を示す流れ図で、前記スタートスイ
ッチ24の操作により処理を開始する。先ず、S11に
て、前記画像取込み部22が2次元画像データの取込み
を行い、続いて、S12にて、前記画像記憶部23が2
次元画像データを記憶する。
【0053】前記CPU25はS13〜S18の処理を
行い、先ず、S13にて、本発明の要部となるバーコー
ド領域の検出を行い、続いて、S14にて、検出したバ
ーコード領域から各バーを抽出してその幅や長さを測定
する。続いて、S15にて、測定した各バーの幅及び長
さを基準値と比較してバーコードの寸法を検査する。続
いて、S16にて、抽出した各バーの反射率を各バーの
画素濃度をもとに求めるとともに各バーに挟まれたスペ
ース部分の反射率を求め、バーコードのコントラストを
算出する。
【0054】そして、S17にて、算出したコントラス
トをコントラスト基準値と比較してバーコードのコント
ラストを検査する。最後に、S18にて、一連の検査結
果を前記表示部26に表示させる。この一連のバーコー
ド検証処理のうち、CPU25が行うS13のバーコー
ド領域の検出は前述した第1乃至第4の実施の形態と同
様である。
【0055】
【発明の効果】請求項1乃至6記載の発明によれば、処
理時間を短くして迅速なバーコード領域の検出ができ、
しかもバーコードの上下にあるバーコード以外の印刷等
による画像ノイズを効果的に除去でき、高精度なバーコ
ード検出ができる。また、請求項3乃至6記載の発明に
よれば、さらに、バーコードの傾きが大きい場合でも精
度の高いバーコード検出ができる。
【0056】また、請求項4記載の発明によれば、さら
に、バーコードの左右にあるバーコード以外の印刷等に
よる画像ノイズをより効果的に除去でき、より精度の高
いバーコード検出ができる。また、請求項5及び6記載
の発明によれば、さらに、バーコードの傾きも検出する
ことができ、その後のバーコード認識処理の容易化を図
ることができる。また、請求項6記載の発明によれば、
さらに、バーコードの四隅位置を正確に検出できる。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態を示すもので、バー
コード読取装置のブロック図。
【図2】同実施の形態におけるバーコード読取り処理を
示す流れ図。
【図3】同実施の形態におけるバーコード領域の検出処
理を説明するための図。
【図4】本発明の第3の実施の形態におけるバーコード
領域の検出処理を説明するための図。
【図5】本発明の第4の実施の形態におけるバーコード
堅守領域の再設定及び幅方向範囲の中心位置の再設定を
説明するための図。
【図6】各分割領域で検出したバーコード領域における
左右バーコードの開始高さ及び終了高さ並びに領域分割
中心の関係を示す図。
【図7】検出したバーコード領域の第1バーと最終バー
をサーチしてバーコードの四隅の位置を検出する方法を
説明するための図。
【図8】本発明を適用する他の例であるバーコード検証
装置のブロック図。
【図9】同バーコード検証装置によるバーコード検証処
理を示す流れ図。
【図10】等ピッチバーコードの一例を示す図。
【図11】同等ピッチバーコードのバー構成を示す図。
【図12】等ピッチバーコードの他の例を示す図。
【符号の説明】
11…バーコード読取装置 12…画像取込み部 13…画像記憶部 15…CPU(中央処理装置)

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 取込んだバーコードを含む2次元画像か
    らバーコード領域を検出する場合に、 先ず、2次元画像の画素濃度データをバーの並びの方向
    である横方向に投影し、この投影値における極大値に隣
    合う極小値又は最小値に基づく位置間の幅をバーコード
    領域の高さ方向範囲と判断し、 続いて、この判断した高さ方向範囲内における2次元画
    像の画素濃度データをバーの方向である縦方向に投影
    し、この投影値において隣合う極大値の間隔が一定の比
    率範囲にある所定数以上の連続した極大値の部分をバー
    コード領域の幅方向範囲と判断し、 この判断により得た高さ方向範囲と幅方向範囲に基づい
    て2次元画像からバーコード領域を検出することを特徴
    とするバーコード領域の検出方法。
  2. 【請求項2】 取込んだバーコードを含む2次元画像か
    らバーコード領域を検出する場合に、 先ず、2次元画像の画素濃度データをバーの並びの方向
    である横方向に投影し、この投影値における極大値を全
    て検出し、この検出した極大値のうち最も大きい極大値
    に隣合う極小値又は最小値に基づく位置間の幅をバーコ
    ード領域の高さ方向範囲と判断し、 続いて、この判断した高さ方向範囲内における2次元画
    像の画素濃度データをバーの方向である縦方向に投影
    し、この投影値において隣合う極大値の間隔が一定の比
    率範囲にある連続した極大値の部分を検出し、この連続
    した極大値の部分が所定数以上の極大値を含む場合には
    この極大値の部分をバーコード領域の幅方向範囲と判断
    し、 また、この連続した極大値の部分が所定数以上無い場合
    には横方向の投影値における次に大きい極大値に隣合う
    極小値又は最小値に基づく位置間の幅を新たなバーコー
    ド領域の高さ方向範囲と判断して再度高さ方向範囲内に
    おける2次元画像の画素濃度データを縦方向に投影し、
    この投影値において隣合う極大値の間隔が一定の比率範
    囲にある連続した極大値の部分の検出を行ってバーコー
    ド領域の幅方向範囲の判定処理を行い、これを高さ方向
    範囲と幅方向範囲の両方が確定するまで繰返し、 高さ方向範囲と幅方向範囲が確定した時点で、この高さ
    方向範囲と幅方向範囲に基づいて2次元画像からバーコ
    ード領域を検出することを特徴とするバーコード領域の
    検出方法。
  3. 【請求項3】 取込んだバーコードを含む2次元画像か
    らバーコード領域を検出する場合に、 先ず、2次元画像の領域を分割し、それぞれの分割領域
    において独立して2次元画像の画素濃度データをバーの
    並びの方向である横方向に投影し、各分割領域の横方向
    の投影値における極大値に隣合う極小値又は最小値に基
    づく位置間の幅を各分割領域のバーコード領域の高さ方
    向範囲と判断し、 続いて、判断した各分割領域の高さ方向範囲内における
    2次元画像の画素濃度データをバーの方向である縦方向
    に投影し、この各分割領域における縦方向の投影値を連
    結した投影値において隣合う極大値の間隔が一定の比率
    範囲にある所定数以上の連続した極大値の部分をバーコ
    ード領域の幅方向範囲と判断し、 この判断により得た高さ方向範囲と幅方向範囲に基づい
    て2次元画像からバーコード領域を検出することを特徴
    とするバーコード領域の検出方法。
  4. 【請求項4】 取込んだバーコードを含む2次元画像か
    らバーコード領域を検出する場合に、 先ず、2次元画像の領域を分割し、それぞれの分割領域
    において独立して2次元画像の画素濃度データをバーの
    並びの方向である横方向に投影し、各分割領域の横方向
    の投影値における極大値に隣合う極小値又は最小値に基
    づく位置間の幅を各分割領域のバーコード領域の高さ方
    向範囲と判断し、 続いて、判断した各分割領域の高さ方向範囲内における
    2次元画像の画素濃度データをバーの方向である縦方向
    に投影し、この各分割領域における縦方向の投影値を連
    結した投影値において隣合う極大値の間隔が一定の比率
    範囲にある所定数以上の連続した極大値の部分をバーコ
    ード領域の幅方向範囲と判断し、 この判断により得た高さ方向範囲と幅方向範囲に基づい
    て2次元画像からバーコード領域を検出し、 さらに、この検出したバーコード領域に基づいて画像領
    域を再分割し、この再分割したそれぞれの分割領域にお
    いて独立して2次元画像の画素濃度データを横方向に投
    影し、各再分割領域の横方向の投影値における極大値に
    隣合う極小値又は最小値に基づく位置間の幅を各再分割
    領域のバーコード領域の高さ方向範囲と判断し、 続いて、この判断した各再分割領域の高さ方向範囲内に
    おける2次元画像の画素濃度データを縦方向に投影し、
    この各再分割領域における縦方向の投影値を連結した投
    影値において隣合う極大値の間隔が一定の比率範囲にあ
    る所定数以上の連続した極大値の部分をバーコード領域
    の幅方向範囲と判断し、 この判断により得た高さ方向範囲と幅方向範囲に基づい
    て2次元画像から最終的なバーコード領域を検出するこ
    とを特徴とするバーコード領域の検出方法。
  5. 【請求項5】 取込んだバーコードを含む2次元画像か
    らバーコード領域を検出する場合に、 先ず、2次元画像の領域を分割し、それぞれの分割領域
    において独立して2次元画像の画素濃度データをバーの
    並びの方向である横方向に投影し、各分割領域の横方向
    の投影値における極大値に隣合う極小値又は最小値に基
    づく位置間の幅を各分割領域のバーコード領域の高さ方
    向範囲と判断し、 続いて、判断した各分割領域の高さ方向範囲内における
    2次元画像の画素濃度データをバーの方向である縦方向
    に投影し、この各分割領域における縦方向の投影値を連
    結した投影値において隣合う極大値の間隔が一定の比率
    範囲にある所定数以上の連続した極大値の部分をバーコ
    ード領域の幅方向範囲と判断し、 この判断により得た高さ方向範囲と幅方向範囲に基づい
    て2次元画像からバーコード領域を検出し、 さらに、検出したバーコード領域の幅方向範囲の開始位
    置と終了位置及び各分割領域におけるバーコード領域の
    高さ方向範囲の開始位置と終了位置に基づいてバーコー
    ドの傾きを求めることを特徴とするバーコード領域の検
    出方法。
  6. 【請求項6】 取込んだバーコードを含む2次元画像か
    らバーコード領域を検出する場合に、 先ず、2次元画像の領域を分割し、それぞれの分割領域
    において独立して2次元画像の画素濃度データをバーの
    並びの方向である横方向に投影し、各分割領域の横方向
    の投影値における極大値に隣合う極小値又は最小値に基
    づく位置間の幅を各分割領域のバーコード領域の高さ方
    向範囲と判断し、 続いて、判断した各分割領域の高さ方向範囲内における
    2次元画像の画素濃度データをバーの方向である縦方向
    に投影し、この各分割領域における縦方向の投影値を連
    結した投影値において隣合う極大値の間隔が一定の比率
    範囲にある所定数以上の連続した極大値の部分をバーコ
    ード領域の幅方向範囲と判断し、 この判断により得た高さ方向範囲と幅方向範囲に基づい
    て2次元画像からバーコード領域を検出し、 さらに、バーコード領域の幅方向範囲内にある各極大値
    をバーコードの各バー幅の中心座標と判断し、また、検
    出したバーコード領域の幅方向範囲の開始位置と終了位
    置及び各分割領域におけるバーコード領域の高さ方向範
    囲の開始位置と終了位置に基づいてバーコードの傾きを
    求め、 各分割領域におけるバーコード領域の高さ方向範囲の開
    始位置と終了位置及び求めたバーコードの傾きに基づい
    てバーコードの最初のバーと最終のバーの高さ方向の中
    心位置を求め、この最初のバーと最終のバーの高さ方向
    の中心位置及びこの各バー幅の中心座標からバー部分を
    サーチしてバーコードの四隅の位置を検出することを特
    徴とするバーコード領域の検出方法。
JP9352720A 1997-12-22 1997-12-22 バーコード領域の検出方法 Pending JPH11184959A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9352720A JPH11184959A (ja) 1997-12-22 1997-12-22 バーコード領域の検出方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9352720A JPH11184959A (ja) 1997-12-22 1997-12-22 バーコード領域の検出方法

Publications (1)

Publication Number Publication Date
JPH11184959A true JPH11184959A (ja) 1999-07-09

Family

ID=18425981

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9352720A Pending JPH11184959A (ja) 1997-12-22 1997-12-22 バーコード領域の検出方法

Country Status (1)

Country Link
JP (1) JPH11184959A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117454096A (zh) * 2023-12-25 2024-01-26 西安高商智能科技有限责任公司 一种电机生产质量检测方法及系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117454096A (zh) * 2023-12-25 2024-01-26 西安高商智能科技有限责任公司 一种电机生产质量检测方法及系统
CN117454096B (zh) * 2023-12-25 2024-03-01 西安高商智能科技有限责任公司 一种电机生产质量检测方法及系统

Similar Documents

Publication Publication Date Title
EP0669593B1 (en) Two-dimensional code recognition method
KR100263734B1 (ko) 2차원 코드 기호 마크의 디코딩 방법
US20030210407A1 (en) Image processing method, image processing system and image processing apparatus
US7380718B2 (en) Method for reading out symbol information and device for reading out symbol information
JPH0612515A (ja) Ccd/cmdカメラを使用して二次元バーコードを復号する方法及び装置
WO2013044875A1 (zh) 线性条码识别方法和系统
JPH1063772A (ja) データマトリックスシンボルを有する機械読取り可能なシンボルを探し、デコードするための方法及び装置
KR930023865A (ko) 바코드 판독장치
CN101978380A (zh) 二维符号及其读取方法
JPH06309485A (ja) 光学的情報読取装置
US6941026B1 (en) Method and apparatus using intensity gradients for visual identification of 2D matrix symbols
KR100275006B1 (ko) 자동판독개시기능이 달린 바코드 판독장치
CN112556994B (zh) 一种光学信息检测方法、装置及设备
JP5182182B2 (ja) 色補正方法及び撮像システム
JPH10208001A (ja) 2次元コードおよび2次元コードの読取方法
JP2565885B2 (ja) 空間パタ−ンコ−ド化方法
JPH11184959A (ja) バーコード領域の検出方法
JP2961140B2 (ja) 画像処理方法
JP2726969B2 (ja) データ読取装置
JP2628951B2 (ja) 画像欠陥判別処理装置
JPH10320560A (ja) 画像測定装置
JP3730716B2 (ja) バーコード読取装置
JP2737755B2 (ja) データ読取装置
JP2929710B2 (ja) 文字読み取り方法
JP4238796B2 (ja) 光学的情報読取方法