JP4636105B2 - Bar code reading method, bar code reading apparatus, and computer program - Google Patents
Bar code reading method, bar code reading apparatus, and computer program Download PDFInfo
- Publication number
- JP4636105B2 JP4636105B2 JP2008078073A JP2008078073A JP4636105B2 JP 4636105 B2 JP4636105 B2 JP 4636105B2 JP 2008078073 A JP2008078073 A JP 2008078073A JP 2008078073 A JP2008078073 A JP 2008078073A JP 4636105 B2 JP4636105 B2 JP 4636105B2
- Authority
- JP
- Japan
- Prior art keywords
- barcode
- reading
- bar code
- read
- bar
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 34
- 238000004590 computer program Methods 0.000 title claims description 5
- 238000007689 inspection Methods 0.000 claims description 17
- 238000004422 calculation algorithm Methods 0.000 claims description 4
- 230000003287 optical effect Effects 0.000 description 12
- 238000005286 illumination Methods 0.000 description 5
- 238000007493 shaping process Methods 0.000 description 5
- PCTMTFRHKVHKIS-BMFZQQSSSA-N (1s,3r,4e,6e,8e,10e,12e,14e,16e,18s,19r,20r,21s,25r,27r,30r,31r,33s,35r,37s,38r)-3-[(2r,3s,4s,5s,6r)-4-amino-3,5-dihydroxy-6-methyloxan-2-yl]oxy-19,25,27,30,31,33,35,37-octahydroxy-18,20,21-trimethyl-23-oxo-22,39-dioxabicyclo[33.3.1]nonatriaconta-4,6,8,10 Chemical compound C1C=C2C[C@@H](OS(O)(=O)=O)CC[C@]2(C)[C@@H]2[C@@H]1[C@@H]1CC[C@H]([C@H](C)CCCC(C)C)[C@@]1(C)CC2.O[C@H]1[C@@H](N)[C@H](O)[C@@H](C)O[C@H]1O[C@H]1/C=C/C=C/C=C/C=C/C=C/C=C/C=C/[C@H](C)[C@@H](O)[C@@H](C)[C@H](C)OC(=O)C[C@H](O)C[C@H](O)CC[C@@H](O)[C@H](O)C[C@H](O)C[C@](O)(C[C@H](O)[C@H]2C(O)=O)O[C@H]2C1 PCTMTFRHKVHKIS-BMFZQQSSSA-N 0.000 description 4
- 238000010586 diagram Methods 0.000 description 2
- 230000003321 amplification Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 229920006395 saturated elastomer Polymers 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Description
本発明は、複数種類の規格に基づいて作成されたバーコードを光学的に読み取り、当該バーコードに記録されているデータをデコードするためのバーコード読取方法、及びバーコード読取り装置、並びに前記装置を制御するコンピュータによって実行されるプログラムに関する。 The present invention provides a barcode reading method, a barcode reading apparatus, and the apparatus for optically reading a barcode created based on a plurality of types of standards and decoding data recorded in the barcode. The present invention relates to a program executed by a computer that controls the computer.
近年、バーコードについても多くの種類が開発されて実際に運用されている。そのため、所定のバーコードの一部分が他の種類のバーコードを構成しているという場合も存在する。従って、複数種類のバーコードの読取りに対応するようにリーダを構成する際には、そのような事態においてもバーコードの種類を明確に峻別することができなければ、読取り間違いが起きる可能性がある。
例えば、特許文献1には、複数種類のバーコードの読取りに対応可能な装置の一構成例が開示されている。
For example,
しかしながら、特許文献1に開示されている技術は、複数種類のバーコードの読み取りについて共通して行なわれる処理を冒頭に実行することで、読取り処理に要する時間を短縮することを目的としてなされたものである。従って、上記のように、類似したパターンのバーコードが存在する場合に、夫々をどのようにして判別するかという技術課題の解決に資するものではない。
However, the technique disclosed in
本発明は上記事情に鑑みてなされたものであり、その目的は、複数種類の類似したパターンのバーコードが混在する場合でも、夫々をより確実に判別することができるバーコード読取方法、及びバーコード読取装置、並びにコンピュータプログラムを提供することにある。 SUMMARY OF THE INVENTION The present invention has been made in view of the above circumstances, and an object of the present invention is to provide a barcode reading method and a barcode capable of more reliably discriminating each of a plurality of types of similar pattern barcodes. A code reader and a computer program are provided.
請求項1記載のバーコード読取方法によれば、読取ったバーコードを2値化処理して得られた明暗パターン列について第2規格の読取りアルゴリズムを適用して読み取りを行い、その読取りが正常終了した場合でも、そのバーコードの両端と受光素子の読取り視野の両端との間に所定の距離がない場合は当該バーコードの読取りを失敗と判定する。
即ち、バーコードが読取り視野にぎりぎり収まっている場合には、その明暗パターンは第1バーコードである可能性がある。また、読取ったバーコードが実際に第2バーコードであることも想定されるが、視野の両端はどうしても読取り用照明の照度が低くなりがちであり、正確な2値化ができないおそれがある。従って、斯様な場合に読取りを失敗と判定することで、読取り誤りを防止することができる。
According to the bar code reading method according to
That is, when the bar code is in the reading field of view, the light / dark pattern may be the first bar code. Further, although it is assumed that the read barcode is actually the second barcode, the illuminance of the reading illumination tends to be low at both ends of the field of view, and there is a possibility that accurate binarization cannot be performed. Accordingly, it is possible to prevent reading errors by determining that reading has failed in such a case.
請求項2記載のバーコード読取方法によれば、検査線上で検出されたバーの高さを測定して当該バーの高さを読取り済みバーコードのバーの高さと比較し、両者の高さが異なる場合は検査線上で検出されたバーをマージンと判定する。即ちバーコードがラベルの枠内に、規定されたマージンが確保されていない状態で印刷されているような場合は、ラベルの枠部分をバーとして認識するおそれがある。その場合に、請求項2の方法を適用すれば、バーコードの一部であるバーとラベルの枠とを確実に判別することができる。
According to the barcode reading method of
請求項4記載のバーコード読取装置によれば、請求項1又は2記載のバーコード読取方法を実行可能に構成されている場合に、夫々のバーコードにマージンが適切に設定されているか否かを判別する手段を、バーコードの種類毎に設定可能に構成される。従って、例えば、マージンが規定されていないバーコードだけを読取るような場合には、不要な判定処理を行うことなく読み取りを迅速に行うことができる。
According to the barcode reader of
(第1実施例)
以下、本発明の第1実施例について図1乃至図3を参照して説明する。図3は、バーコード読取装置の電気的構成を概略的に示している。このバーコード読取装置1は、読取対象Aに印字されたバーコードを光学的に読取るためのもので、電源回路2,制御回路(コンピュータ)3,メモリ4,操作部5,照明駆動回路6,照射部7,結像手段8,センサ駆動回路9,光学的センサ10,クロック制御回路11,波形整形部12および外部インタフェイス部13を備えている。
電源回路2は、例えばAC/DC変換器により構成されるもので、外部から供給された交流電源を直流に変換し読取装置1の全構成に直流電源供給するようになっている。尚、電源回路2は必要に応じて設ければ良く、例えばハンディタイプのバーコード読取装置の場合には、内蔵している電池を電源として駆動される構成でも良い。
(First embodiment)
Hereinafter, a first embodiment of the present invention will be described with reference to FIGS. FIG. 3 schematically shows the electrical configuration of the barcode reader. This
The
制御回路3は、例えばマイクロコンピュータにより構成されており、制御用プログラムに基づいて読取装置1の全体を制御するようになっているが詳細は後述する。操作部5は、例えばトリガーキーや数字キー等の各種操作設定用キーが設けられて構成されており、ユーザ等によりトリガーキーが操作されると、制御回路3の制御に基づいて読取装置1が処理動作を開始する。照明駆動回路6は、制御回路3の制御に基づいて照射部7に駆動信号を与える。また、メモリ4には、制御回路3の制御プログラム(コンピュータプログラム)14が記憶されている。照射部7は、例えばLED等により構成されており、照明駆動回路6から駆動信号が与えられると読取対象Aに光を照射する。
The
結像手段8は、例えばレンズにより構成されており、照射部7から読取対象Aに照射され反射した光を結像し光学的センサ10に与える。光学的センサ10は例えばエリアセンサとも称されており、例えばCCD等の受光素子が二次元平面状に配列され、対応する受光素子やその範囲(取込対象エリア)を設定することで全画素信号を独立に取込むことができるように構成されているもので、読取対象Aに反射した反射光を光電変換する。この光学的センサ10で露光するための露光時間は、制御回路3により設定可能に構成されている。
The
制御回路3がセンサ駆動回路9を介して光学的センサ10を駆動制御すると、光学的センサ10は取込モードに基づいて光電変換した信号を波形整形部12に与えるようになっている。センサ駆動回路9は、光学的センサ10の受光素子から画素信号を出力させるためのクロックを光学的センサ10に与える。波形整形部12は、光学的センサ10により光電変換された信号を増幅し輝度レベルの信号を制御回路3に与えるようになっている。波形整形部12の増幅率は、制御回路3により設定可能に構成されている。外部インタフェイス部13は、制御回路3と外部装置(図示せず)との間でデータを入出力可能にしている。
When the
次に、本実施例の作用について図1及び図2も参照して説明する。図1は、制御回路3が制御プログラム14を実行した場合の処理内容を示すフローチャートであり、本発明の要旨に係る部分のみを示すものである。尚、ステップA1〜A14までの処理は、一般的な構成のバーコード読取装置と変わるところはない。
Next, the operation of the present embodiment will be described with reference to FIGS. FIG. 1 is a flowchart showing the processing contents when the
制御回路3は、先ず、ユーザにより読取り対象として指定された複数種類のバーコードから、読取り可能な最小バー本数Xを設定する(ステップA1)。それから、光学的センサ10により光学的に読取られ、波形整形部12を介して与えられるバーコードの輝度レベル信号を二値化、即ち明暗パターン化してからコード領域を切り出す。続いて、明暗パターンよりバーの本数nとバーを検出する(ステップA2,A3)。
First, the
次に、制御回路3は、バー本数nと最小バー本数Xとを比較し、n≧Xの場合は(ステップA4,「YES」)、バー本数nに応じてデコード対象とするバーコードを決定する(ステップA5)。そして、明暗パターンの最初の白バー(通常はマージン領域に相当)とその次(内側)に位置する黒バーとの間、又は最初のキャラクタパターンより、バーコードの種類に応じてマージンチェックを行う(ステップA6)。また、ステップA4においてバー本数nが最小バー本数X未満であれば(「NO」)、その時点で読取りは失敗、「NG」と判定される(ステップA14)。
Next, the
ステップA6において、規定されているマージンが存在すれば(「OK」)、明暗パターン列にバーコードの種類に応じた読取りアルゴリズムを適用してデコードを行う(ステップA7,第1過程)。一方、規定されているマージンが存在しない場合は(「NG」)、パターン列両端のバーを1本ずつ減らして(n=n−2,ステップA10)ステップA4に戻り、再度最小バー本数Xとの比較を行う。ステップA7におけるデコード結果が問題なく「OK」であれば(ステップA8,「YES」)、パターン列最後の黒バー又はキャラクタパターンを基準としてマージンチェックを行う(ステップA9)。 In step A6, if there is a specified margin (“OK”), decoding is performed by applying a reading algorithm corresponding to the type of barcode to the light and dark pattern sequence (step A7, first process). On the other hand, if the specified margin does not exist (“NG”), the bars at both ends of the pattern row are reduced by one (n = n−2, step A10) and the process returns to step A4, and the minimum number of bars X is again set. Make a comparison. If the decoding result in step A7 is “OK” without any problem (step A8, “YES”), a margin check is performed with reference to the black bar or character pattern at the end of the pattern row (step A9).
また、ステップA7におけるデコードが失敗し「NG」であれば(ステップA8,「NO」)、ステップA7でデコード対象として評価したバーの本数mをバー本数nより減じ(n=n−m,ステップA11)、ステップA4に戻り、再度最小バー本数Xとの比較を行う。ステップA9におけるマージンチェックが「OK」であれば、読取りは成功「OK」となり(ステップA13)、マージンチェックが「NG」である場合はステップA11に移行する。 If the decoding in step A7 fails and “NG” (step A8, “NO”), the number m of bars evaluated as decoding targets in step A7 is subtracted from the number n of bars (n = n−m, step A11), returning to step A4, the comparison with the minimum bar number X is performed again. If the margin check in step A9 is “OK”, the reading is successful “OK” (step A13), and if the margin check is “NG”, the process proceeds to step A11.
以下のステップA15〜A17における処理内容が、本発明の特徴的な部分である。即ち、ステップA13において一旦読み取りが「OK」となった場合、制御回路3は、そのバーコードがRSS_Limited(第2バーコード)であるか否かを判定し(ステップA15,第2過程)、RSS_Limitedでなければ(「NO」)そのまま処理を終了する。一方、バーコードがRSS_Limitedである場合は(「YES」)、ステップA7におけるデコード結果より、バーの最小単位幅であるモジュールを検出する(ステップA16)。そして、そのバーコードパターン両端外側の少なくとも一方に、5モジュール以上の白バーが存在するか否かを判定する(ステップA17)。
The processing content in the following steps A15 to A17 is a characteristic part of the present invention. That is, when the reading once becomes “OK” in step A13, the
ここで、図2を参照する。図2は、RSS_Limitedのバーコードパターンの一例と、POSコードの1種であるUPC−Aのバーコードパターンの一例であり、前者のパターンが後者のパターンの一部と一致するものを上下に配列して示している。RSS_Limitedは、コードサイズがUPC−Aよりも小さく(即ち、バーの構成本数がより少なく)、また、マージンを設けることが規定されていない仕様である。そのため、UPC−A/EAN−13のパターンを読もうとした場合に、読取り状態によってはRSS_Limitedと間違って読んでしまう可能性がある。 Reference is now made to FIG. Fig. 2 shows an example of the RSS_Limited barcode pattern and an example of the UPC-A barcode pattern, which is a kind of POS code. The former pattern matches the part of the latter pattern vertically. As shown. RSS_Limited is a specification in which the code size is smaller than that of UPC-A (that is, the number of bars is smaller) and provision of a margin is not specified. Therefore, when trying to read the UPC-A / EAN-13 pattern, there is a possibility that it is erroneously read as RSS_Limited depending on the reading state.
そこで、ステップA17では、バーコードの少なくとも一方に5モジュール以上のマージンが存在する場合に、RSS_Limitedとしての読取り結果を「OK」とするようにしている。即ち、UPC−A/EAN−13を構成するバーは1〜4モジュールであるから、幅が5モジュール以上のバーはUPC−A/EAN−13の一部を構成するものではない。従って、RSS_Limited少なくとも一方に上記白バーが存在すれば、そのバーコードをRSS_Limitedとして読取ることに問題がないと確定することができる。 Therefore, in step A17, when at least one of the barcodes has a margin of 5 modules or more, the reading result as RSS_Limited is set to “OK”. That is, since the bars constituting the UPC-A / EAN-13 are 1 to 4 modules, the bars having a width of 5 modules or more do not constitute a part of the UPC-A / EAN-13. Therefore, if the white bar exists in at least one of RSS_Limited, it can be determined that there is no problem in reading the barcode as RSS_Limited.
一方、ステップA17において1〜4モジュール幅のバーが存在する場合は(「NO」)、デコードしたコードパターンはUPC−A/EAN−13の一部である可能性がある。従って、その場合はステップA14に移行して読取りを「NG」として処理する。 On the other hand, if there is a 1-4 module width bar in step A17 ("NO"), the decoded code pattern may be part of UPC-A / EAN-13. Accordingly, in this case, the process proceeds to step A14 and the reading is processed as “NG”.
以上のように本実施例によれば、バーコード読取装置1の制御回路3は、RSS_Limitedのデコードが正常に終了した場合は、そのコードパターンがPOSコードの一部であると仮定した場合に存在し得るバーの最大幅(4モジュール)に対し、明暗パターン列の両端側の少なくとも一方に、5モジュール以上の白バーが存在するかどうかを判定する。そして、前記白バーが存在すれば、読取ったバーコードをRSS_Limitedとして確定するので、実際にそのコードパターンが部分的に一致するPOSコードとの誤読を防止することができる。
As described above, according to this embodiment, the
(第2実施例)
図4及び図5は本発明の第2実施例を示すものであり、第1実施例と同一部分には同一符号を付して説明を省略し、以下異なる部分についてのみ説明する。尚、バーコード読取装置1の構成は基本的に第1実施例と同様であり、制御回路3によるソフトウエア的な読取り処理が異なっている。
(Second embodiment)
4 and 5 show a second embodiment of the present invention. The same parts as those of the first embodiment are denoted by the same reference numerals and the description thereof is omitted. Only different parts will be described below. The configuration of the
図4は図1相当図であるが、制御回路3は、ステップA15において「YES」と判断すると、RSS_Limitedのコードパターン両端部の少なくとも一方に、UPC−A/EAN−13のキャラクタコードが存在するか否かを判定する(ステップA18)。そして、前記キャラクタコードが存在しなければ(「NO」)読取ったコードパターンをRSS_Limitedとして確定し、そのまま処理を終了するが、前記キャラクタコードが存在すると(「YES」)読取りを「NG」とする(ステップA14)。
FIG. 4 is a diagram corresponding to FIG. 1, but if the
即ち、図5に示すように、本来はUPC−A/EAN−13であるにもかかわらず、そのバーコードの全体が読取装置1の読取り視野に収まらず、一部のコードパターンを読取った結果がRSS_Limitedのコードパターンに一致する場合がある。斯様な場合において、読取ったコードパターン両端部の少なくとも一方にUPC−A/EAN−13のキャラクタコードが存在したとすれば、前記コードパターンはUPC−A/EAN−13の可能性があると推定できる。従って、その場合に読取りを「NG」とすることで、読取り誤りを防止することができる。
That is, as shown in FIG. 5, although the original barcode is UPC-A / EAN-13, the entire barcode does not fit in the reading field of the
(第3実施例)
図6及び図7は本発明の第3実施例を示すものであり、第2実施例と異なる部分についてのみ説明する。第3実施例では、制御回路3は、ステップA17に替わるステップA19において、読取ったコードパターンの両端と読取り視野の両端との間に所定の距離が存在するか否かを判定する。そして、所定の距離が存在すれば(「YES」)読取ったコードパターンをRSS_Limitedとして確定し、そのまま処理を終了するが、所定の距離がなければ(「NO」)読取りを「NG」とする(ステップA14)。
(Third embodiment)
6 and 7 show a third embodiment of the present invention, and only the parts different from the second embodiment will be described. In the third embodiment, the
即ち、図7に示すように、第3実施例と同様に本来はUPC−A/EAN−13のコードパターンであるがその全体が読取装置1の読取り視野に収まらず、視野のぎりぎりで読取れた部分がRSS_Limitedのコードパターンに一致する場合がある。従って、その場合に読取りを「NG」とすることで、UPC−A/EAN−13の読取り誤りを防止することができる。
That is, as shown in FIG. 7, the code pattern of UPC-A / EAN-13 is originally the same as in the third embodiment, but the entire code pattern does not fit in the reading field of the
また、図7の状態とは異なり、実際にバーコードがRSS_Limitedであることも想定されるが、視野の両端はどうしても照射部7による照明の照度が低くなりがちであり、正確な2値化ができないことも想定される。従って、斯様な場合に読取りを失敗と判定することで、読取り誤りを防止することができる。
In addition, unlike the state of FIG. 7, it is assumed that the barcode is actually RSS_Limited, but the illumination intensity of the
(第4実施例)
図8乃至図11は本発明の第4実施例を示すものである。第4実施例は、バーコード読取装置1の制御回路3が、バーコードのマージンチェックを行う場合の処理に関するものである。尚、第4実施例のマージンチェックは、例えば、第1実施例におけるステップA6やステップA9において行うものである。先ず、読取ったバーコードのマージンチェックを行う場合の現状の問題について図9乃至図11を参照して説明する。
(Fourth embodiment)
8 to 11 show a fourth embodiment of the present invention. The fourth embodiment relates to processing when the
2次元センサによってバーコードを読取る場合、上述したように、読取った画像の全体からバーコードが位置するエリアを抽出し、そのエリアに対して1本の走査線を引き、当該走査線に沿って読み取りを行う。この走査線上において、例えば図10に示すように鏡面反射により黒バーが飽和して白くなっていたり、或いは、ラベルの印刷が粗悪なため黒バーに擦れやボイドがあったりすると、その部分をマージン領域と間違えて処理してしまうことがある。その場合、バーコードの桁落ちや読み間違いが発生する。 When the barcode is read by the two-dimensional sensor, as described above, the area where the barcode is located is extracted from the entire read image, one scanning line is drawn with respect to the area, and along the scanning line. Read. On this scanning line, for example, as shown in FIG. 10, when the black bar is saturated and whitened due to specular reflection, or when the black bar is rubbed or voids due to poor printing of the label, the portion is regarded as a margin. It may be mistaken for an area and processed. In that case, the bar code is lost or misread.
また、360度全ての角度で読み取りが可能であり、バーコードが2次元的に傾いた状態で読取った場合には、図11に示すように走査線が途中からバーコードより外れてしまうことがある。このような事態を防止するには、走査線に最初に当たった黒バーが延びている方向を追跡し、当該黒バーが読取り基準の水平に対してなす角度を求め、当該黒バーに対する垂線を算出し、その垂線に沿って走査線を引き直し読み取りを行うようにしている。 In addition, reading is possible at all angles of 360 degrees, and when the barcode is read in a two-dimensionally inclined state, the scanning line may come off the barcode halfway as shown in FIG. is there. In order to prevent such a situation, the direction in which the black bar that first hits the scanning line extends is traced, the angle formed by the black bar with respect to the horizontal of the reading reference is obtained, and the perpendicular to the black bar is set. Calculation is performed, and scanning is redrawn along the perpendicular to perform reading.
ところが、2次元センサでバーコードを読取る場合、バーコードが印刷されている平面に対して仰角、俯角が付いた状態で読み取りを行うと、図9に示すようにバーコードの画像が台形状に歪んでしまうことがある。このように、画像が歪んだ場合には、上記のように最初に当たった黒バーに対する垂線に沿って走査線を引き直しても、その走査線が途中からバーコードより外れてしまうおそれがある。 However, when a barcode is read by a two-dimensional sensor, if the reading is performed with an elevation angle and a depression angle with respect to the plane on which the barcode is printed, the barcode image becomes trapezoidal as shown in FIG. It may be distorted. As described above, when the image is distorted, even if the scanning line is redrawn along the perpendicular line to the first black bar hit as described above, the scanning line may come off the barcode from the middle. .
そこで、第4実施例では、図8に示すフローチャートに従ってマージンチェックを行う。制御回路3は、先ず、走査線を設定する(ステップB0)。それから、読取ったバーコードの両端に位置する黒バーについて追跡を行い(ステップB1)、それら2本の黒バーが平行であるか否かを判断する(ステップB2)。両者が平行であれば(「YES」)、従来通りで問題なく、走査線に沿ってマージンチェックを行うことが可能である(ステップB3)。そして、バーコードの種類に応じたマージンが存在すれば(ステップB4,「YES」)処理は終了する。
Therefore, in the fourth embodiment, a margin check is performed according to the flowchart shown in FIG. First, the
一方、ステップB2において、両端のバーコードが平行でなければ(「NO」)、走査線に沿ってバーコードの外形ABCDを求める(ステップB6,図9(b)参照)。次に、バーコードの種類に応じて規定されているマージンの量を外形ABCDから計算し、マージン領域ABA’B’,CDC’D’を求めて外形ABCDの両側に設定する(ステップB7)。 On the other hand, if the barcodes at both ends are not parallel in step B2 ("NO"), the barcode outline ABCD is obtained along the scanning line (see step B6, Fig. 9B). Next, the margin amount defined according to the type of barcode is calculated from the outer shape ABCD, and margin areas ABA'B 'and CDC'D' are obtained and set on both sides of the outer shape ABCD (step B7).
続いて、マージン領域ABA’B’,CDC’D’に対し、図9(c)に示すように、外形ABCDの両端から外方に向けて複数の検査線を設定すると(ステップB8)、それらの各検査線について規定されたマージンが確保されているか否かを判断する(ステップB9)。例えば、検査線を3本以上設定し、それらの内でマージンが確保されているものが多数を占めた場合は「OK」と判断し(「YES」)処理を終了する。マージンが確保されているものが少数であれば(「NO」)読取りは「NG」とする(ステップB5)。 Subsequently, as shown in FIG. 9C, a plurality of inspection lines are set outward from both ends of the outer shape ABCD for the margin areas ABA'B 'and CDC'D' (step B8). It is determined whether or not a margin defined for each inspection line is secured (step B9). For example, if three or more inspection lines are set and a large number of inspection lines are secured, it is determined as “OK” (“YES”), and the process is terminated. If there are only a few margins ("NO"), the reading is "NG" (step B5).
以上のように第4実施例によれば、エリアセンサである光学的センサ10によりバーコードの読取りを2次元的に行う場合、バーコードパターンの少なくとも一端において、バー高さ方向の異なる位置に複数の検査線を設定して、それら検査線上の夫々につきマージンが確保されているかを判定するようにした。従って、読取装置1による読取りが、バーコードが印刷されている平面に対し仰角または俯角が付くように傾いた状態で行われた結果、バーコードの画像が両端側で傾いてしまったような場合やバーコードの印字品質が良くない場合でも、マージンが存在するか否かを確実に判定することができる。
As described above, according to the fourth embodiment, when the barcode is read two-dimensionally by the
また、複数の検査線を3本以上設定し、これらの検査線についてマージンが確保されているかを多数決原理で決定するので、マージンの存否を妥当に判定することができる。そして、両端に位置するバーの配置が平行であるか否かを判定し、両者が不平行である場合に複数の検査線を設定し、両者が平行である場合は従来と同様にマージンチェックを行うようにした。従って、バーコードの読取りが傾いた状態で行われたものと推定される場合にだけ複数の検査線が設定することで、読取りをより迅速に行うことができる。 Further, since three or more inspection lines are set and whether a margin is secured for these inspection lines is determined based on the majority rule, it is possible to appropriately determine whether or not there is a margin. Then, it is determined whether the arrangement of the bars located at both ends is parallel. If both are not parallel, a plurality of inspection lines are set. If both are parallel, a margin check is performed as in the conventional case. I did it. Therefore, the reading can be performed more quickly by setting a plurality of inspection lines only when it is estimated that the reading of the barcode is performed in a tilted state.
(第5実施例)
図12及び図13は本発明の第5実施例を示すものである。例えば、表などのスペースが限られている所にバーコードを付す場合、ラベル15の枠線に対して、規定されたマージンを確保することなくバーコードを印刷するようなことがある(図13参照)。第5実施例は、斯様な場合にも対応して確実にマージンチェックを行うものである。
(5th Example)
12 and 13 show a fifth embodiment of the present invention. For example, when a barcode is attached to a place where a space such as a table is limited, the barcode may be printed on the border of the
図12において、制御回路3は、バーコード両端外側の規定されたマージン領域中に検査線を設定し、黒バーが存在するか否かを判断する(ステップC1)。即ち、図13に示すような状態では、ラベル15の枠線自体を黒バーとして検出する場合がある。黒バーがなければ(「NO」)従来通りで問題はないので、ステップC5に移行して規定されたマージンがあるか否かを判断する。ステップC5で規定されたマージンがない場合は(「NO」)読取り「NG」とする(ステップC6)。
In FIG. 12, the
一方、マージン領域中に、黒バーが存在した場合は(「YES」)、その黒バーを追跡して高さH2を検出する(ステップC2)。それから、検出した高さH2を、既に読取ったバーコードのバーの高さH1と比較する(ステップC3)。「H1<H2」であれば(「YES」)、ステップC1で検出した黒バーは、バーコードパターンを構成するバーではなくラベル15の枠線であると推定することができる。従って、ステップC1で検出した黒バーは無視して、当該黒バーが位置する部分はマージン領域の一部であると判別し(ステップC4)、ステップC5に移行する。また、ステップC3において、「H1≧H2」であれば(「NO」)、ステップC1で検出した黒バーはバーコードパターンを構成するバーの可能性があるので、当該黒バーをコードパターンに加えて再度デコードを行う(ステップC7)。
On the other hand, if there is a black bar in the margin area (“YES”), the black bar is traced to detect the height H2 (step C2). Then, the detected height H2 is compared with the bar height H1 of the bar code already read (step C3). If “H1 <H2” (“YES”), it can be estimated that the black bar detected in step C1 is not a bar constituting the barcode pattern but a frame line of the
以上のように第5実施例によれば、バーコードパターンの両端外側に検査線上で検出されたバーの高さH2を測定して当該バーの高さを読取り済みバーコードのバーの高さH1と比較し、両者の高さが異なる場合は検査線上で検出されたバーをマージンと判定するようにした。従って、バーコードがラベル15の枠内に規定されたマージンが確保されていない状態で印刷されているような場合でも、バーコードの一部であるバーとラベル15の枠線とを確実に判別することができる。
As described above, according to the fifth embodiment, the height H2 of the bar detected on the inspection line is measured outside the both ends of the barcode pattern, and the height of the bar is read. In contrast, if the heights of the two are different, the bar detected on the inspection line is determined as a margin. Therefore, even when the barcode is printed in a state where the margin specified in the frame of the
(第6実施例)
図14は本発明の第6実施例を示すものであり、第1実施例と異なる部分について説明する。第6実施例では、第1実施例の図2で示したように、RSS_Limitedのコードパターンの内、UPC−A/EAN−13のコードパターンの一部に一致するものを全て、予めメモリ4に記憶させておく。そして、制御回路3は、ステップA15で「YES」と判断すると、メモリ4に記憶させたRSS_Limitedのコードパターンを検索する(ステップA20)。それから、ステップA7でデコードしたRSS_Limitedのコードパターンが、メモリ4に記憶させたパターンに一致するか否かを判断する(ステップA21)。
(Sixth embodiment)
FIG. 14 shows a sixth embodiment of the present invention, and the differences from the first embodiment will be described. In the sixth embodiment, as shown in FIG. 2 of the first embodiment, all of the RSS_Limited code patterns that match a part of the UPC-A / EAN-13 code pattern are stored in the
ステップA21において、一致するパターンが存在しなければ(「NO」)、その時点で、デコードしたRSS_LimitedがUPC−A/EAN−13のコードパターンの一部でないことが確定するので処理を終了する。一方、一致するパターンが存在すれば(「YES」)ステップA16に移行して第1実施例と同様に処理を行なう。
以上のように第6実施例によれば、RSS_LimitedがUPC−A/EAN−13のコードパターンの一部と一致するため両者を読み間違える可能性がある場合にだけ、第1実施例と同様の処理を行うので、読取りをより効率的に行うことができる。
If there is no matching pattern in step A21 ("NO"), it is determined that the decoded RSS_Limited is not a part of the UPC-A / EAN-13 code pattern at that time, and the process is terminated. On the other hand, if there is a matching pattern ("YES"), the process proceeds to step A16 and the same processing as in the first embodiment is performed.
As described above, according to the sixth embodiment, since RSS_Limited matches a part of the UPC-A / EAN-13 code pattern, only when there is a possibility of misreading both, the same as in the first embodiment. Since processing is performed, reading can be performed more efficiently.
(第7実施例)
図15は本発明の第7実施例を示すものであり、第1実施例と異なる部分について説明する。第7実施例では、制御回路3は、ステップA13の実行後に、ユーザによってRSS_LimitedとPOSコードの少なくとも1種類とが双方とも読取り対象に設定されているか否かを判断する(ステップA22)。そして、双方とも読取り対象に設定されていれば(「YES」)ステップA15に移行し、双方とも読取り対象に設定されていない場合は(「NO」,この場合、何れか一方だけが対象の場合も含む)そのまま処理を終了する。
即ち、双方が読取り対象に設定されていない場合は、読み取り対象のバーコードは何れか一方のみであることが前提であるから、POSコードを誤ってRSS_Limitedと読取る可能性はない。従って、双方が読取り対象に設定されている場合にだけステップA15〜A17を実行することで読取り効率を向上させることができる。
(Seventh embodiment)
FIG. 15 shows a seventh embodiment of the present invention, and different portions from the first embodiment will be described. In the seventh embodiment, after executing step A13, the
In other words, when both are not set as reading targets, it is premised that only one of the barcodes to be read is read, so there is no possibility that the POS code is erroneously read as RSS_Limited. Accordingly, the reading efficiency can be improved by executing steps A15 to A17 only when both are set as reading targets.
本発明は上記し又は図面に記載した実施例にのみ限定されるものではなく、以下のような変形が可能である。
第1乃至第3実施例で行うバーコードの読み取りは、ラインセンサによって1次元的に行っても良い。
第1バーコードを構成するバーの最大幅の決定は、ステップA3でバー幅を検出した段階で行っても良い。また、必ずしも実際に読取ったパターンに基づいて決定する必要はなく、読取り対象として想定されるバーコードの種類に応じてバーの最大幅を予めデータとして保持しておき、そのデータに基づいて決定しても良い。
第2実施例において、UPC−A/EAN−13のキャラクタコードが存在するかどうかに替えて、バーコードの両端が全て1〜4モジュールのバーで構成されている場合に、読み取りを「NG」としても良い。
The present invention is not limited to the embodiments described above or shown in the drawings, and the following modifications are possible.
The barcode reading performed in the first to third embodiments may be performed one-dimensionally by a line sensor.
The determination of the maximum width of the bars constituting the first barcode may be performed when the bar width is detected in step A3. In addition, it is not always necessary to make a determination based on the actually read pattern. The maximum bar width is stored in advance as data according to the type of barcode assumed to be read, and is determined based on the data. May be.
In the second embodiment, instead of whether or not the UPC-A / EAN-13 character code exists, the reading is “NG” when both ends of the barcode are composed of 1 to 4 module bars. It is also good.
また、第2実施例においてステップA15を削除し、「読み取りOK」となったバーコードがRSS_Limitedであるか否かに係らず、ステップA18で第1バーコードのキャラクタコードについて存否を判定するようにしても良い。そして、この時ステップA18では、第1バーコードのキャラクタコードのみならず、スタートパターン又はストップパターンが存在するか否かについても判定するようにしても良い。
第4実施例において、複数の検査線の全てについてマージンが確保されている場合にのみマージンの存在を確定しても良く、この場合、マージンの存否を一層確実に判定することができる。
また、第4実施例において、ステップB2を省略し、両端のバーが平行であるか否かにかかわらず以降の処理を実施しても良い。
第4又は第5実施例のマージンチェック方法を、例えば第1実施例のステップA17に対して適用しても良い。
Also, in the second embodiment, step A15 is deleted, and whether or not the character code of the first barcode is present is determined in step A18 regardless of whether or not the barcode that is “read OK” is RSS_Limited. May be. At this time, in step A18, not only the character code of the first barcode but also whether or not a start pattern or a stop pattern exists may be determined.
In the fourth embodiment, the presence of the margin may be determined only when the margin is secured for all of the plurality of inspection lines, and in this case, the presence or absence of the margin can be more reliably determined.
In the fourth embodiment, step B2 may be omitted, and the subsequent processing may be performed regardless of whether or not the bars at both ends are parallel.
The margin check method of the fourth or fifth embodiment may be applied to step A17 of the first embodiment, for example.
第2過程における最大幅を超えるバーは、黒バーを対象としても良い。
バーコード読取装置1を、夫々のバーコードにマージンが適切に設定されているか否かを判別する手段を、バーコードの種類毎に設定可能となるように構成しても良い。斯様に構成すれば、例えばRSS_Limitedのようにマージンが規定されていないバーコードだけを読取るような場合には、不要な判定処理を行うことなく読み取りを迅速に行うことができる。
第1,第2バーコードは、夫々POSコード,RSS_Limitedに限ることはなく、要は、第1バーコードの一部のコードパターンが、第2バーコードのコードパターンに一致又は類似するような関係にあるものに適用することができる。
The bar exceeding the maximum width in the second process may be a black bar.
The
The first and second barcodes are not limited to the POS code and RSS_Limited, respectively. In short, a relationship in which part of the code pattern of the first barcode matches or resembles the code pattern of the second barcode. It can be applied to what is in
図面中、1はバーコード読取装置、3は制御回路(コンピュータ)、4はメモリ、10は光学的センサ(エリアセンサ)、14は制御プログラム(コンピュータプログラム)を示す。 In the drawings, 1 is a bar code reader, 3 is a control circuit (computer), 4 is a memory, 10 is an optical sensor (area sensor), and 14 is a control program (computer program).
Claims (5)
前記複数種類の内、第1規格に基づく第1バーコードの一部のコードパターンが、前記第1規格よりもバーの構成本数が少なく設定されており、且つ両端にマージンの設定がない第2規格に基づく第2バーコードとして読取れる場合に、
読取ったバーコードを2値化処理して得られた明暗パターン列について、前記第2規格の読取りアルゴリズムを適用して読み取りを行い、
前記読取りが正常終了した場合において、前記バーコードの両端と前記受光素子の読取り視野の両端との間に所定の距離があるか否かを判断し、前記所定の距離がない場合は当該バーコードの読取りを失敗と判定し、前記所定の距離がある場合は当該バーコードの読取りを成功と判定することを特徴とするバーコード読取方法。 In a barcode reading method for optically reading a barcode created based on a plurality of types of standards using a light receiving element and decoding data recorded in the barcode,
Among the plurality of types, a part of the code pattern of the first bar code based on the first standard is set so that the number of bars is smaller than that of the first standard, and no margin is set at both ends. in the case that read as a second bar code based on the standard,
The light and dark pattern sequence obtained by binarizing the read barcode is read by applying the reading algorithm of the second standard,
When the reading is normally completed, it is determined whether or not there is a predetermined distance between both ends of the bar code and both ends of the reading field of the light receiving element. The barcode reading method is characterized in that it is determined that the reading of the barcode is unsuccessful, and the barcode reading is determined to be successful if the predetermined distance is present .
前記複数種類の内、第1規格に基づく第1バーコードの一部のコードパターンが、前記第1規格よりもバーの構成本数が少なく設定されており、且つ両端にマージンの設定がない第2規格に基づく第2バーコードとして読取れる場合に、
読取ったバーコードを2値化処理して得られた明暗パターン列について、前記第2規格の読取りアルゴリズムを適用して読み取りを行わせ、
前記読取りが正常終了した場合において、前記バーコードの両端と前記受光素子の読取り視野の両端との間に所定の距離があるか否かを判断させ、前記所定の距離がない場合は当該バーコードの読取りを失敗と判定させ、前記所定の距離がある場合は当該バーコードの読取りを成功と判定させることを特徴とするコンピュータプログラム。 In a program executed by a computer that controls a barcode reader that optically reads a barcode created based on a plurality of types of standards using a light receiving element and decodes data recorded in the barcode,
Among the plurality of types, a part of the code pattern of the first bar code based on the first standard is set so that the number of bars is smaller than that of the first standard, and no margin is set at both ends. in the case that read as a second bar code based on the standard,
The light and dark pattern sequence obtained by binarizing the read barcode is read by applying the reading algorithm of the second standard,
When the reading is normally completed, it is determined whether or not there is a predetermined distance between both ends of the barcode and both ends of the reading field of the light receiving element. read was judged to fail, the computer program if there is a predetermined distance, characterized in Rukoto is determined that successful reading of the barcode.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008078073A JP4636105B2 (en) | 2008-03-25 | 2008-03-25 | Bar code reading method, bar code reading apparatus, and computer program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008078073A JP4636105B2 (en) | 2008-03-25 | 2008-03-25 | Bar code reading method, bar code reading apparatus, and computer program |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005039129A Division JP4254724B2 (en) | 2005-02-16 | 2005-02-16 | Bar code reading method and computer program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008159085A JP2008159085A (en) | 2008-07-10 |
JP4636105B2 true JP4636105B2 (en) | 2011-02-23 |
Family
ID=39659853
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008078073A Active JP4636105B2 (en) | 2008-03-25 | 2008-03-25 | Bar code reading method, bar code reading apparatus, and computer program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4636105B2 (en) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5723178A (en) * | 1980-07-15 | 1982-02-06 | Sankusu:Kk | Information code reader of label reader |
JPS61168452U (en) * | 1985-04-08 | 1986-10-18 | ||
JPS6249579A (en) * | 1985-08-29 | 1987-03-04 | Sato :Kk | Bar code reading method |
JPH04216184A (en) * | 1990-12-17 | 1992-08-06 | Nec Eng Ltd | Bar code reader |
JPH04268985A (en) * | 1991-02-25 | 1992-09-24 | Alps Electric Co Ltd | Optical reader |
JPH04276880A (en) * | 1991-03-04 | 1992-10-01 | Fujitsu Ltd | Bar code demodulation system |
JPH07239899A (en) * | 1994-02-28 | 1995-09-12 | Toshiba Corp | Optical character reader |
JPH07334607A (en) * | 1994-06-07 | 1995-12-22 | Nippondenso Co Ltd | Bar code reading device |
JPH08185463A (en) * | 1994-12-28 | 1996-07-16 | Pentel Kk | Method for segmenting bar code |
JPH10134133A (en) * | 1996-11-05 | 1998-05-22 | Olympus Optical Co Ltd | Bar code reader |
JP2003022416A (en) * | 2001-07-10 | 2003-01-24 | Denso Corp | Method and device for reading bar code |
-
2008
- 2008-03-25 JP JP2008078073A patent/JP4636105B2/en active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5723178A (en) * | 1980-07-15 | 1982-02-06 | Sankusu:Kk | Information code reader of label reader |
JPS61168452U (en) * | 1985-04-08 | 1986-10-18 | ||
JPS6249579A (en) * | 1985-08-29 | 1987-03-04 | Sato :Kk | Bar code reading method |
JPH04216184A (en) * | 1990-12-17 | 1992-08-06 | Nec Eng Ltd | Bar code reader |
JPH04268985A (en) * | 1991-02-25 | 1992-09-24 | Alps Electric Co Ltd | Optical reader |
JPH04276880A (en) * | 1991-03-04 | 1992-10-01 | Fujitsu Ltd | Bar code demodulation system |
JPH07239899A (en) * | 1994-02-28 | 1995-09-12 | Toshiba Corp | Optical character reader |
JPH07334607A (en) * | 1994-06-07 | 1995-12-22 | Nippondenso Co Ltd | Bar code reading device |
JPH08185463A (en) * | 1994-12-28 | 1996-07-16 | Pentel Kk | Method for segmenting bar code |
JPH10134133A (en) * | 1996-11-05 | 1998-05-22 | Olympus Optical Co Ltd | Bar code reader |
JP2003022416A (en) * | 2001-07-10 | 2003-01-24 | Denso Corp | Method and device for reading bar code |
Also Published As
Publication number | Publication date |
---|---|
JP2008159085A (en) | 2008-07-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4254724B2 (en) | Bar code reading method and computer program | |
JP4058529B2 (en) | Optical information reader | |
US10621470B2 (en) | Methods for optical character recognition (OCR) | |
US10140497B1 (en) | Methods and system for reading barcodes captured on multiple images | |
JP5017988B2 (en) | Code reader and program | |
JP2017151969A (en) | Enhanced matrix symbol error correction method | |
JP4103909B2 (en) | Portable information terminal and image processing method | |
JP4636105B2 (en) | Bar code reading method, bar code reading apparatus, and computer program | |
JP4636104B2 (en) | Bar code reading method, bar code reading apparatus, and computer program | |
EP2370930B1 (en) | Minimizing misdecodes in electro-optical readers | |
JP4100273B2 (en) | Two-dimensional code reading method and two-dimensional code reading apparatus | |
JP5218316B2 (en) | Optical information reader | |
JP2006134160A (en) | Optical information reading device | |
US8840025B2 (en) | Arrangement for and method of preventing symbol misreads in electro-optical readers | |
JP6398809B2 (en) | Information code reader | |
JP5115124B2 (en) | Bar code reader and program | |
JP5825141B2 (en) | Optical information reader | |
JP5482340B2 (en) | Bar code reading apparatus, bar code reading method, and bar code reading program | |
JP2010097317A (en) | Bar code reading method and bar code reading device | |
JPH06195497A (en) | Bar code decoder | |
JP3891072B2 (en) | Bar code reading method and bar code reading apparatus | |
JP2020135359A (en) | Two-dimensional information code reading device, two-dimensional information code reading method, and two-dimensional information code reading program | |
US8376234B2 (en) | Method of and reader for electro-optically reading symbols on curved surfaces | |
JP2014157451A (en) | Optical information reader | |
JPH07334609A (en) | Bar code reading device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100615 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100806 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20101026 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20101108 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131203 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4636105 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131203 Year of fee payment: 3 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131203 Year of fee payment: 3 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |