JP3231612B2 - バーコード認識装置及び方法 - Google Patents

バーコード認識装置及び方法

Info

Publication number
JP3231612B2
JP3231612B2 JP34206895A JP34206895A JP3231612B2 JP 3231612 B2 JP3231612 B2 JP 3231612B2 JP 34206895 A JP34206895 A JP 34206895A JP 34206895 A JP34206895 A JP 34206895A JP 3231612 B2 JP3231612 B2 JP 3231612B2
Authority
JP
Japan
Prior art keywords
barcode
bar code
image
processing
extracted
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
JP34206895A
Other languages
English (en)
Other versions
JPH09185671A (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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP34206895A priority Critical patent/JP3231612B2/ja
Publication of JPH09185671A publication Critical patent/JPH09185671A/ja
Application granted granted Critical
Publication of JP3231612B2 publication Critical patent/JP3231612B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、画像処理によるバ
ーコード認識装置に係り、特に広範囲な視野内を特定方
向で通過する移動体に貼られたバーコードを読みとるの
に好適な認識方法及び装置に関する。
【0002】
【従来の技術】最近では製品の品質管理を容易に行うた
め、製品にバーコードを付して、これを映像として取り
込んで、製品に貼り付けられたバーコードを読みとっ
て、製品の種別等を認識して製品を管理する方法が行わ
れている。
【0003】搬送装置により運ばれてくる移動体に貼ら
れたコードを検出する技術としては例えば特開昭58−19
5275号公報に記載されている。この技術は、製品が運ば
れてくる製品を分配するものに係り、製品に付されたコ
ードをカメラで取り込んでコードを認識する場合におい
て、コードの角度が一定でない場合でも読みとれるよう
にしたものである。それは、コードをストライプ方向に
対して90°乃至45°の角度で検出される平行なストラ
イプのグループで形成し、そのグループに1つの位置決
めストライプを付属する。そして検出時においてはこの
位置決めストライプに基づいてコードの位置を突き止め
てコードを評価するものである。
【0004】
【発明が解決しようとする課題】しかしながら、上記の
ように各コードに位置を決めるためのストライプを形成
することは、コード全体が大きくなりラベル全体が大き
くなる。また、このストライプが付されていないコード
が入ってきた場合には、当然にコードを読みとることが
できず汎用性に欠ける。また上記従来技術では1つの画
像入力装置によりコードを取り込んでいるために例えば
コンベアで製品が運ばれてきた場合に、上手く取り込め
ない場合が発生する。
【0005】また、このようにカメラから取り込んだバ
ーコードラベルを認識する場合、バーコード以外のノイ
ズが画像に現れる。このような場合、ノイズとバーコー
ドを分離しないと、ノイズの部分をバーコードとして認
識する場合が発生し、誤認識を生ずる。
【0006】本発明は、このような欠点に鑑みてなされ
たもので高速に移動する物体に貼り付けられたバーコー
ドラベルが広範囲な視野内を不特定方向で通過しても、
狭い設置環境で確実にバーコードラベルを抽出して、バ
ーコードを高精度に認識するバーコード認識装置を提供
することにある。
【0007】
【課題を解決するための手段】本発明の目的は、バーコ
ードを貼り付けた被計測対象物を移動するための搬送装
置,該搬送装置の上部に設置された複数の画像入力装
置,該画像入力装置から取り込まれた画像を処理して、
前記被計測対象物に貼り付けられた前記バーコードを読
みとる画像処理装置とを備えたバーコード認識装置にお
いて、前記複数の画像入力装置から取り込まれた画像を
最大値フィルタ及び最小値フィルタによる処理を指定し
た回数行うとともに膨張処理によりフィルタリング処理
し、該フィルタリング処理した画像と前記画像入力装置
から取り込んだ前記画像より前記バーコードを抽出する
バーコード抽出部と該抽出されたバーコードの特徴量を
抽出するバーコードスキャン処理部と、該抽出された特
徴量に基づいて該バーコードを認識するバーコード認識
部とを有する処理装置を備えることにより達成すること
ができる。
【0008】また上記目的は、バーコードを貼り付けた
被計測対象物の画素を画像装置から取り込み、該取り込
まれた画像を処理して、前記被計測対象物に貼り付けら
れた前記バーコードを読みとるバーコード認識方法にお
いて、前記複数の画像入力装置から取り込まれた画像を
最大値フィルタ及び最小値フィルタによる処理を指定し
た回数行うとともに膨張処理によりフィルタリング処理
し、該フィルタリング処理した画像と前記画像入力装置
から取り込んだ前記画像より前記バーコードを抽出し、
該抽出されたバーコードの傾きを検出すると共に該傾き
に応じて該バーコードの特徴量を抽出し、該抽出された
特徴量に基づいて該バーコードを認識することにより達
成することができる。
【0009】
【発明の実施の形態】以下、本発明の実施例を図面に従
って説明する。
【0010】図1に画像処理によるバーコード認識装置
のシステム全体の構成を示す。
【0011】図1において、バーコード認識装置1は、
常にマルチカメラユニット3から入力する映像に対して
バーコードラベルの検知処理を行っている。尚、通常の
状態では、入力画像が暗いためバーコードラベルを検知
することができない。そこで、バーコードラベルを検知
するためにストロボ2を設け、入力画像を明るくするこ
とによりバーコードラベルの検知処理を行う。具体的に
は、ベルトコンベア4からバーコードが印刷されたバー
コードラベル6が貼り付けられた移動体5が運ばれてく
る。移動体5が光電子スイッチ7を通過すると、光電子
スイッチ7の信号はバーコード認識装置1に送られる。
これにより、バーコード認識装置1は認識対象物である
移動体5が認識を可能とする認識領域に侵入したと判断
する。光電子スイッチ7からバーコード認識装置1へ送
られた信号により、バーコード認識装置1はストロボ2
を発光させるためにマルチカメラユニット3内にある同
期回路部(図示しない)にストロボON信号を送信す
る。マルチカメラユニット3内の同期回路部はストロボ
2に同期信号を送信し、ストロボ2はこの同期信号に合
わせて発光する。ストロボ2が発光すると、明るくなる
ためにバーコードラベル6に印刷されたバーコードをバ
ーコード認識装置1により認識することができる。この
ようにバーコードラベル6を検知することができる状態
で、バーコードラベル6が貼り付けられた移動体5がマ
ルチカメラユニット3の下を通過すると、バーコード認
識装置1は、バーコードラベル6を検知して認識処理を
実行する。マルチカメラユニット3内には、複数のカメ
ラと同期回路が配置されており、各カメラは、同期回路
からの同期信号に合わせて画像を取り込んでバーコード
認識装置1に取り込んだ画像を送信する。そして移動体
5が光電子スイッチ8の前を通過すると、光電子スイッ
チ8はバーコード認識装置1に対して割り込み信号を送
信する。これにより、バーコード認識装置1では認識対
象物である移動体5が認識領域から出たことを認識す
る。バーコード認識装置1は、光電子スイッチ8からの
割り込み信号によって、ストロボ2を消光させるために
マルチカメラユニット3内にある同期回路部にストロボ
OFFの信号を送信する。これによりマルチカメラユニ
ット3内の同期回路部はストロボ2に送信していた同期
信号を停止する。ストロボ2が消光すると、バーコード
認識装置1は入力映像が暗くなるためバーコードラベル
6を検知することができなくなる。また、バーコード認
識装置1は、バーコードラベル6の検知処理中に、光電
子スイッチ8からの割り込み信号を受信すると、移動体
5にバーコードラベル6が貼られていないことを認識す
る。
【0012】このように、光電子スイッチ7と光電子ス
イッチ8によりストロボ2の発光を制御することにより
ストロボ2の寿命を延ばし、長時間使用できるようにし
ている。
【0013】図2に、バーコード認識装置1のハードウ
エア構成を示す。
【0014】図2において、ハードディスク201はバ
ーコード認識に必要な環境ファイルを格納している。こ
の環境ファイルへのデータの格納はオペレータがディス
プレイ205を参照してマウス206,キーボード20
7から自由に入力することができる。バーコード認識装
置1は、電源投入により処理装置203によってバーコ
ード認識処理を実行する。処理装置203はバーコード
抽出部1401,バーコードラベル抽出部1402,バ
ーコード傾き検出部1403,ラインスキャン処理部1
404,バーコード解読処理1405,カウンタ部14
06,メモリ部1407から構成されている。なお、各
部の処理の内容については後述する。I/Oコントロー
ラ204は、ディスプレイ205,マウス206,キー
ボード207のマンマシン系I/Oの入出力をコントロ
ールする。DI/DOボード216は、光電子スイッチ
7,光電子スイッチ8からの割り込み信号入力と、マル
チカメラユニット3へのストロボON/OFF信号の出
力を行う。画像処理ボード213,214,215はそ
れぞれ2つのカメラから送られてくる画像信号に対して
画像処理を行うものである。例えば本実施例では、画像
処理ボード213は、カメラ218とカメラ219からの
画像信号に対して、画像処理ボード214は、カメラ22
0とカメラ221からの画像信号に対して、画像処理ボ
ード215は、カメラ222とカメラ223からの画像信
号に対してそれぞれ画像処理を行う。それぞれの画像処
理ボード213,214,215は、画像処理を制御す
る画像処理プロセッサー211と、画像データを格納す
る画像メモリ209とビデオインターフェイス212を
介して接続されるカメラ切り替え器208から構成され
る。
【0015】図3は、ベルトコンベア4によって運搬さ
れる各種移動体302,303,304と、移動体30
2,303,304に貼られたバーコードラベル6と、
コンベア幅一杯を視野範囲にするマルチカメラユニット
3の構成例を示す。
【0016】図3において、バーコードラベル6は、バ
ーコードが印刷されており、各種移動体302,30
3,304に張り付けられている。バーコードラベル6
に印刷されたバーコードを認識するためのマルチカメラ
ユニット3内に設置された複数のカメラ視野領域を示し
たのがカメラ視野35である。本実施例では一例として
6台のカメラを備えた場合について説明する。1個のカ
メラ視野幅は133mmとした場合、6個のカメラ視野幅
を598mmとしている。つまりカメラ同士の重なり幅を
40mmとし対象としているバーコードラベル6の幅36
mmより大きくとっている。このようにカメラ同士の視野
領域を重ねることにより、重なり部分に侵入したバーコ
ードラベル6は必ずどちらかのカメラにて確実に映像と
して捕えることができる。実際にベルトコンベア4によ
り移動してくる移動体302,303,304は任意の方向
に向いており、この移動体302,303,304に貼
られたバーコードラベル6の方向も任意の方向に向いて
いる。モーター36は、ベルトコンベア4を稼働するた
めのものである。
【0017】次に、バーコード認識装置1における処理
装置203のバーコードを認識する処理について説明す
る。
【0018】図4はバーコード認識処理全体の処理のフ
ローを示したものである。
【0019】ブロック401では、マルチカメラユニッ
ト3から取り込んだ入力画像を画像処理ボード内の画像
メモリ209に取り込む。ブロック402では、処理装
置203のバーコード抽出部1401による処理で画像
メモリ209に取り込まれた入力画像409に対してバ
ーコードの特徴である黒の縞模様を抽出した縞模様抽出
画像410を生成する。ブロック403では、処理装置
203のバーコードラベル抽出部1402の処理で抽出
した縞模様抽出画像410に膨張処理と縮小処理を行い
バーコードラベル6のエリアを抽出したバーコードラベ
ル抽出画像411を生成し、そのエリアの始点と終点の
座標を算出する。ブロック404は処理装置203のバ
ーコード傾き検出部1403の処理で不特定な向きでバ
ーコードラベル6を検出した場合もバーコードを認識で
きるようにするために、バーコードの傾きを検出する。
ブロック405では、処理装置203のラインスキャン
処理部1404の処理でバーコードの傾きに従ってバー
コード部分の画素情報である輝度を抽出し、抽出した画
素情報をヒストグラムにしてラインスキャン画像を生成
する。ブロック406〜ブロック408は処理装置20
3のバーコード解読処理部1405の処理でブロック4
07はバーコードラベルの解読を環境ファイルにて予め
指定された回数分繰り返し行われたかを判断し、指定さ
れた回数を行っていない場合には、ブロック405の処
理を再び行う。
【0020】一方、指定回数分繰り返されている場合に
は、ブロック408にて環境ファイルで指定された回数
分の解読結果により、解読結果が正しいか否かの確認を
行っている。ここで、解読結果が正しいか否かを判断す
る方法は、複数回解読した結果のうち、同じ解読結果が
解読回数の過半数以上であれば解読結果が正しいと判断
し、そうでない場合は誤りであると判定する。
【0021】図5は、バーコード抽出部1401の処理
の詳細を示したものでバーコードの特徴である黒の縞模
様のみを、画像処理コマンドの最大値フィルタと最小値
フィルタと画像差分を使用して抽出する処理のフローを
示したものである。
【0022】ここで最大値フィルタと最小値フィルタに
ついて説明する。最大値フィルタは、対象となる画像か
ら1つの画素を選択し、この画素の近傍m×n画素を選
定し、そのm×n画素内において輝度の最も大きい値を
求め、その輝度値を選択した画素の値とする。そしてこ
の処理を全ての画素に対して行うことである。また最小
値フィルタとは、対象となる画像から1つの画素を選択
し、この画素の近傍m×n画素を選定し、そのm×n画
素内において輝度の最も小さい値を求め、その値を選択
した画素の値とする。そしてこの処理を全ての画素に対
して行うことである。
【0023】では具体的に、入力画像509の処理を例
に説明する。ここで、入力画像509はバーコード(a)
とバーコード以外の画像でバーコードよりも大きいノイ
ズ(b),バーコードよりも小さいノイズ(c)を含ん
でいるものとする。
【0024】まず、ブロック501では、最大値フィル
タを実施した回数をカウントする処理装置203のカウ
ンタ部1406に設けられた最大値フィルタ実施カウン
タをクリアする。ブロック502では、画像処理コマン
ドの最大値フィルタにより入力画像509に対して画像
処理を行う。ブロック503は、最大値フィルタ実施カ
ウンタをインクリメントする。ブロック504は、最大
値フィルタ実施カウンタが環境ファイルで予め指定され
た回数分実施したか否かを判断し、指定された回数実施
していない場合はブロック502から再度処理を行う。
このように入力画像に対して最大値フィルタによる処理
を繰り返し行うとバーコード(a)とノイズ(c)が消
え、ノイズ(b)が残った画像511が得られる。しか
しながらバーコードの太さはカメラの視野サイズによっ
て変動するため、バーコードの特徴である縞模様を消す
ための最大値のフィルタの実施回数も変動する。そこで
黒バーが最大値フィルタの実施により消えるまでの回数
を予め環境ファイルに登録することによりこの問題を解
決している。
【0025】ブロック504で最大値フィルタによる処
理が指定した回数行われた場合には、ブロック505以
降を実行する。ブロック505,506,507は最大
値フィルタを実施した回数分最小値フィルタを実施す
る。この最小値フィルタにより処理を行うことによっ
て、ノイズ(b)のみとなった画像511のノイズ
(b)を入力画像509と同じ元の大きさに戻した画像
511が得られる。そしてブロック508では、最小値
フィルタを実施した結果の画像512と入力画像509
との差分をとる。これによりノイズ(b)が消去され、
バーコード(a)の黒バーの部分とノイズ(c)を浮か
び上がらせた画像513が生成される。
【0026】このように最大値フィルタと最小値フィル
タとの組み合わせによりバーコード(a)よりも大きい
ノイズ(b)を消去することができる。
【0027】しかしながら、バーコード(a)よりも小
さいノイズ(c)は最大値フィルタによる処理を行って
もバーコード(a)よりも先に消去されてしまうため、
このような方法では処理することができない。そこで、
バーコード(a)よりも小さいノイズを消去するための
処理を図6に示す。
【0028】図6は、処理装置203のバーコードラベ
ル抽出部1402の詳細を示すものでバーコード(a)
よりも小さいノイズ(b)を取り除いたバーコードラベ
ル6の部分を入力画像より抽出する処理のフローを示し
たものである。
【0029】図6において、ブロック601,602,
603では、図5で抽出した画像513について画像処
理コマンドの2値化処理を行うために、画素の輝度の最
大値と最小値を求めて2値化しきい値を算出する。ブロ
ック604は、2値化しきい値を使って抽出画像513
を図7に示す2値化画像714に変更する。ブロック6
05,606,607,608は、2値化画像714に
ついて、画像処理コマンドの膨脹処理を予め定めた回数
分繰り返し処理を実行する。このように膨張処理を実行
することにより白い領域が膨張し、最終的にバーコード
が連続した白い領域となった画像715が生成される。
ブロック609は、整形した2値化画像内の白い領域に
対して画像処理コマンドのラベリング処理を行い各白い
領域に対してラベルを割り当て、各ラベルを割り当てた
白い領域について面積を求める。ブロック610は、ラ
ベルを割り当てた白い領域の中から最大面積のラベル番
号を求める。ブロック611は、最大面積のラベルを除
いた全てのラベルを消去する。つまりここでは、画像を
黒くする。これによりバーコード(a)の部分が抽出さ
れ、ノイズ(c)を消去した画像717を生成すること
ができる。ブロック612は、画像処理コマンドのX軸
方向投影を使用して、最大面積のラベルのx座標(x
e,xs)を算出し、処理装置203のメモリ部140
7へ格納する。ブロック613は、画像処理コマンドの
Y軸方向投影を使用して、最大面積のラベルのy座標
(ye,ys)を算出し、処理装置203のメモリ部14
07へ格納する。またバーコードが傾いている場合には
画像718のようにx座標(xe,xs)とy座標(y
e,ys)を決定する。これにより、入力画像内におけ
るバーコードラベルのエリア座標が算出できる。
【0030】図8は、処理装置203のバーコード傾き
検出部1403の詳細を示すものでバーコードラベルの
傾きを求め画素情報を抽出する処理のフローを示したも
のである。
【0031】図8において、ブロック801は、傾きを
求めるために、最大面積抽出で求めた起点(xs,y
s)と終点(xe,ye)をメモリ部1407から読み
とり最大面積の白い領域を囲む(以下、囲んだ領域のこ
とをウインドウと称す。)。ブロック802は、45°
以上にラベルが傾いているか否かを判断するため、ウイ
ンドウ枠の横辺(|xe−xs|)と縦辺(|ye−y
s|)を比較する。縦辺の長さより横辺の長さが大きい
ときは、ブロック803,804を実行する。縦辺が大
きいときは、ブロック807,808を実行する。ブロ
ック803は、ウインドウ枠の上辺と白い領域の上部の
代表点2点の差を求め、その差の変化量(u2−u1)
から白い領域の上部の傾きを求める。ブロック809
は、ウインドウ枠の下辺と白い領域の下部の代表点2点
の差を求め、その差の変化量(d2−d1)から白い領
域の下部の傾きを求める。ブロック807,808で
は、ブロック803,804と同様の処理を行い左辺と
右辺について行い、右辺と左辺の傾きを求める。ブロッ
ク805は、ブロック803,804又は808,809
で求めた上辺(左辺)と下辺(右辺)の傾きから平均の
傾きを求める。
【0032】平均の傾き=(上部(左部)の傾き+下部
(右辺)の傾き)/2 ブロック806は、求めた平均の傾きがウインドウの中
央を通るときの接辺を求める。これにより、画素情報を
抽出するためのラインスキャン処理の始点と終点を次の
ように求めることができ処理装置203のメモリ部14
07に格納する。
【0033】始点X座標 Lxs=xs 始点Y座標 Lys=平均の傾き×xs+接辺 終点X座標 Lxe=xe 終点Y座標 Lye=平均の傾き×xe+接辺 これにより図9(a)に示すようにバーコードをスキャ
ンして、その輝度を求め図12に示すヒストグラムを作
成するがバーコードが傾いている場合、その輝度を正確
に求められない場合が生ずる。図9(b)はバーコード
の一部を拡大したものであるが、この場合、スキャンが
βで行われればバーコードの画素をとらえることができ
るが、αのようにスキャンした場合にはバーコードの画
素をとらえることができない。そこでこのような場合を
防止するために、バーコードの画像を図9(c)に示す
ように0〜45度、図9(d)に示すように45〜90
度に分けて補完を行う。黒い部分はバーコードを示した
画素であり、白抜きの部分は補完した部分である。
【0034】そして処理装置203のスキャン処理部1
404で行う補完方法の処理フローを図10に示す。
【0035】まずブロック1001は処理装置203の
メモリ部1407にある画素データ格納配列及び距離デ
ータ格納配列にデータを格納する時に使用する配列番号
をクリアしている。ブロック902はバーコードラベル
の傾きが45度以内かを判断している。45度以内の時
は、x軸を順に変化させて画素情報を取り込む処理をブ
ロック1003〜1015のフローに従って行う。45
度以内でないときには、y軸を順次変化させて画素情報
を取り込む処理をブロック1016〜ブロック1028
のフローに従って行う。ブロック1003はメモリ部1
407にあるループカウンタ(以降x1)の始点のx座
標を設定する。ブロック1004は、y軸座標が変化し
たか否かを判断するために必要な改行判定要素として始
点のy座標を初期設定する。ブロック1005は、ルー
プカウンタのx座標が示す位置の画素情報を取り込むた
めのy座標(y1)を算出する。ブロック1006は、
算出したy座標が改行判定要素と同じか否かを判断す
る。同じ場合はブロック1011以降の処理を実施し、違う
場合はブロック1007〜ブロック1010までの補完
処理を実施した後にブロック1011以降を実施する。
ブロック1007は、y軸座標が変化したための補完処
理を行う。補完方法はループカウンタが示す座標の1個
前のx座標とブロック1005にて算出したy座標が示
す画素の輝度を取り込む。またループカウンタが示すx
座標と改行判定要素が示すy座標が示す画素の輝度を取
り込む。取り込んだ2つの画素の輝度の平均を求めて画
像データ格納配列に設定する。
【0036】画像データ格納配列=((x1−1,y
1)の示す画素の輝度+(x1,改行判定要素)の示す
画素の輝度)/2 ブロック1008は始点からの距離データを下式のよう
に補完して距離データ格納配列に設定する。
【0037】距離データ格納配列=(x1−始点x座標
−0.5)/(cos(傾き角度)) ブロック1009は、配列番号をインクリメントする。
ブロック1010は改行判定要素にy1を設定して更新
する。ブロック1011は、ループカウンタとy1が示
す位置の画素の輝度を取り込み、画素データ格納配列に
設定する。ブロック1012は、始点からの距離データ
を下式のように補完して距離データを格納配列に設定す
る。
【0038】距離データ格納配列=(x1−始点x座
標)/(cos(傾き角度) ブロック1013は、配列番号をインクリメントする。
ブロック1014は、ループカウンタが終点のx座標位
置まで変化したか否かを判断している。変化した場合は
処理を終了し、変化していない場合はブロック1015
にてループカウンタをインクリメントしてブロック10
05以降を実行する。
【0039】ブロック1016〜ブロック1028まで
の処理は、y軸座標を順次変化させてブロック1003
〜ブロック1015までの処理と同様の処理を行う。な
お、距離データ補完方法としては、補完を行った画素の
画像データ格納配列に対応したフラグ配列を設けて、画
素データ取り込み後にフラグの有無によって距離データ
を補完するようにしてもよい。
【0040】図11は、読み出した画素情報からバーコ
ードの特徴量を抽出して文字に変換する処理のフローを
示したものである。
【0041】図11においてブロック1111はライン
スキャンした画素情報からバーコード解読に必要な部分
をサーチ範囲として求める。求める方法は、画素情報が
格納されている画像データ格納配列内から輝度の最大値
と最小値を求め、最大値と最小値の1/3の値を最小値
に加えた値をスタートエンド位置検出値として求める。
その次に画像データの格納配列の0から順にインクリメ
ントしてスタートエンド位置検出値以下の輝度を検索
し、最初に検索した輝度値を格納している配列番号をサ
ーチ範囲のスタート位置とする。更に画像データ格納配
列の終わりから順にデクリメントしてスタートエンド位
置検出値以下の輝度値を検索し、最初に検索した輝度値
を格納している配列番号をサーチ範囲のエンド位置とし
て求める。ブロック1102は、黒太バーの位置を算出
する。算出方法は、図12(a)を用いて説明する。最
初にサーチ範囲算出で使用した最小値を黒太バー算出値
のしきい値とする。黒太バーの算出は、スター位置とエ
ンド位置の間で示すサーチ範囲内の輝度値に対してしき
い値を少しずつ大きくしながら、しきい値以下の輝度を
示す画素情報の個数を検索し、検索した個数が(環境フ
ァイルで指定された認識文字+2)×2になるまでしき
い値を更新しながら繰り返す。なお、図12の例は認識
文字数が7文字のときの実施例である。しきい値以下の
輝度を検索した場合には、その画素の距離データを距離
データ格納配列より取り込み、黒太バー位置配列に格納
する。ブロック1103は白バーの位置を算出する。算
出方法は、図12(b)を用いて説明する。最初にサー
チ範囲算出で使用した最大値を白バー算出のしきい値と
する。白太バーの算出はスタート位置とエンド位置の間
で示すサーチ範囲内の輝度値に対してしきい値を少しず
つ小さくしながら、しきい値以上の輝度を示す画素情報
の個数を検索し、検索した個数が(環境ファイルで指定
された認識文字数+1)になるまでしきい値を更新しな
がら繰り返す。なお、図12の例は認識文字数が7文字
の時の実施例である。しきい値以上の輝度を検索した場
合は、その画素の距離データを距離データ格納配列より
取り込み、白太バー位置配列に格納する。ブロック11
04は、バーコード認識文字単位に区切られている位置
を算出する。区切られた位置の算出方法は、最初黒バー
位置検出で求めた黒太バー位置配列の最初と最後の値か
ら黒バーの幅を求める。細バーと太バーの比率が1:
2.5 の関係にあるとき細バーの幅:1文字の間隔は
1:14.5(キャラクターギャップの幅を含む)の関係
がある。この関係から1文字の幅を算出して、全体の文
字区切り位置を算出し、区切り位置配列に格納する。ブ
ロック1005は、エンドキャラクター“*”の特徴量
を算出する。特徴量とは区切り位置からの黒太バー1本
目までの距離と黒太バー2本目までの距離と白太バーま
での距離を示す。エンドキャラクターの特徴量は、以下
の式によって求めることができる。
【0042】黒太バー1本目=(黒太バー位置配列の最
後の前の値)−(区切り位置配列の最後) 黒太バー2本目=(黒太バー位置配列の最後の値)−
(区切り位置配列の最後) 白太バー=(白太バー位置配列の最後)−(区切り位置
配列の最後) ブロック1106は、ブロック1105にて算出された
特徴量が、エンドキャラクター“*”の特徴量(図13
は、バーコードの特徴量の一覧を示す)と環境ファイル
にて指定した許容値内で合致しているか否かを判断して
いる。合致している場合は、ブロック1110以降を実
行し、合致していない場合は、ブロック1107,11
08,1109は、バーコードラベルがラインスキャン
処理のスキャン方向と180度回転した状態で取り込ん
だときの処理で、黒太バー位置配列と白太バー位置配列
と区切り位置配列の値を再計算する。ブロック110
7,1108の再計算方法は次の通り配列全データにつ
いて行い、その後値の小さい順に並べ変える。
【0043】黒太バー位置配列=(距離データ格納配列
の最後の値)−(黒太バー位置配列の値) 白太バー位置配列=(距離データ格納配列の最後の値)
−(白太バーの値配列の値) ブロック1109はブロック1104と同様の計算を再
度行って区切り位置配列の値を求める。ブロック111
0は、文字の区切り単位に特徴量を求める。求める方法
は、ブロック1105と同様に認識文字n番目(nは0
から認識文字数−1まで)の特徴量は、以下のように求
める。
【0044】黒太バー1本目=(黒太バー位置配列の
(2×n+2)番目の値)−(区切り位置配列のn番
目) 黒太バー2本目=(黒太バー位置配列の(2×n+3)
番目の値0)−(区切り位置配列n番目) 白太バー=(白太バー位置配列のn番目の値)−(区切
り位置配列のn番目) ブロック1101は、算出した特徴量に許容値以内で合
致する特徴量を持つ文字を特徴量管理テーブルから検索
する。(特徴量管理テーブルの内容を図13に示す。)
ブロック1112は、環境ファイルにて指定された認識
文字数分解読したか否かを判断している。文字数分解読
しているときは処理を終了し、解読していないときには
ブロック1110以降を実行して次の文字を解読する。
【0045】
【発明の効果】本発明により、既存の生産ラインや検査
ライン上を不特定方向に移動する移動体に貼り付けられ
たバーコードをバーコードよりも大きいノイズを消去す
ることができて、あるいは画素を補完して認識できる装
置を安価に提供できる。
【図面の簡単な説明】
【図1】画像処理によるバーコード認識システム全体の
構成を示したものである。
【図2】バーコード認識装置のハードウエア構成を示し
たものである。
【図3】ベルトコンベア上に設置されるマルチカメラの
視野と運搬される移動体を示したものである。
【図4】バーコード認識処置の全体フローを示したもの
である。
【図5】バーコードの特徴量である縞模様を抽出する処
理のフローを示したものである。
【図6】バーコードラベル部分を抽出する処理フローを
示したものである。
【図7】バーコードラベル部分を抽出する時の画像を示
したものである。
【図8】バーコードラベルの傾きを計算する処理フロー
を示したものである。
【図9】ラインスキャン処理の補完方法を示したもので
ある。
【図10】バーコード部分の画素情報を読みとるライン
スキャン処理のフローを示したものである。
【図11】バーコードを解読する処理フローを示したも
のである。
【図12】黒線抽出と白線抽出の例を示す。
【図13】バーコードの特徴量の一覧を示す。
【図14】処理装置の構成を示したものである。
【符号の説明】
1…バーコード認識装置、2…ストロボ、3…マルチカ
メラユニット、4…ベルトコンベア、5…移動体、6…
バーコードラベル、7,8…光電子スイッチ、201…
ハードディスク、203…処理装置、213,214,
215…画像処理ボード、1401…バーコード抽出
部、1402…バーコードラベル抽出部、1403…バ
ーコード傾き検出部、1404…ラインスキャン処理
部、1405…バーコード解読処理部、1406…カウ
ンタ部、1407…メモリ部。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 北村 忠明 茨城県日立市大みか町七丁目1番1号 株式会社 日立製作所 日立研究所内 (72)発明者 久島 実 茨城県日立市大みか町五丁目2番1号 株式会社 日立製作所 大みか工場内 (72)発明者 海老沢 匠 茨城県日立市大みか町五丁目2番1号 日立プロセスコンピュータエンジニアリ ング株式会社内 (72)発明者 米丘 孝幸 茨城県日立市大みか町五丁目2番1号 日立プロセスコンピュータエンジニアリ ング株式会社内 (72)発明者 藤田 愼也 茨城県日立市大みか町五丁目2番1号 日立プロセスコンピュータエンジニアリ ング株式会社内 (72)発明者 小湊 康雄 茨城県日立市大みか町五丁目2番1号 日立プロセスコンピュータエンジニアリ ング株式会社内 (72)発明者 岩本 俊之 茨城県日立市大みか町五丁目2番1号 日立プロセスコンピュータエンジニアリ ング株式会社内 (72)発明者 黒木 幹雄 茨城県日立市大みか町五丁目2番1号 日立プロセスコンピュータエンジニアリ ング株式会社内 (56)参考文献 特開 平2−125381(JP,A) 特開 平2−44484(JP,A) 特開 昭63−220381(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06K 7/10

Claims (4)

    (57)【特許請求の範囲】
  1. 【請求項1】バーコードを貼り付けた被計測対象物を移
    動するための搬送装置,該搬送装置の上部に設置された
    複数の画像入力装置,該画像入力装置から取り込まれた
    画像を処理して、前記被計測対象物に貼り付けられた前
    記バーコードを読みとる画像処理装置とを備えたバーコ
    ード認識装置において、前記複数の画像入力装置から取
    り込まれた画像を最大値フィルタ及び最小値フィルタに
    よる処理を指定した回数行うとともに膨張処理により
    ィルタリング処理し、該フィルタリング処理した画像と
    前記画像入力装置から取り込んだ前記画像より前記バー
    コードを抽出するバーコード抽出部と該抽出されたバー
    コードの特徴量を抽出するバーコードスキャン処理部
    と、該抽出された特徴量に基づいて該バーコードを認識
    するバーコード認識部とを有する処理装置を備えたこと
    を特徴とするバーコード認識装置。
  2. 【請求項2】請求項1において、前記処理装置は、前記
    バーコード抽出部より抽出されたバーコードの角度を検
    出するバーコード傾き検出部と、前記バーコードスキャ
    ン処理部は該バーコード検出部で検出された前記バーコ
    ードの傾きに基づいて前記バーコードの特徴量を抽出す
    る処理部を備えたことを特徴とするバーコード認識装
    置。
  3. 【請求項3】バーコードを貼り付けた被計測対象物を移
    動するための搬送装置,該搬送装置の上部に設置された
    複数の画像入力装置,該画像入力装置から取り込まれた
    画像を処理して、前記被計測対象物に貼り付けられた前
    記バーコードを読みとる画像処理装置とを備えたバーコ
    ード認識装置において、前記複数の画像入力装置から取
    り込まれた画像をフィルタリング処理し、該フィルタリ
    ング処理した画像と前記画像入力装置から取り込んだ前
    記画像より前記バーコードを抽出するバーコード抽出部
    と該抽出されたバーコードの特徴量を抽出すると共に該
    バーコードの画素を補完するバーコードスキャン処理部
    と、該抽出された特徴量に基づいて該バーコードを認識
    するバーコード認識部と、前記バーコード抽出部より抽
    出されたバーコードの角度を検出するバーコード傾き検
    出部とを有し、前記バーコードスキャン処理部は該バー
    コード検出部で検出された前記バーコードの傾きに基づ
    いて前記バーコードの特徴量を抽出する処理部を有する
    処理装置を備えたことを特徴とするバーコード認識装
    置。
  4. 【請求項4】バーコードを貼り付けた被計測対象物の画
    素を画像装置から取り込み、該取り込まれた画像を処理
    して、前記被計測対象物に貼り付けられた前記バーコー
    ドを読みとるバーコード認識方法において、前記複数の
    画像入力装置から取り込まれた画像を最大値フィルタ及
    び最小値フィルタによる処理を指定した回数行うととも
    に膨張処理によりフィルタリング処理し、該フィルタリ
    ング処理した画像と前記画像入力装置から取り込んだ前
    記画像より前記バーコードを抽出し、該抽出されたバー
    コードの傾きを検出すると共に該傾きに応じて該バーコ
    ードの特徴量を抽出し、該抽出された特徴量に基づいて
    該バーコードを認識するバーコード認識方法。
JP34206895A 1995-12-28 1995-12-28 バーコード認識装置及び方法 Expired - Fee Related JP3231612B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP34206895A JP3231612B2 (ja) 1995-12-28 1995-12-28 バーコード認識装置及び方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP34206895A JP3231612B2 (ja) 1995-12-28 1995-12-28 バーコード認識装置及び方法

Publications (2)

Publication Number Publication Date
JPH09185671A JPH09185671A (ja) 1997-07-15
JP3231612B2 true JP3231612B2 (ja) 2001-11-26

Family

ID=18350914

Family Applications (1)

Application Number Title Priority Date Filing Date
JP34206895A Expired - Fee Related JP3231612B2 (ja) 1995-12-28 1995-12-28 バーコード認識装置及び方法

Country Status (1)

Country Link
JP (1) JP3231612B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4058883B2 (ja) * 2000-04-28 2008-03-12 株式会社デンソー 光学情報読取装置
AU2012201647B2 (en) * 2011-04-18 2016-05-05 Tna Australia Pty Limited A barcode scanner
CN105151754B (zh) * 2015-09-02 2018-02-06 史洪扬 一种六面扫码机
JP7067410B2 (ja) * 2018-10-15 2022-05-16 トヨタ自動車株式会社 ラベル読取システム
JP2020064373A (ja) 2018-10-15 2020-04-23 富士通株式会社 コード情報読取装置、方法、及びプログラム
JP2020064374A (ja) 2018-10-15 2020-04-23 富士通株式会社 コード情報読取装置、方法、及びプログラム

Also Published As

Publication number Publication date
JPH09185671A (ja) 1997-07-15

Similar Documents

Publication Publication Date Title
Snidaro et al. Real-time thresholding with Euler numbers
JPH0519753B2 (ja)
CN109542276B (zh) 一种触控点识别方法及装置和显示设备
EP0045803A1 (en) System and method for processing horizontal line characteristics in an image
JP3231612B2 (ja) バーコード認識装置及び方法
US6614916B2 (en) Machine vision system and triggering method
JP2005266907A (ja) バーコード検出切り出し方法及びその装置、並びにプログラムを格納したコンピュータ読み取り可能な記録媒体
JPH07220026A (ja) 画像処理装置および方法
JPH0754549B2 (ja) パターンマッチング用標準パターンの作成方法
JP2001307017A (ja) 文字プレート認識装置
JPH05290293A (ja) 車頭検出装置
JP2010015235A (ja) 歩行者検出装置及びプログラム
JP2004037134A (ja) メタルマスク検査方法及びメタルマスク検査装置
EP2528019A1 (en) Apparatus and method for detecting objects in moving images
JP2001126027A (ja) ナンバープレート認識装置
CN112288066B (zh) 图形码打码和识别方法、装置及系统
JP2001229339A (ja) バーコード読み取り装置
JP6460660B2 (ja) データ演算装置、データ演算方法および欠陥検査装置
KR101689705B1 (ko) 픽셀 방향정보를 사용한 영상정보 내 패턴정보영역 검출방법
JPH09251508A (ja) 太バー認識によるバーコード読み取り方法
JPH0514892A (ja) 画像監視装置
JPS5927374A (ja) 境界線追跡回路
JP3000480B2 (ja) 文字領域区切り検出方法
JP4879229B2 (ja) 歩行者検出装置及びプログラム
JPH06187492A (ja) 文字列撮像方法

Legal Events

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

Free format text: PAYMENT UNTIL: 20070914

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20080914

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20080914

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20090914

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20090914

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20100914

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20100914

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20110914

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20120914

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20120914

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20130914

Year of fee payment: 12

LAPS Cancellation because of no payment of annual fees