JPH09185671A - Device and method for recognizing bar code - Google Patents

Device and method for recognizing bar code

Info

Publication number
JPH09185671A
JPH09185671A JP7342068A JP34206895A JPH09185671A JP H09185671 A JPH09185671 A JP H09185671A JP 7342068 A JP7342068 A JP 7342068A JP 34206895 A JP34206895 A JP 34206895A JP H09185671 A JPH09185671 A JP H09185671A
Authority
JP
Japan
Prior art keywords
barcode
image
bar code
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.)
Granted
Application number
JP7342068A
Other languages
Japanese (ja)
Other versions
JP3231612B2 (en
Inventor
Tetsuo Sato
哲雄 佐藤
Yoshiki Kobayashi
小林  芳樹
Tadaaki Kitamura
忠明 北村
Minoru Kushima
実 久島
Takumi Ebisawa
匠 海老沢
Takayuki Yoneoka
孝幸 米丘
Shinya Fujita
愼也 藤田
Yasuo Kominato
康雄 小湊
Toshiyuki Iwamoto
俊之 岩本
Mikio Kuroki
幹雄 黒木
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
Hitachi Information and Control Systems Inc
Original Assignee
Hitachi Ltd
Hitachi Process Computer Engineering Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd, Hitachi Process Computer Engineering Inc filed Critical Hitachi Ltd
Priority to JP34206895A priority Critical patent/JP3231612B2/en
Publication of JPH09185671A publication Critical patent/JPH09185671A/en
Application granted granted Critical
Publication of JP3231612B2 publication Critical patent/JP3231612B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To provide a bar code recognizing device with which a bar code label stuck on a moving object can be recognized with high accuracy even when the bar code label is passed in any unspecified direction. SOLUTION: Images fetched from a belt conveyer 4 for moving a moving object 5, to which a bar code label 6 is stuck, and plural multicamera units 3 installed at the upper part of belt conveyer 4 are sent to a bar code recognizing device 1. At the bar code recognizing device 1, the input images are filtered and the bar code is extracted from the images fetched from the multicamera units 3. Then, the inclination of extracted bar code is detected, corresponding to this inclination, the feature amount of bar code is extracted and based on this extracted feature amount, the bar code is recognized.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【発明の属する技術分野】本発明は、画像処理によるバ
ーコード認識装置に係り、特に広範囲な視野内を特定方
向で通過する移動体に貼られたバーコードを読みとるの
に好適な認識方法及び装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a bar code recognition apparatus by image processing, and particularly to a recognition method and apparatus suitable for reading a bar code attached to a moving body passing through a wide field of view in a specific direction. Regarding

【0002】[0002]

【従来の技術】最近では製品の品質管理を容易に行うた
め、製品にバーコードを付して、これを映像として取り
込んで、製品に貼り付けられたバーコードを読みとっ
て、製品の種別等を認識して製品を管理する方法が行わ
れている。
2. Description of the Related Art Recently, in order to easily control the quality of products, a barcode is attached to the product, this is captured as an image, and the barcode attached to the product is read to identify the type of the product. There is a way to recognize and manage the product.

【0003】搬送装置により運ばれてくる移動体に貼ら
れたコードを検出する技術としては例えば特開昭58−19
5275号公報に記載されている。この技術は、製品が運ば
れてくる製品を分配するものに係り、製品に付されたコ
ードをカメラで取り込んでコードを認識する場合におい
て、コードの角度が一定でない場合でも読みとれるよう
にしたものである。それは、コードをストライプ方向に
対して90°乃至45°の角度で検出される平行なストラ
イプのグループで形成し、そのグループに1つの位置決
めストライプを付属する。そして検出時においてはこの
位置決めストライプに基づいてコードの位置を突き止め
てコードを評価するものである。
A technique for detecting a code attached to a moving body carried by a carrying device is, for example, Japanese Patent Laid-Open No. 58-19.
It is described in Japanese Patent No. 5275. This technology relates to products that are delivered, and when the code attached to the product is captured by a camera to recognize the code, it can be read even if the code angle is not constant. Is. It forms the code in groups of parallel stripes detected at an angle of 90 ° to 45 ° with respect to the stripe direction, with one alignment stripe attached to the group. At the time of detection, the code is evaluated by locating the position of the code based on this positioning stripe.

【0004】[0004]

【発明が解決しようとする課題】しかしながら、上記の
ように各コードに位置を決めるためのストライプを形成
することは、コード全体が大きくなりラベル全体が大き
くなる。また、このストライプが付されていないコード
が入ってきた場合には、当然にコードを読みとることが
できず汎用性に欠ける。また上記従来技術では1つの画
像入力装置によりコードを取り込んでいるために例えば
コンベアで製品が運ばれてきた場合に、上手く取り込め
ない場合が発生する。
However, forming the stripes for determining the position of each code as described above increases the size of the entire code and the size of the entire label. Also, when a code without this stripe comes in, the code cannot be read, and the versatility is lacking. Further, in the above-mentioned conventional technique, since the code is taken in by one image input device, when the product is carried on a conveyor, for example, there are cases where the product cannot be taken in successfully.

【0005】また、このようにカメラから取り込んだバ
ーコードラベルを認識する場合、バーコード以外のノイ
ズが画像に現れる。このような場合、ノイズとバーコー
ドを分離しないと、ノイズの部分をバーコードとして認
識する場合が発生し、誤認識を生ずる。
Further, when recognizing the bar code label captured from the camera in this way, noise other than the bar code appears in the image. In such a case, if the noise and the barcode are not separated, the noise portion may be recognized as a barcode, resulting in erroneous recognition.

【0006】本発明は、このような欠点に鑑みてなされ
たもので高速に移動する物体に貼り付けられたバーコー
ドラベルが広範囲な視野内を不特定方向で通過しても、
狭い設置環境で確実にバーコードラベルを抽出して、バ
ーコードを高精度に認識するバーコード認識装置を提供
することにある。
The present invention has been made in view of the above drawbacks. Even when a bar code label attached to an object moving at high speed passes in a wide field of view in an unspecified direction,
An object of the present invention is to provide a barcode recognition device that reliably extracts barcode labels in a narrow installation environment and recognizes barcodes with high accuracy.

【0007】[0007]

【課題を解決するための手段】上記目的はバーコードを
貼り付けた被計測対象物を移動するための搬送装置,該
搬送装置の上部に設置された複数の画像入力装置,該画
像入力装置から取り込まれた画像を処理して、前記被計
測対象物に貼り付けられた前記バーコードを読みとる画
像処理装置とを備えたバーコード認識装置において、前
記複数の画像入力装置から取り込まれた画像をフィルタ
リング処理し、該フィルタリング処理した画像と前記画
像入力装置から取り込んだ前記画像より前記バーコード
を抽出するバーコード抽出部と該抽出されたバーコード
の特徴量を抽出するバーコードスキャン処理部と、該抽
出された特徴量に基づいて該バーコードを認識するバー
コード認識部とを有する処理装置を備えることにより達
成することができる。
[Means for Solving the Problems] The above object is to provide a transport device for moving an object to be measured with a bar code attached thereto, a plurality of image input devices installed above the transport device, and the image input device. A bar code recognition device comprising: an image processing device for processing the captured image to read the barcode attached to the measurement object; and filtering the images captured from the plurality of image input devices. A bar code extracting section for extracting the bar code from the processed and filtered image and the image captured from the image input device; and a bar code scanning processing section for extracting the feature amount of the extracted bar code. This can be achieved by including a processing device having a barcode recognition unit that recognizes the barcode based on the extracted feature amount. .

【0008】また上記目的は、バーコードを貼り付けた
被計測対象物の画像を画像装置から取り込み、該取り込
まれた画像を処理して、前記被計測対象物に貼り付けら
れた前記バーコードを読みとるバーコード認識方法にお
いて、前記複数の画像入力装置から取り込まれた画像を
フィルタリング処理し、該フィルタリング処理した画像
と前記画像入力装置から取り込んだ前記画像より前記バ
ーコードを抽出し、該抽出されたバーコードの傾きを検
出すると共に該傾きに応じて該バーコードの特徴量を抽
出し、該抽出された特徴量に基づいて該バーコードを認
識することにより達成することができる。
[0008] Further, the above object is to capture an image of an object to be measured to which a bar code is attached from an image device, process the captured image, and display the bar code attached to the object to be measured. In the reading barcode recognition method, an image captured from the plurality of image input devices is filtered, the barcode is extracted from the filtered image and the image captured from the image input device, and the extracted barcode is extracted. This can be achieved by detecting the inclination of the barcode, extracting the characteristic amount of the barcode according to the inclination, and recognizing the barcode based on the extracted characteristic amount.

【0009】[0009]

【発明の実施の形態】以下、本発明の実施例を図面に従
って説明する。
Embodiments of the present invention will be described below with reference to the drawings.

【0010】図1に画像処理によるバーコード認識装置
のシステム全体の構成を示す。
FIG. 1 shows the configuration of the entire system of a bar code recognition apparatus by image processing.

【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が貼られていないことを認識す
る。
In FIG. 1, the bar code recognition device 1 is
The barcode label detection processing is always performed on the image input from the multi-camera unit 3. In the normal state, the barcode image cannot be detected because the input image is dark. Therefore, the strobe 2 is provided to detect the barcode label, and the input image is brightened to perform the barcode label detection processing. Specifically, the moving body 5 to which the barcode label 6 with the barcode printed is attached is conveyed from the belt conveyor 4. When the moving body 5 passes through the optoelectronic switch 7, the signal from the optoelectronic switch 7 is sent to the barcode recognition device 1.
As a result, the barcode recognition device 1 determines that the moving body 5 as the recognition target object has entered the recognition area where recognition is possible. The signal transmitted from the photoelectric switch 7 to the barcode recognition device 1 causes the barcode recognition device 1 to move to the flash unit 2.
A strobe ON signal is transmitted to a synchronizing circuit section (not shown) in the multi-camera unit 3 in order to cause the flash. The synchronizing circuit section in the multi-camera unit 3 transmits a synchronizing signal to the strobe 2, and the strobe 2 emits light in accordance with this synchronizing signal. When the strobe 2 emits light, it becomes brighter, so that the barcode printed on the barcode label 6 can be recognized by the barcode recognition device 1. When the moving body 5 to which the barcode label 6 is attached passes under the multi-camera unit 3 in the state in which the barcode label 6 can be detected as described above, the barcode recognition device 1 causes the barcode label 6 to be detected. Is detected and recognition processing is executed. A plurality of cameras and a synchronization circuit are arranged in the multi-camera unit 3, and each camera captures an image in accordance with a synchronization signal from the synchronization circuit and transmits the captured image to the barcode recognition device 1. When the moving body 5 passes in front of the optoelectronic switch 8, the optoelectronic switch 8 sends an interrupt signal to the barcode recognition device 1. As a result, the barcode recognition device 1 recognizes that the moving body 5, which is the recognition target, has left the recognition area. The bar code recognition device 1 transmits a strobe OFF signal to a synchronizing circuit unit in the multi-camera unit 3 in order to extinguish the strobe 2 by an interrupt signal from the optoelectronic switch 8. As a result, the synchronizing circuit section in the multi-camera unit 3 stops the synchronizing signal transmitted to the strobe 2. When the strobe 2 is extinguished, the bar code recognition device 1 cannot detect the bar code label 6 because the input image becomes dark. When the barcode recognition device 1 receives the interrupt signal from the optoelectronic switch 8 during the detection process of the barcode label 6, the barcode recognition device 1 recognizes that the barcode label 6 is not attached to the moving body 5.

【0012】このように、光電子スイッチ7と光電子ス
イッチ8によりストロボ2の発光を制御することにより
ストロボ2の寿命を延ばし、長時間使用できるようにし
ている。
In this way, the light emission of the strobe 2 is controlled by the photoelectronic switch 7 and the photoelectronic switch 8, so that the life of the strobe 2 is extended and the strobe 2 can be used for a long time.

【0013】図2に、バーコード認識装置1のハードウ
エア構成を示す。
FIG. 2 shows the hardware configuration of the barcode recognition apparatus 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から構成され
る。
In FIG. 2, the hard disk 201 stores environment files necessary for barcode recognition. To store the data in this environment file, the operator refers to the display 205 to display the mouse 206 and the keyboard 20.
You can enter from 7 freely. The bar code recognition device 1 causes the processing device 203 to execute a bar code recognition process when the power is turned on. The processing device 203 includes a barcode extraction unit 1401, a barcode label extraction unit 1402, a barcode inclination detection unit 1403, and a line scan processing unit 1.
404, barcode decoding processing 1405, counter unit 14
06 and a memory unit 1407. The contents of the processing of each unit will be described later. The I / O controller 204 controls the input / output of man-machine type I / O of the display 205, mouse 206, and keyboard 207. The DI / DO board 216 inputs interrupt signals from the optoelectronic switches 7 and 8 and outputs a strobe ON / OFF signal to the multi-camera unit 3. The image processing boards 213, 214, and 215 perform image processing on image signals sent from two cameras, respectively. For example, in this embodiment, the image processing board 213 responds to the image signals from the cameras 218 and 219 while the image processing board 214 controls the camera 22.
The image processing board 215 performs image processing on the image signals from the camera 222 and the camera 221 respectively. Each of the image processing boards 213, 214, and 215 includes an image processing processor 211 that controls image processing, an image memory 209 that stores image data, and a camera switch 208 that is connected via a video interface 212.

【0015】図3は、ベルトコンベア4によって運搬さ
れる各種移動体302,303,304と、移動体30
2,303,304に貼られたバーコードラベル6と、
コンベア幅一杯を視野範囲にするマルチカメラユニット
3の構成例を示す。
FIG. 3 shows various moving bodies 302, 303, 304 carried by the belt conveyor 4 and the moving body 30.
Bar code label 6 attached to 2,303,304,
The structural example of the multi-camera unit 3 which makes a conveyor width the visual field range is shown.

【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を稼働するた
めのものである。
In FIG. 3, a bar code label 6 is printed with a bar code, and various moving bodies 302, 30 are shown.
It is attached to 3,304. Barcode label 6
A camera field of view 35 indicates a plurality of camera field of view areas installed in the multi-camera unit 3 for recognizing the barcode printed on the. In this embodiment, a case where six cameras are provided will be described as an example. When the field width of one camera is 133 mm, the field width of six cameras is 598 mm. That is, the overlapping width between the cameras is 40 mm, and the width 36 of the target barcode label 6 is 36 mm.
It is larger than mm. By overlapping the visual field areas of the cameras in this manner, the barcode label 6 that has entered the overlapping portion can be reliably captured as an image by either camera. The moving bodies 302, 303, 304 actually moved by the belt conveyor 4 are oriented in arbitrary directions, and the barcode labels 6 attached to the movable bodies 302, 303, 304 are also oriented in arbitrary directions. ing. The motor 36 is for operating the belt conveyor 4.

【0017】次に、バーコード認識装置1における処理
装置203のバーコードを認識する処理について説明す
る。
Next, the processing for recognizing a barcode by the processing device 203 in the barcode recognition apparatus 1 will be described.

【0018】図4はバーコード認識処理全体の処理のフ
ローを示したものである。
FIG. 4 shows the flow of the entire bar code recognition process.

【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の処
理を再び行う。
In block 401, the input image captured from the multi-camera unit 3 is captured in the image memory 209 in the image processing board. In block 402, a striped pattern extraction image 410 is generated by extracting a black striped pattern, which is a characteristic of the barcode, from the input image 409 captured in the image memory 209 by the processing by the barcode extraction unit 1401 of the processing device 203. . In block 403, the striped pattern extraction image 410 extracted by the processing of the barcode label extraction unit 1402 of the processing device 203 is subjected to expansion processing and reduction processing to generate a barcode label extraction image 411 in which the area of the barcode label 6 is extracted. , Calculate the coordinates of the start and end points of the area. A block 404 detects the inclination of the barcode so that the barcode can be recognized even when the barcode label 6 is detected in an unspecified direction by the processing of the barcode inclination detection unit 1403 of the processing device 203.
In block 405, the line scan processing unit 1404 of the processing device 203 extracts the luminance, which is the pixel information of the barcode portion, according to the inclination of the barcode, and the extracted pixel information is used as a histogram to generate a line scan image. Blocks 406 to 408 are processing devices 20.
Block 4 in the processing of the barcode decoding processing unit 1405 of 3
07 determines whether or not the decoding of the bar code label has been repeated the number of times specified in advance in the environment file. If the number of times specified has not been specified, the processing of block 405 is performed again.

【0020】一方、指定回数分繰り返されている場合に
は、ブロック408にて環境ファイルで指定された回数
分の解読結果により、解読結果が正しいか否かの確認を
行っている。ここで、解読結果が正しいか否かを判断す
る方法は、複数回解読した結果のうち、同じ解読結果が
解読回数の過半数以上であれば解読結果が正しいと判断
し、そうでない場合は誤りであると判定する。
On the other hand, if the decoding is repeated the specified number of times, it is confirmed in block 408 whether or not the decoding result is correct based on the decoding result of the number of times specified in the environment file. Here, the method of determining whether or not the decryption result is correct is to judge that the decryption result is correct if the same decryption result is more than the majority of the decryption times out of the results obtained by performing the decryption a plurality of times, and if it is not, it is an error. Judge that there is.

【0021】図5は、バーコード抽出部1401の処理
の詳細を示したものでバーコードの特徴である黒の縞模
様のみを、画像処理コマンドの最大値フィルタと最小値
フィルタと画像差分を使用して抽出する処理のフローを
示したものである。
FIG. 5 shows the details of the processing of the barcode extraction unit 1401. Only the black striped pattern which is the characteristic of the barcode is used, and the maximum value filter, the minimum value filter and the image difference of the image processing command are used. 3 shows a flow of a process of extracting by doing.

【0022】ここで最大値フィルタと最小値フィルタに
ついて説明する。最大値フィルタは、対象となる画像か
ら1つの画素を選択し、この画素の近傍m×n画素を選
定し、そのm×n画素内において輝度の最も大きい値を
求め、その輝度値を選択した画素の値とする。そしてこ
の処理を全ての画素に対して行うことである。また最小
値フィルタとは、対象となる画像から1つの画素を選択
し、この画素の近傍m×n画素を選定し、そのm×n画
素内において輝度の最も小さい値を求め、その値を選択
した画素の値とする。そしてこの処理を全ての画素に対
して行うことである。
Here, the maximum value filter and the minimum value filter will be described. The maximum value filter selects one pixel from the target image, selects m × n pixels in the vicinity of this pixel, obtains the maximum value of the brightness in the m × n pixels, and selects the brightness value. The pixel value. Then, this processing is performed for all pixels. In addition, the minimum value filter selects one pixel from the target image, selects m × n pixels in the vicinity of this pixel, finds the smallest value of the brightness in the m × n pixels, and selects that value. The value of the selected pixel. Then, this processing is performed for all pixels.

【0023】では具体的に、入力画像509の処理を例
に説明する。ここで、入力画像509はバーコード(a)
とバーコード以外の画像でバーコードよりも大きいノイ
ズ(b),バーコードよりも小さいノイズ(c)を含ん
でいるものとする。
The processing of the input image 509 will be specifically described as an example. Here, the input image 509 is the barcode (a)
And the image other than the barcode includes noise (b) larger than the barcode and noise (c) smaller than the barcode.

【0024】まず、ブロック501では、最大値フィル
タを実施した回数をカウントする処理装置203のカウ
ンタ部1406に設けられた最大値フィルタ実施カウン
タをクリアする。ブロック502では、画像処理コマン
ドの最大値フィルタにより入力画像509に対して画像
処理を行う。ブロック503は、最大値フィルタ実施カ
ウンタをインクリメントする。ブロック504は、最大
値フィルタ実施カウンタが環境ファイルで予め指定され
た回数分実施したか否かを判断し、指定された回数実施
していない場合はブロック502から再度処理を行う。
このように入力画像に対して最大値フィルタによる処理
を繰り返し行うとバーコード(a)とノイズ(c)が消
え、ノイズ(b)が残った画像511が得られる。しか
しながらバーコードの太さはカメラの視野サイズによっ
て変動するため、バーコードの特徴である縞模様を消す
ための最大値のフィルタの実施回数も変動する。そこで
黒バーが最大値フィルタの実施により消えるまでの回数
を予め環境ファイルに登録することによりこの問題を解
決している。
First, in block 501, the maximum value filter execution counter provided in the counter unit 1406 of the processing device 203 for counting the number of times the maximum value filter has been executed is cleared. In block 502, image processing is performed on the input image 509 by the maximum value filter of the image processing command. Block 503 increments the maximum filter enforcement counter. The block 504 determines whether or not the maximum value filter implementation counter has been implemented the number of times specified in advance in the environment file, and if it has not been executed the number of times specified, the process is performed again from the block 502.
In this way, when the processing by the maximum value filter is repeatedly performed on the input image, the barcode (a) and the noise (c) disappear, and an image 511 in which the noise (b) remains is obtained. However, since the thickness of the barcode varies depending on the size of the field of view of the camera, the number of times the maximum value filter for eliminating the striped pattern, which is a characteristic of the barcode, is also varied. Therefore, this problem is solved by registering the number of times until the black bar disappears by performing the maximum value filter in the environment file in advance.

【0025】ブロック504で最大値フィルタによる処
理が指定した回数行われた場合には、ブロック505以
降を実行する。ブロック505,506,507は最大
値フィルタを実施した回数分最小値フィルタを実施す
る。この最小値フィルタにより処理を行うことによっ
て、ノイズ(b)のみとなった画像511のノイズ
(b)を入力画像509と同じ元の大きさに戻した画像
511が得られる。そしてブロック508では、最小値
フィルタを実施した結果の画像512と入力画像509
との差分をとる。これによりノイズ(b)が消去され、
バーコード(a)の黒バーの部分とノイズ(c)を浮か
び上がらせた画像513が生成される。
When the maximum value filter process has been performed the specified number of times in block 504, block 505 and subsequent steps are executed. Blocks 505, 506, and 507 perform the minimum value filter for the number of times the maximum value filter has been executed. By performing processing with this minimum value filter, an image 511 is obtained in which the noise (b) of the image 511 having only the noise (b) is returned to the same original size as the input image 509. Then, in block 508, the image 512 resulting from the minimum value filtering and the input image 509
Take the difference with This removes the noise (b),
An image 513 in which the black bar portion of the barcode (a) and the noise (c) are highlighted is generated.

【0026】このように最大値フィルタと最小値フィル
タとの組み合わせによりバーコード(a)よりも大きい
ノイズ(b)を消去することができる。
Thus, the noise (b) larger than the bar code (a) can be eliminated by combining the maximum value filter and the minimum value filter.

【0027】しかしながら、バーコード(a)よりも小
さいノイズ(c)は最大値フィルタによる処理を行って
もバーコード(a)よりも先に消去されてしまうため、
このような方法では処理することができない。そこで、
バーコード(a)よりも小さいノイズを消去するための
処理を図6に示す。
However, the noise (c) smaller than the bar code (a) is erased before the bar code (a) even if the maximum value filter is performed.
It cannot be processed in this way. Therefore,
FIG. 6 shows a process for eliminating noise smaller than that of the barcode (a).

【0028】図6は、処理装置203のバーコードラベ
ル抽出部1402の詳細を示すものでバーコード(a)
よりも小さいノイズ(b)を取り除いたバーコードラベ
ル6の部分を入力画像より抽出する処理のフローを示し
たものである。
FIG. 6 shows the details of the bar code label extraction unit 1402 of the processing device 203. The bar code (a) is shown in FIG.
7 shows a flow of processing for extracting a portion of the barcode label 6 from which a smaller noise (b) is removed from the input image.

【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)を決定する。これにより、入力画像内におけ
るバーコードラベルのエリア座標が算出できる。
In FIG. 6, blocks 601, 602 and
In 603, in order to perform the binarization processing of the image processing command on the image 513 extracted in FIG. 5, the maximum value and the minimum value of the luminance of the pixel are obtained and the binarization threshold value is calculated. Block 604 uses the binarization threshold to extract image 513
To a binary image 714 shown in FIG. Block 6
05, 606, 607, and 608 repeat the expansion process of the image processing command for the binarized image 714 a predetermined number of times. By executing the expansion process in this manner, the white area is expanded, and finally an image 715 in which the barcode is a continuous white area is generated.
A block 609 assigns a label to each white area by performing labeling processing of an image processing command on the white area in the shaped binarized image, and obtains an area of the white area to which each label is assigned. Block 610 obtains the label number of the maximum area from the white area to which the label is assigned. Block 611 erases all labels except the largest area label. That is, here, the image is blackened. As a result, the barcode (a) portion is extracted, and the image 717 in which the noise (c) is erased can be generated. Block 612 uses the x-axis projection of the image processing command to determine the x-coordinate (x
e, xs) is calculated, and the memory unit 140 of the processing device 203 is calculated.
Store in 7. Block 613 uses the y-axis projection of the image processing command to determine the y-coordinate of the label with the largest area.
(yes, ys) is calculated, and the memory unit 14 of the processing device 203 is calculated.
It is stored in 07. If the bar code is tilted, the x coordinate (xe, xs) and the y coordinate (y
e, ys). Thereby, the area coordinates of the barcode label in the input image can be calculated.

【0030】図8は、処理装置203のバーコード傾き
検出部1403の詳細を示すものでバーコードラベルの
傾きを求め画素情報を抽出する処理のフローを示したも
のである。
FIG. 8 shows the details of the barcode inclination detecting section 1403 of the processing device 203, and shows the flow of the processing for obtaining the inclination of the barcode label and extracting the pixel information.

【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
で求めた上辺(左辺)と下辺(右辺)の傾きから平均の
傾きを求める。
In FIG. 8, block 801 is a starting point (xs, y) obtained by maximum area extraction in order to obtain the inclination.
s) and the end point (xe, ye) are read from the memory unit 1407 and a white area having the maximum area is enclosed (hereinafter, the enclosed area is referred to as a window). Block 802 is 45 °
In order to determine whether or not the label is inclined as described above, the horizontal side (| xe-xs |) and the vertical side (| ye-y) of the window frame are determined.
s |) are compared. If the horizontal length is longer than the vertical length, blocks 803 and 804 are executed. If the vertical side is large, blocks 807 and 808 are executed. A block 803 obtains the difference between the two representative points at the upper side of the window frame and the upper part of the white area, and the change amount of the difference (u2-u1).
Find the upper slope of the white area from. Block 809
Calculates the difference between the two representative points on the lower side of the window frame and the lower part of the white area, and calculates the inclination of the lower part of the white area from the change amount (d2-d1) of the difference. In blocks 807 and 808, the same processing as in blocks 803 and 804 is performed for the left side and the right side, and the inclinations of the right side and the left side are obtained. The block 805 is a block 803, 804 or a block 808, 809.
The average slope is obtained from the slopes of the upper side (left side) and the lower side (right side) obtained in.

【0032】平均の傾き=(上部(左部)の傾き+下部
(右辺)の傾き)/2 ブロック806は、求めた平均の傾きがウインドウの中
央を通るときの接辺を求める。これにより、画素情報を
抽出するためのラインスキャン処理の始点と終点を次の
ように求めることができ処理装置203のメモリ部14
07に格納する。
Average slope = (upper (left) slope + lower (right side) slope) / 2 A block 806 determines a tangent when the determined average slope passes through the center of the window. Accordingly, the start point and the end point of the line scan process for extracting the pixel information can be obtained as follows, and the memory unit 14 of the processing device 203 can be obtained.
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
度に分けて補完を行う。黒い部分はバーコードを示した
画素であり、白抜きの部分は補完した部分である。
Starting point X coordinate Lxs = xs Starting point Y coordinate Lys = Slope of average × xs + tangent side End point X coordinate Lxe = xe End point Y coordinate Lye = Slope of average × xe + tangent side As shown in FIG. The barcode is scanned to obtain the luminance thereof, and the histogram shown in FIG. 12 is created. However, when the barcode is inclined, the luminance may not be accurately obtained. FIG. 9B is an enlarged view of a part of the barcode. In this case, if the scan is performed in β, the pixels of the barcode can be captured, but in the case of scanning like α, the barcode is scanned. I cannot catch the pixels of the code. Therefore, in order to prevent such a case, the barcode image is displayed at 0 to 45 degrees as shown in FIG. 9C and 45 to 90 degrees as shown in FIG. 9D.
Complement in stages. The black part is the pixel showing the barcode, and the white part is the complemented part.

【0034】そして処理装置203のスキャン処理部1
404で行う補完方法の処理フローを図10に示す。
The scan processing unit 1 of the processing device 203
FIG. 10 shows a processing flow of the complementary method performed in 404.

【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つの画素の輝度の平均を求めて画
像データ格納配列に設定する。
First, block 1001 clears the array number used when data is stored in the pixel data storage array and the distance data storage array in the memory unit 1407 of the processing device 203. Block 902 determines if the barcode label tilt is within 45 degrees. If the angle is within 45 degrees, the process of sequentially changing the x-axis and fetching pixel information is performed according to the flow of blocks 1003 to 1015. 45
If it is not within the degree, a process of sequentially changing the y-axis and fetching pixel information is performed in blocks 1016 to 1028.
Follow the flow of. Block 1003 is the memory unit 1
The x coordinate of the start point of the loop counter (hereinafter x1) at 407 is set. A block 1004 initializes the y-coordinate of the starting point as a line feed determination element necessary for determining whether or not the y-axis coordinate has changed. The block 1005 calculates the y coordinate (y1) for fetching the pixel information at the position indicated by the x coordinate of the loop counter. Block 1006 is
It is determined whether the calculated y coordinate is the same as the line feed determination element. If they are the same, the processing of block 1011 and thereafter is executed, and if they are different, the complementary processing of blocks 1007 to 1010 is executed and then the processing of block 1011 and thereafter is executed.
A block 1007 performs a complementary process because the y-axis coordinate has changed. The complementary method takes in the brightness of the pixel indicated by the x coordinate immediately before the coordinate indicated by the loop counter and the y coordinate calculated in block 1005. Also, x indicated by the loop counter
The brightness of the pixel indicated by the coordinate and the y coordinate indicated by the line feed determination element is fetched. The average of the brightness of the two captured pixels is calculated and set in the image data storage array.

【0036】画像データ格納配列=((x1−1,y
1)の示す画素の輝度+(x1,改行判定要素)の示す
画素の輝度)/2 ブロック1008は始点からの距離データを下式のよう
に補完して距離データ格納配列に設定する。
Image data storage array = ((x1-1, y
1) Pixel brightness + (x1, line break determination element) pixel brightness) / 2 The block 1008 complements the distance data from the start point as in the following equation and sets it in the distance data storage array.

【0037】距離データ格納配列=(x1−始点x座標
−0.5)/(cos(傾き角度)) ブロック1009は、配列番号をインクリメントする。
ブロック1010は改行判定要素にy1を設定して更新
する。ブロック1011は、ループカウンタとy1が示
す位置の画素の輝度を取り込み、画素データ格納配列に
設定する。ブロック1012は、始点からの距離データ
を下式のように補完して距離データを格納配列に設定す
る。
Distance data storage array = (x1-start point x coordinate-0.5) / (cos (tilt angle)) The block 1009 increments the array number.
A block 1010 sets y1 in the line feed determination element and updates it. The block 1011 fetches the luminance of the pixel at the position indicated by the loop counter and y1 and sets it in the pixel data storage array. A block 1012 complements the distance data from the start point as in the following equation and sets the distance data in the storage array.

【0038】距離データ格納配列=(x1−始点x座
標)/(cos(傾き角度) ブロック1013は、配列番号をインクリメントする。
ブロック1014は、ループカウンタが終点のx座標位
置まで変化したか否かを判断している。変化した場合は
処理を終了し、変化していない場合はブロック1015
にてループカウンタをインクリメントしてブロック10
05以降を実行する。
Distance data storage array = (x1-start point x coordinate) / (cos (tilt angle) The block 1013 increments the array number.
Block 1014 determines whether the loop counter has changed to the x coordinate position of the end point. If it has changed, the processing is terminated, and if it has not changed, block 1015.
Increments the loop counter at block 10
Execute after 05.

【0039】ブロック1016〜ブロック1028まで
の処理は、y軸座標を順次変化させてブロック1003
〜ブロック1015までの処理と同様の処理を行う。な
お、距離データ補完方法としては、補完を行った画素の
画像データ格納配列に対応したフラグ配列を設けて、画
素データ取り込み後にフラグの有無によって距離データ
を補完するようにしてもよい。
In the processing from block 1016 to block 1028, the y-axis coordinate is sequentially changed to block 1003.
The processing similar to the processing up to block 1015 is performed. As a distance data complement method, a flag array corresponding to the image data storage array of the complemented pixels may be provided, and the distance data may be complemented by the presence or absence of the flag after the pixel data is captured.

【0040】図11は、読み出した画素情報からバーコ
ードの特徴量を抽出して文字に変換する処理のフローを
示したものである。
FIG. 11 shows a flow of processing for extracting the characteristic amount of the barcode from the read pixel information and converting it to a character.

【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本目までの距離と白太バーま
での距離を示す。エンドキャラクターの特徴量は、以下
の式によって求めることができる。
In FIG. 11, a block 1111 finds a portion required for bar code decoding as a search range from the line-scanned pixel information. The method is to find the maximum and minimum values of luminance from the image data storage array that stores the pixel information, and detect the start and end position by adding the value obtained by adding 1/3 of the maximum and minimum values to the minimum value. Calculate as a value.
Next, the image data storage array is sequentially incremented from 0 to search for a brightness equal to or lower than the start end position detection value, and the array number storing the brightness value searched first is set as the start position of the search range. Further, the image data storage array is decremented sequentially from the end to search for a luminance value equal to or lower than the start / end position detection value, and the array number storing the first searched luminance value is obtained as the end position of the search range. Block 1102 calculates the position of the thick black bar. The calculation method will be described with reference to FIG. First, let the minimum value used in the search range calculation be the threshold value of the calculated value of the thick black bar. To calculate the thick black bar, the threshold value is gradually increased with respect to the luminance value within the search range shown between the star position and the end position, and the number of pieces of pixel information showing luminance below the threshold value is searched for. , Repeatedly updating the threshold value until the retrieved number becomes (recognition character specified in environment file + 2) × 2. The example of FIG. 12 is an example when the number of recognized characters is seven. When the luminance below the threshold value is searched, the distance data of the pixel is fetched from the distance data storage array and stored in the black thick bar position array. Block 1103 calculates the position of the white bar. The calculation method will be described with reference to FIG. First, the maximum value used in the search range calculation is used as the white bar calculation threshold value. The calculation of the thick white bar is performed by searching for the number of pieces of pixel information indicating the brightness equal to or higher than the threshold value while gradually decreasing the threshold value with respect to the brightness value within the search range shown between the start position and the end position. Iterate while updating the threshold value until the searched number reaches (the number of recognized characters specified in the environment file + 1). The example of FIG. 12 is an example when the number of recognized characters is seven. When the luminance equal to or higher than the threshold value is searched, the distance data of the pixel is fetched from the distance data storage array and stored in the thick bar position array. Block 11
04 calculates the position divided into barcode recognition character units. In the method of calculating the separated positions, the width of the black bar is calculated from the first and last values of the thick black bar position array calculated by first detecting the black bar position. The ratio of thin bar to thick bar is 1:
In the case of the relationship of 2.5, the width of the thin bar: the interval of one character has the relationship of 1: 14.5 (including the width of the character gap). From this relationship, the width of one character is calculated, the entire character delimiter position is calculated, and stored in the delimiter position array. A block 1005 calculates the characteristic amount of the end character “*”. The feature amount indicates the distance from the division position to the first thick black bar, the distance to the second thick black bar, and the distance to the thick white bar. The characteristic amount of the end character can be obtained by the following formula.

【0042】黒太バー1本目=(黒太バー位置配列の最
後の前の値)−(区切り位置配列の最後) 黒太バー2本目=(黒太バー位置配列の最後の値)−
(区切り位置配列の最後) 白太バー=(白太バー位置配列の最後)−(区切り位置
配列の最後) ブロック1106は、ブロック1105にて算出された
特徴量が、エンドキャラクター“*”の特徴量(図13
は、バーコードの特徴量の一覧を示す)と環境ファイル
にて指定した許容値内で合致しているか否かを判断して
いる。合致している場合は、ブロック1110以降を実
行し、合致していない場合は、ブロック1107,11
08,1109は、バーコードラベルがラインスキャン
処理のスキャン方向と180度回転した状態で取り込ん
だときの処理で、黒太バー位置配列と白太バー位置配列
と区切り位置配列の値を再計算する。ブロック110
7,1108の再計算方法は次の通り配列全データにつ
いて行い、その後値の小さい順に並べ変える。
First thick black bar = (value before the last of the thick black bar position array)-(last of the delimiter position array) Second thick black bar = (the last value of the thick black bar position array)-
(End of delimiter position array) White bar = (End of white bar position array)-(End of delimiter position array) In block 1106, the feature amount calculated in block 1105 is the end character "*" feature. Quantity (Fig. 13
Indicates the list of bar code feature values) and the allowable value specified in the environment file. If they match, block 1110 and subsequent blocks are executed. If they do not match, blocks 1107 and 11
Reference numerals 08 and 1109 are processing when the bar code label is captured in a state of being rotated by 180 degrees with respect to the scan direction of the line scan processing, and the values of the black thick bar position array, the white thick bar position array, and the delimiter position array are recalculated. . Block 110
The recalculation method of 7, 1108 is performed for all data of the array as follows, and then rearranged in ascending order of the values.

【0043】黒太バー位置配列=(距離データ格納配列
の最後の値)−(黒太バー位置配列の値) 白太バー位置配列=(距離データ格納配列の最後の値)
−(白太バーの値配列の値) ブロック1109はブロック1104と同様の計算を再
度行って区切り位置配列の値を求める。ブロック111
0は、文字の区切り単位に特徴量を求める。求める方法
は、ブロック1105と同様に認識文字n番目(nは0
から認識文字数−1まで)の特徴量は、以下のように求
める。
Black bar position array = (last value of distance data storage array)-(value of black bar position array) White bar position array = (last value of distance data storage array)
-(Value of Value Array of White Bar) The block 1109 performs the same calculation as the block 1104 again to obtain the value of the delimiter position array. Block 111
In the case of 0, the feature amount is obtained in the character delimiter unit. The calculation method is the same as in block 1105, where the nth recognized character (n is 0
To the number of recognized characters-1) is obtained as follows.

【0044】黒太バー1本目=(黒太バー位置配列の
(2×n+2)番目の値)−(区切り位置配列のn番
目) 黒太バー2本目=(黒太バー位置配列の(2×n+3)
番目の値0)−(区切り位置配列n番目) 白太バー=(白太バー位置配列のn番目の値)−(区切
り位置配列のn番目) ブロック1101は、算出した特徴量に許容値以内で合
致する特徴量を持つ文字を特徴量管理テーブルから検索
する。(特徴量管理テーブルの内容を図13に示す。)
ブロック1112は、環境ファイルにて指定された認識
文字数分解読したか否かを判断している。文字数分解読
しているときは処理を終了し、解読していないときには
ブロック1110以降を実行して次の文字を解読する。
First thick black bar = ((2 × n + 2) th value of the thick black bar position array)-(nth position of delimiter position array) Second thick black bar = ((2 × of the thick black bar position array) n + 3)
Value 0)-(nth position of break position array) white bar = (nth value of white position bar position array)-(nth value of break position array) Block 1101 is within an allowable value for the calculated feature amount. The character having the matching feature amount is searched from the feature amount management table. (The contents of the feature amount management table are shown in FIG. 13.)
Block 1112 determines whether or not the number of recognized characters specified in the environment file has been read. If the number of characters has been decomposed and read, the process is terminated, and if not, the block 1110 and subsequent steps are executed to decode the next character.

【0045】[0045]

【発明の効果】本発明により、既存の生産ラインや検査
ライン上を不特定方向で移動する移動体に貼り付けられ
たバーコードを認識できる装置を安価に提供できる。
According to the present invention, it is possible to inexpensively provide a device that can recognize a barcode attached to a moving body that moves in an unspecified direction on an existing production line or inspection line.

【図面の簡単な説明】[Brief description of the drawings]

【図1】画像処理によるバーコード認識システム全体の
構成を示したものである。
FIG. 1 shows the overall configuration of a barcode recognition system by image processing.

【図2】バーコード認識装置のハードウエア構成を示し
たものである。
FIG. 2 shows a hardware configuration of a barcode recognition device.

【図3】ベルトコンベア上に設置されるマルチカメラの
視野と運搬される移動体を示したものである。
FIG. 3 is a view showing a field of view of a multi-camera installed on a belt conveyor and a moving body to be carried.

【図4】バーコード認識処置の全体フローを示したもの
である。
FIG. 4 shows an overall flow of a barcode recognition procedure.

【図5】バーコードの特徴量である縞模様を抽出する処
理のフローを示したものである。
FIG. 5 shows a flow of a process of extracting a striped pattern which is a feature amount of a barcode.

【図6】バーコードラベル部分を抽出する処理フローを
示したものである。
FIG. 6 shows a processing flow for extracting a barcode label portion.

【図7】バーコードラベル部分を抽出する時の画像を示
したものである。
FIG. 7 shows an image when a barcode label portion is extracted.

【図8】バーコードラベルの傾きを計算する処理フロー
を示したものである。
FIG. 8 shows a processing flow for calculating the inclination of a barcode label.

【図9】ラインスキャン処理の補完方法を示したもので
ある。
FIG. 9 shows a method of complementing line scan processing.

【図10】バーコード部分の画素情報を読みとるライン
スキャン処理のフローを示したものである。
FIG. 10 shows a flow of a line scan process for reading pixel information of a bar code portion.

【図11】バーコードを解読する処理フローを示したも
のである。
FIG. 11 shows a processing flow for decoding a barcode.

【図12】黒線抽出と白線抽出の例を示す。FIG. 12 shows an example of black line extraction and white line extraction.

【図13】バーコードの特徴量の一覧を示す。FIG. 13 shows a list of bar code feature amounts.

【図14】処理装置の構成を示したものである。FIG. 14 shows a configuration of a processing device.

【符号の説明】[Explanation of symbols]

1…バーコード認識装置、2…ストロボ、3…マルチカ
メラユニット、4…ベルトコンベア、5…移動体、6…
バーコードラベル、7,8…光電子スイッチ、201…
ハードディスク、203…処理装置、213,214,
215…画像処理ボード、1401…バーコード抽出
部、1402…バーコードラベル抽出部、1403…バ
ーコード傾き検出部、1404…ラインスキャン処理
部、1405…バーコード解読処理部、1406…カウ
ンタ部、1407…メモリ部。
1 ... Bar code recognition device, 2 ... Strobe, 3 ... Multi-camera unit, 4 ... Belt conveyor, 5 ... Moving body, 6 ...
Bar code label, 7, 8 ... Photoelectric switch, 201 ...
Hard disk, 203 ... Processing device, 213, 214,
215 ... Image processing board, 1401 ... Bar code extraction section, 1402 ... Bar code label extraction section, 1403 ... Bar code inclination detection section, 1404 ... Line scan processing section, 1405 ... Bar code decoding processing section, 1406 ... Counter section, 1407 … Memory section.

───────────────────────────────────────────────────── フロントページの続き (72)発明者 小林 芳樹 茨城県日立市大みか町七丁目1番1号 株 式会社日立製作所日立研究所内 (72)発明者 北村 忠明 茨城県日立市大みか町七丁目1番1号 株 式会社日立製作所日立研究所内 (72)発明者 久島 実 茨城県日立市大みか町五丁目2番1号 株 式会社日立製作所大みか工場内 (72)発明者 海老沢 匠 茨城県日立市大みか町五丁目2番1号 日 立プロセスコンピュータエンジニアリング 株式会社内 (72)発明者 米丘 孝幸 茨城県日立市大みか町五丁目2番1号 日 立プロセスコンピュータエンジニアリング 株式会社内 (72)発明者 藤田 愼也 茨城県日立市大みか町五丁目2番1号 日 立プロセスコンピュータエンジニアリング 株式会社内 (72)発明者 小湊 康雄 茨城県日立市大みか町五丁目2番1号 日 立プロセスコンピュータエンジニアリング 株式会社内 (72)発明者 岩本 俊之 茨城県日立市大みか町五丁目2番1号 日 立プロセスコンピュータエンジニアリング 株式会社内 (72)発明者 黒木 幹雄 茨城県日立市大みか町五丁目2番1号 日 立プロセスコンピュータエンジニアリング 株式会社内 ─────────────────────────────────────────────────── ─── Continued Front Page (72) Inventor Yoshiki Kobayashi 7-1, 1-1 Omika-cho, Hitachi-shi, Ibaraki Hitachi Ltd. Hitachi Research Laboratory (72) Inventor Tadaaki Kitamura 7-chome, Omika-cho, Hitachi-shi, Ibaraki No. 1 Hitachi Ltd. Hitachi Research Laboratory (72) Inventor Minoru Hisashima 52-1 Omika-cho, Hitachi City, Ibaraki Prefecture Incorporated Hitachi Ltd. Omika Factory (72) Inventor Takumi Ebisawa Hitachi Mita Hitachi City, Ibaraki Prefecture 5-2-1, Machi Ritsu Process Computer Engineering Co., Ltd. (72) Inventor Takayuki Yoneoka 5-2-1, Omika-cho, Hitachi-shi, Ibaraki Hirate Process Computer Engineering Co., Ltd. (72) Inventor Shinya Fujita 5-2-1 Omika-cho, Hitachi-shi, Ibaraki Prefecture Hitachi Process Computer Ta Engineering Co., Ltd. (72) Inventor Yasuo Kominato 5-2-1 Omika-cho, Hitachi City, Ibaraki Hitachi Process Computer Engineering Co., Ltd. (72) Inventor Toshiyuki Iwamoto 5-2-1 Omika-cho, Hitachi City, Ibaraki Prefecture No. Hitate Process Computer Engineering Co., Ltd. (72) Inventor Mikio Kuroki 5-2-1 Omika-cho, Hitachi City, Ibaraki Prefecture

Claims (4)

【特許請求の範囲】[Claims] 【請求項1】バーコードを貼り付けた被計測対象物を移
動するための搬送装置,該搬送装置の上部に設置された
複数の画像入力装置,該画像入力装置から取り込まれた
画像を処理して、前記被計測対象物に貼り付けられた前
記バーコードを読みとる画像処理装置とを備えたバーコ
ード認識装置において、 前記複数の画像入力装置から取り込まれた画像をフィル
タリング処理し、該フィルタリング処理した画像と前記
画像入力装置から取り込んだ前記画像より前記バーコー
ドを抽出するバーコード抽出部と該抽出されたバーコー
ドの特徴量を抽出するバーコードスキャン処理部と、該
抽出された特徴量に基づいて該バーコードを認識するバ
ーコード認識部とを有する処理装置を備えたことを特徴
とするバーコード認識装置。
1. A transport device for moving an object to be measured having a barcode attached thereto, a plurality of image input devices installed on the transport device, and an image captured from the image input device. And a bar code recognition device including an image processing device that reads the bar code attached to the measurement object, filters images captured from the plurality of image input devices, and performs the filtering process. A barcode extraction unit that extracts the barcode from the image and the image captured from the image input device, a barcode scanning processing unit that extracts the feature amount of the extracted barcode, and a barcode scan processing unit based on the extracted feature amount. A barcode recognition device comprising a processing device having a barcode recognition unit for recognizing the barcode.
【請求項2】請求項第1項において、 前記処理装置は、前記バーコード抽出部により抽出され
たバーコードの角度を検出するバーコード傾き検出部
と、前記バーコードスキャン処理部は該バーコード検出
部で検出された前記バーコードの傾きに基づいて前記バ
ーコードの特徴量を抽出する処理部を備えたことを特徴
とするバーコード認識装置。
2. The barcode processing apparatus according to claim 1, wherein the processing apparatus includes a barcode inclination detection unit that detects an angle of the barcode extracted by the barcode extraction unit, and the barcode scan processing unit. A barcode recognition apparatus comprising: a processing unit that extracts a feature amount of the barcode based on the inclination of the barcode detected by a detection unit.
【請求項3】請求項第2項において、 前記スキャン処理部は、前記バーコード抽出部で抽出さ
れた前記バーコードの特徴路抽出すると共に該バーコー
ドの画素を補完することを特徴とするバーコード認識装
置。
3. The bar according to claim 2, wherein the scan processing unit extracts a feature path of the barcode extracted by the barcode extraction unit and complements pixels of the barcode. Code recognition device.
【請求項4】バーコードを貼り付けた被計測対象物の画
像を画像装置から取り込み、該取り込まれた画像を処理
して、前記被計測対象物に貼り付けられた前記バーコー
ドを読みとるバーコード認識方法において、 前記複数の画像入力装置から取り込まれた画像をフィル
タリング処理し、該フィルタリング処理した画像と前記
画像入力装置から取り込んだ前記画像より前記バーコー
ドを抽出し、該抽出されたバーコードの傾きを検出する
と共に該傾きに応じて該バーコードの特徴量を抽出し、
該抽出された特徴量に基づいて該バーコードを認識する
バーコード認識方法。
4. A barcode which captures an image of an object to be measured to which a barcode is attached from an image device, processes the captured image, and reads the barcode attached to the object to be measured. In the recognition method, an image captured from the plurality of image input devices is filtered, the barcode is extracted from the filtered image and the image captured from the image input device, and the extracted barcode is Detecting the inclination and extracting the feature amount of the barcode according to the inclination,
A barcode recognition method for recognizing the barcode based on the extracted feature amount.
JP34206895A 1995-12-28 1995-12-28 Barcode recognition device and method Expired - Fee Related JP3231612B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP34206895A JP3231612B2 (en) 1995-12-28 1995-12-28 Barcode recognition device and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP34206895A JP3231612B2 (en) 1995-12-28 1995-12-28 Barcode recognition device and method

Publications (2)

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

Family

ID=18350914

Family Applications (1)

Application Number Title Priority Date Filing Date
JP34206895A Expired - Fee Related JP3231612B2 (en) 1995-12-28 1995-12-28 Barcode recognition device and method

Country Status (1)

Country Link
JP (1) JP3231612B2 (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001312715A (en) * 2000-04-28 2001-11-09 Denso Corp Optical information reader
JP2012226750A (en) * 2011-04-18 2012-11-15 Tna Australia Pty Ltd Bar code scanner
CN105151754A (en) * 2015-09-02 2015-12-16 史洪扬 Six-surface code scanning machine
JP2020064334A (en) * 2018-10-15 2020-04-23 トヨタ自動車株式会社 Label reading system
US11151342B2 (en) 2018-10-15 2021-10-19 Fujitsu Limited Code information reading apparatus and method for calculating a detection frequency of a code in a plurality of images
US11373053B2 (en) 2018-10-15 2022-06-28 Fujitsu Limited Code information reading device, method, and computer-readable storage medium

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001312715A (en) * 2000-04-28 2001-11-09 Denso Corp Optical information reader
JP2012226750A (en) * 2011-04-18 2012-11-15 Tna Australia Pty Ltd Bar code scanner
CN105151754A (en) * 2015-09-02 2015-12-16 史洪扬 Six-surface code scanning machine
JP2020064334A (en) * 2018-10-15 2020-04-23 トヨタ自動車株式会社 Label reading system
US11151342B2 (en) 2018-10-15 2021-10-19 Fujitsu Limited Code information reading apparatus and method for calculating a detection frequency of a code in a plurality of images
US11373053B2 (en) 2018-10-15 2022-06-28 Fujitsu Limited Code information reading device, method, and computer-readable storage medium

Also Published As

Publication number Publication date
JP3231612B2 (en) 2001-11-26

Similar Documents

Publication Publication Date Title
US9547800B2 (en) System and a method for the detection of multiple number-plates of moving cars in a series of 2-D images
US7266221B2 (en) Ranging device utilizing image processing
JPH0519753B2 (en)
JP2000011089A (en) Binarizing method for optical character recognition system
JP3231612B2 (en) Barcode recognition device and method
JPH07220026A (en) Method and device for picture processing
US8295579B2 (en) Obstruction detector
US4596038A (en) Method and apparatus for character recognition
JP3544820B2 (en) Moving target detection device and detection method
JP2637591B2 (en) Position recognition apparatus and method
JP2001307017A (en) Character plate recognizing device
JP2004037134A (en) Method and apparatus for inspecting metal mask
JP2001167225A (en) Bar code recognizing device using ccd camera
JPH057363A (en) Picture monitoring device
EP2528019A1 (en) Apparatus and method for detecting objects in moving images
KR101689705B1 (en) Method for detecting pattern information area using pixel direction information
JP2001126027A (en) Number plate recognition system
JP2001229339A (en) Barcode reader
JP2984267B1 (en) Object processing method
JPH0991425A (en) Image processor
JPH0514892A (en) Image monitor device
JP3675366B2 (en) Image extraction processing device
JP2003016385A (en) Image processor, method, program and storage medium
JPH08339421A (en) Character area determining method for image
JP3235392B2 (en) Rotation angle detection method for target pattern

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