[go: up one dir, main page]

JPH0636065A - バーコード読取復調方法 - Google Patents

バーコード読取復調方法

Info

Publication number
JPH0636065A
JPH0636065A JP4186813A JP18681392A JPH0636065A JP H0636065 A JPH0636065 A JP H0636065A JP 4186813 A JP4186813 A JP 4186813A JP 18681392 A JP18681392 A JP 18681392A JP H0636065 A JPH0636065 A JP H0636065A
Authority
JP
Japan
Prior art keywords
character
bar
demodulated
modules
bar code
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP4186813A
Other languages
English (en)
Other versions
JP2740418B2 (ja
Inventor
Hiroaki Kawai
弘晃 川合
Shinichi Sato
伸一 佐藤
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP4186813A priority Critical patent/JP2740418B2/ja
Priority to US08/091,022 priority patent/US5451761A/en
Publication of JPH0636065A publication Critical patent/JPH0636065A/ja
Priority to US08/488,371 priority patent/US5525785A/en
Priority to US08/488,364 priority patent/US5525784A/en
Application granted granted Critical
Publication of JP2740418B2 publication Critical patent/JP2740418B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
    • G06K7/1404Methods for optical code recognition
    • G06K7/146Methods for optical code recognition the method including quality enhancement steps
    • G06K7/1486Setting the threshold-width for bar codes to be decoded
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Electromagnetism (AREA)
  • General Health & Medical Sciences (AREA)
  • Toxicology (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Printers Characterized By Their Purpose (AREA)

Abstract

(57)【要約】 【目的】 本発明は、バーコード読取復調方法に関し、
例えばバーコードラベルの湾曲等による不均一なバー幅
変動の存在する場合でも、正確に読取り復調できること
を目的とする。 【構成】 バーコードを読取り復調するバーコード読取
装置において、連続するキャラクタ長を測定する測定手
段4と、被復調キャラクタのキャラクタ長と、前のキャ
ラクタ長の比を求める比算出手段7と、被復調キャラク
タの前にあるキャラクタ内の少なくとも1つのバーを基
準にして、被復調キャラクタを復調する手段7を設け、
前記キャラクタ長の比にもとづき、前記基準のバーを補
正して、この補正にもとづきモジュール数を求め、バー
コードを復調するものである。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はバーコード読取復調方法
に係り、特にバーコードの印字品質の低いもの、ラベル
の湾曲等による不均一なバー幅変動に対しても正確に読
み取ることができるにようにしたものに関する。
【0002】
【従来の技術】近年、流通業等のPOSシステムに代表
されるように、バーコードの利用が盛んになってきたが
バーコードの印字品質の低いものも増加しており、バー
コードの印字品質に左右されずにこれを正しく読み取る
必要性が高まっている。
【0003】印字品質の低いものとして黒バーの細り太
りがある。図7(A)に示す如き正常の白バー、黒バー
について、これを印刷するとき、同(B)に示す如く、
黒バー部分がP0 に示す部分だけ太く印刷される場合
と、同(C)に示す如く、黒バー部分がP1 に示す部分
だけ細く印刷される場合がある。図7(B)が黒バー太
りの例であり、同(C)が黒バー細りの例である。
【0004】このような場合、図7(B)において白レ
ベル部分B1と黒レベル部分B2とを連続したT1の長
さは、同(A)におけるT1と等しい。また図7(B)
において黒レベル部分B2と白レベル部分B3とを連続
したT2の長さは、同(A)におけるT2と等しい。こ
のような関係は、黒バー細りの図7(C)の場合におい
ても同様である。このように白レベルの部分と黒レベル
の部分を連続した値で読取るδディスタンスT1、T2
を使用することにより、印刷による均一な太り細りの影
響を除くことができる。このような理由によりバーコー
ドの復調にはδディスタンスが用いられる。
【0005】δディスタンスT1、T2、によりバーコ
ードを判別するとき、図8に示す如く、オッドのゼロは
モジュール数がT1=2、T2=3となり、イーブンの
ゼロはT1=5、T2=3となるので、このT1、T2
のモジュール数に応じてその数値が判別される。図8に
おいて左側はオッドの数値を示し、右側はイーブンの数
値を示す。ここで、オッドの0、1、2・・・は「O
0」、「O1」、「O2」・・・と表し、イーブンの
0、1、2・・・は「E0」、「E1」、「E2」・・
・と表す。そして図9に示す如く、T1、T2のモジュ
ール数に応じてその数値が判別される。
【0006】このようにT1、T2のモジュール数で判
別するとき、図8、図9より明らかなように、O1とO
7及びE2とE8の区別がつかない。O1とO7はいず
れもT1=3、T2=4であり、E2とE8はいずれも
T1=3、T2=3であり、δディスタンスが同一のた
め、区別ができない。同様にこれまたE1とE7、O2
とO8の区別がつかない。
【0007】このため黒バーのモジュール数を求めて区
別することが必要となる。T1=3、T2=4の場合
は、T1中に存在する黒バーのモジュール数が1のとき
「O1」であり、2のとき「O7」である。同じくT1
=3、T2=3のときT1中に存在する黒バーのモジュ
ール数が2のとき「E2」であり、1のとき「E8」で
ある。
【0008】ところで黒バーの幅は、前記のように、印
刷状態によって太ったり、細ったりする。この影響を避
けるために、既に復調が完了している直前のキャラクタ
の黒バー幅により、補正を行った後にモジュール数の算
出を行っていた。
【0009】従来のキャラクタの復調方法を図10
(A)に示すフローチャートにもとづき、同(B)に示
す如く、O0(Odd0)のキャラクタの後にE2(E
VEN2)のキャラクタが続いた時の例について説明す
る。
【0010】初めに図10(B)に示す、T1´とT2
´のモジュール数をキャラクタ長C2より算出する。U
PC(Uniform Product Code)やJAN等では1キャラ
クタ7モジュールで構成されているので、キャラクタ長
Cnを7で割れば1モジュールの長さが得られるので、
この1モジュールの長さで、T1´、T2´を割算すれ
ばT1´=2モジュール、T2´=3モジュールとな
り、図8に示す復調テーブルよりO0であることがわか
る。そしてこのO0のキャラクタの最後の黒バーモジュ
ール数1が、図示省略したBRMレジスタに代入され
る。
【0011】次に図10(A)のフローにしたがって、
次のキャラクタを復調開始する。 まず、キャラクタ長C1(図10(A)では一般性を
持たせるためCnと記載)を7で割って得た1モジュー
ル長(Cn/7)を算出する。T1のモジュール数T1
M及びT2のモジュール数T2Mは次式により算出され
る。
【0012】 T1M=INT(T1/(Cn/7)+0.5) T2M=INT(T2/(Cn/7)+0.5) ここで、INT(X+0.5)はXの小数点以下を四捨
五入するための処理である。これによりT1のモジュー
ル数が4、T2のモジュール数が3と算出される。
【0013】このT1のモジュール数とT2のモジュ
ール数により、復調テーブルをアクセスし、キャラクタ
復調が行われる。 このとき、キャラクタが1、7、2、8のとき、この
復調テーブルのアクセスのみではキャラクタ復調ができ
ないので、これ以外のキャラクタ0、3、4、5、6、
9と判断されるときは、基準黒バーモジュール数つまり
T1における黒バーの数を、バーコードコード表より算
出してこれをBRMレジスタに記入し、キャラクタ復調
を完了する。
【0014】しかし、1、7、2、8のいずれかのと
き、T1内における黒バーの数を算出してこれらのいず
れか判断することが必要となる。しかしこの場合、印刷
による太り、細りの影響を排除する為に、黒バー幅補正
の処理が必要となる。このため、図10(B)における
領域B1とB5の差を求め、そのモジュール数(この例
ではΔM=1)に先程のキャラクタ長C2の判別でBR
Mレジスタに代入したB5のモジュール数(BRM=
1)を加算することによりB1=2モジュールが求めら
れる。
【0015】すなわち、 ΔM=INT((B1−B5)/(Cn/7)+0.
5) により前記ΔMが得られる。そして、 B1M=BRM+ΔM によりB1のモジュール数B1Mが算出される。
【0016】このようにしてB1のモジュール数が得
られるので、これにより、1、7、2、8が判断され
る。この例ではE2であることが判断される。そして前
記と同様にこのようにして得られた基準黒バーモジュー
ル数が次のキャラクタ復調のために、BRMレジスタに
代入され、キャラクタ復調を完了する。
【0017】
【発明が解決しようとする課題】ところで、このような
従来のものは、印刷等による均一の太り、細りに対する
影響を防止するためには有効である。しかしラベルの湾
曲等による不均一なバー幅変動には、隣接キャラクタ内
のバーを基準として演算処理を行うため、誤読み取りが
生ずることがあるという問題があった。
【0018】
【課題を解決するための手段】前記問題を改善するため
に、本発明では、前記図10(A)における黒バー幅
の補正に先立ち、図1(A)のに示す如く、基準黒バ
ー幅の補正を行う。すなわち、図10(B)のB5の幅
に、キャラクタ長C1/C2の比を乗算して基準黒バー
幅の補正を行い、補正ずみの基準黒バー幅B5Rを前記
同10(A)におけるB5に代入して、図1(A)
の如き演算を行い、これによりΔMを算出する。
【0019】そして、このΔMに前記BRMレジスタに
記入してあるB5の黒バーの数を加算することによりB
1のモジュール数B1Mが得られる。
【0020】
【作用】本発明によれば、ラベルが湾曲した部分に貼付
けられているような場合においても、図1(A)に示
す如く、基準とする黒バー幅を直前のキャラクタ長と現
在のキャラクタ長で補正した後に、同に示す如く黒バ
ー幅補正を行うので、非常に正確にB1におけるモジュ
ール数を算出することができ、正確なバーコード読取り
を行うことができる。
【0021】
【実施例】本発明の第一実施例を図1にもとづき説明す
る。図1(A)は本発明のバーコード読取方法の第一実
施例を示すフローチャートであり、同1(B)は本発明
を実施するバーコードリーダのブロック図を示す。図1
(B)において、1はバーコード、2は光学系、3はA
・D変換部、4はバー幅カウンタ、5はクロック発振
器、6はメモリ、7はCPU、8はBRMレジスタであ
る。ここで光学系2〜BRMレジスタ8は、いわゆるバ
ーコードリーダを構成するものであり、バーコード1は
このバーコードリーダにより読取られる、バーコードの
印刷されたラベルである。
【0022】図1(B)において、バーコード1は光学
系2を経由して、図示省略したCCDの如き光電変換部
において電気信号に変換され、A・D変換部3により、
例えば図10(B)に示す如き2値信号に変換される。
そしてバー幅カウンタ4によりそのB1、B2・・・で
示される黒領域、白領域の長さがカウントされる。な
お、クロック発振器5はこのバー幅カウンタ4を動作さ
せるクロックパルスを出力するものである。
【0023】そしてこのB1、B2・・・がメモリ6に
一時保管され、CPU7が後述する図1(A)における
フローチャートに示す如き動作を行い、バーコード1の
キャラクタ復調処理を行う。このとき、BRMレジスタ
8に、基準黒バーモジュール数を記入する。
【0024】次に本発明の第一実施例を図1(A)に示
すフローチャートにもとづき、図10(B)で示すよう
に、E0のキャラクタの次にE2のキャラクタが続いた
ときの例で説明する。
【0025】メモリ6には、図10(B)に示す如
き、B1、B2・・・B8が記入されている。CPU7
は、まずキャラクタ長C1、C2をそれぞれ7で割り、
前記図10(A)のと同様にして、次式によりT1の
モジュール数T1MおよびT2のモジュール数T2Mを
算出する。
【0026】 T1M=INT(T1/(Cn/7)+0.5) T2M=INT(T2/(Cn/7)+0.5) このT1のモジュール数と、T2のモジュール数によ
り、復調テーブルをアクセスし、キャラクタ復調が行わ
れる。この場合ではT1のモジュール数は4、T2のモ
ジュール数は3とCPU7で演算され、CPU7はこれ
らのモジュール数により復調テーブルをアクセスし、キ
ャラクタ復調を行う。
【0027】この場合、キャラクタが1、7、2、8
の場合、復調テーブルをアクセスのみではキャラクタ復
調ができないので、後述する以下の処理が行われる。
しかしこれ以外のキャラクタ0、3、4、5、6、9と
判断されるときは、基準黒バーモジュール数、すなわち
T1における黒バーの数をバーコードコード表より算出
して、これをBRMレジスタに記入し、キャラクタ復調
が完了する。
【0028】しかし、1、7、2、8のいずれかのと
き、T1内における黒バー数を算出していずれのキャラ
クタかを判断することが必要になるが、本発明ではこの
黒バー数の算出に必要な基準黒バー幅B5Rを下記の式
で補正する。
【0029】B5R=B5*C1/C2 すなわち、キャラクタ長C1、C2の比をB5に乗算す
る。 それから、このようにして得たB5Rを使用して、従
来と同様に、 ΔM=INT((B1−B5)/(Cn/7)+0.
5) によりΔMを求める。そしてこのΔMをBRMレジスタ
に記入された黒バーの数(BRM)に加算してB1のモ
ジュール数B1Mを算出する。
【0030】B1M=BRM+ΔM このようにして得られたB1Mにより、1、7、2、8
が判断される。そして、前記と同様に、バーコードコー
ド表より、基準黒バーモジュール数を算出し、BRMレ
ジスタにこの黒バーモジュール数を記入する。かくして
キャラクタ復調が完了される。
【0031】この第一実施例によれば、前記の如く、キ
ャラクタ長C1/C2により、つまり判別対象のキャラ
クタ長と、その直前のキャラクタ長により、基準とする
直前のキャラクタ内の基準黒バー幅を補正するので、例
えば湾曲した部分に貼付けされたような、不均一なバー
幅変動を補正して、キャラクタ復調を正確に行うことが
できる。なお、前記C1/C2の比が所定範囲内のとき
のみ復調を有効とすることもできる。
【0032】本発明の第二実施例を図2にもとづき説明
する。第二実施例では、ラベルの湾曲等による不均一な
バー幅変動時に誤読み取りを行わないように、直前のキ
ャラクタの黒バーだけでなく、白バーも用いてキャラク
タ内の全モジュール数を算出して、これらの合計値が7
モジュールとなるか否かをチェックする。
【0033】このとき、黒バーは前キャラクタの黒バー
を基準にモジュール数を求める。また白バーは前キャラ
クタの白バーを基準にして、キャラクタ内の全バーモジ
ュール数を求め、合計値が7モジュールにならないとき
は、その一連のデータを無効とする。第二実施例を、図
2により説明する。図2のフローチャートは、図1
(B)のCPU7の動作を示す。そしてBRB、BRW
は図示省略したレジスタである。
【0034】CPU7は、図1(A)と同様に、キャ
ラクタ長C1、C2により、T1のモジュール数T1M
およびT2のモジュール数T2Mを算出する。 T1M=INT(T1/(Cn/7)+0.5) T2M=INT(T2/(Cn/7)+0.5) これらT1、T2のモジュール数により復調テーブル
をアクセスし、キャラクタ復調が行われる。この場合は
T1のモジュール数が4、T2のモジュール数は3であ
り、CPUはこれらのモジュール数により復調テーブル
をアクセスし、キャラクタ復調を行う。
【0035】キャラクタが1、7、2、8の場合、前
記と同様に、後述する以下の処理が行われる。しか
し、これ以外のキャラクタ0、3、4、5、6、9と判
断されるときは、基準黒バーモジュール数(T1つまり
B1における黒バーの数)及び基準白バーモジュール数
(B2における白バー数)をバーコードコード表より算
出してこれをBRMレジスタ、BRWレジスタに記入
し、キャラクタ復調が完了する。
【0036】しかし1、7、2、8のいずれかの場
合、まず黒バー幅について第1の補正ΔM1を次式で行
う。 ΔM1=INT((B1−B5)/(Cn/7)+0.
5) そしてこのΔM1をBRBレジスタに記入されているB
5の黒バーのモジュール数BRBMに加算してB1の黒
バーのモジュール数B1Mを算出する。
【0037】次に白バー幅について第1の補正ΔM2
を次式で行う。 ΔM2=INT((B2−B6)/(Cn/7)+0.
5) ここでB2、B6は、図9(B)より明らかに、C1、
C2の初めの白領域の長さである。そしてこのΔM2を
BRWレジスタに記入されているB6の白バーのモジュ
ール数BRWMに加算して、B2の白バーのモジュール
数B2Mを得る。
【0038】次にB3の黒バー幅を求めるため、黒バ
ー幅について第2の補正ΔM3を次式で行う。 ΔM3=INT((B3−B5)/(Cn/7)+0.
5) ここでB3は、図9(B)より明らかに、C1の2番目
の黒領域の長さである。そしてこのΔM3をBRBレジ
スタに記入されている。B5の黒バーのモジュール数B
RBMに加算してB3の黒バーのモジュール数B3Mを
算出する。
【0039】次にB4の白バー幅を求めるため、白バ
ー幅について第2の補正ΔM4を次式で行う。 ΔM4=INT((B4−B6)/(Cn/7)+0.
5) ここでB4は、図9(B)より明らかに、C1の2番目
の白領域の長さである。そしてこのΔM4をBRWレジ
スタに記入されているB6の白バーのモジュール数BR
WMに加算してB4の白バーのモジュール数B4Mを算
出する。
【0040】それからCPUは前記B1M、B2M、
B3M、B4Mを加算してこれらの和が7モジュールか
否かをチェックする。もし7モジュールでなければこの
一連のデータを無効とし、キャラクタ復調を中止する。
【0041】7モジュールの場合には、1、7、2、
8のいずれになるのか判断するため、そのB1のモジュ
ール数によりこれらのいずれかを判断する。そしてバー
コードコード表よりB1のモジュール数、B2のモジュ
ール数を得て、これらをBRBレジスタ、BRWレジス
タに代入し、次のキャラクタ復調に備える。このように
してキャラクタ復調を完了する。
【0042】本発明の第二実施例では、黒バーのみなら
ず、白バーについても補正を行い、全黒領域、白領域の
モジュール数の合計がバーコードのキャラクタのモジュ
ール合計規定値と等しいときに復調を有効と判断するの
で、さらに正確にバーコードを読取ることができる。
【0043】なお、第二実施例において、それぞれの基
準黒バー、基準白バーを、第一実施例と同様の手法で補
正することも勿論可能である。例えば被復調キャラクタ
長と直前のキャラクタ長と比を求めて、前記の如く補正
してもよい。
【0044】本発明の第三実施例を図3にもとづき説明
する。第三実施例では、ラベルの湾曲等による不均一な
バー幅変動時に誤読取を行わないように、直前のキャラ
クタの後の黒バーだけでなく、前の黒バーも用いて黒バ
ーモジュール数を算出して、両方の値が等しいか否かを
チェックするものである。すなわち、図9(B)におけ
るB5のみならずその前の黒バーのB7をも用いて算出
を行うものである。なお図3のフローチャートは図1
(B)のCPU7の動作を示す。
【0045】CPUは、前記と同様に、キャラクタ長
C1により、T1のモジュール数T1MおよびT2のモ
ジュール数T2Mを算出する。 T1M=INT(T1/(Cn/7)+0.5) T2M=INT(T2/(Cn/7)+0.5) これらT1、T2のモジュール数により復調テーブル
をアクセスし、キャラクタ復調が行われる。図10
(B)の場合はT1のモジュール数が4、T2のモジュ
ール数は3であり、CPUはこれらのモジュール数によ
り復調テーブルをアクセスし、キャラクタ復調を行う。
【0046】キャラクタが1、7、2、8の場合、前
記と同様に、後述する以下の処理が行われる。しか
し、これ以外のキャラクタ0、3、4、5、6、9と判
断されたときは、基準黒バーモジュール数(B1、B3
における黒バーの数)をバーコードコード表より得て、
B5RMレジスタ、B7RMレジスタにそれぞれ記入
し、キャラクタ復調を完了する。
【0047】しかし1、7、2、8のいずれかの場
合、図10(B)に示す如く、その直前のキャラクタC
2 のB5を使用してモジュール算出のための黒バー幅補
正を行う。
【0048】 ΔM1=INT((B1−B5R)/(Cn/7)+
0.5) ここでB5Rは、前記第一実施例と同じものであり、次
式により得られる。 B5R=B5*C1/C2 このようにして得られたΔM1を、前記B5RMレジス
タに保持されているB5の黒モジュール数B5RMと加
算してB1の黒モジュール数B1Mを得る。
【0049】B1M=B5RM+ΔM1 同様にこのB1をB7を使用して黒バー幅補正を行
う。 ΔM2=INT((B1−B7R)/(Cn/7)+
0.5) ここでB7Rは、前記B5Rと同様に、次式により得ら
れる。
【0050】B7R=B7*C1/C2 このようにして得られたΔM2を、前記B7RMレジス
タに保持されているB7の黒モジュール数B7RMと加
算してB1の黒モジュール数B1M´を得る。
【0051】B1M´=B7RM+ΔM2 もし読取りが正確であれば、前記で算出したB1の
黒モジュール数B1Mと、前記で算出したB1の黒モ
ジュール数B1M´とは等しい筈である。したがってこ
れらが等しくないB1M≠B1M´のとき、キャラクタ
復調を中止する。
【0052】等しい場合には、1、7、2、8のいず
れになるのか判断するため、B1のモジュール数により
これらのいずれかを判断する。そしてバーコードコード
表よりB1、B3のモジュール数B5RM、B7RM
(B1、B3と次サイクルでは図9(B)のB5、B7
に相当するものとなる)をB5Rレジスタ、B7Rレジ
スタにそれぞれ記入し、キャラクタ復調を完了する。
【0053】なお、第三実施例において、第一実施例、
第二実施例と同様な手法を用いて補正を行うこともでき
る。例えば被復調キャラクタ長と直前のキャラクタ長の
比を求めて黒バーを補正することもできる。
【0054】本発明の第4実施例を図4にもとづき説明
する。第4実施例では、ラベルの歪曲等による不均一な
バー幅変動に対応するために、被復調のキャラクタ長と
直前のキャラクタ長により、基準とする直前のキャラク
タ内の基準黒バー幅を補正するが、キャラクタ長の差が
一定値以上のとき、例えば10%以上のときは、一連の
データの復調をクリアするものである。なお、図4のフ
ローチャートは、図1(B)のCPU7の動作を示す。
【0055】CPUは、図9(B)に示す如く、C1
が伝送されたとき、そのキャラクタ長をC2と比較し
て、次式によりその比CHRを求める。 CHR=C1/C2 この比CHRが一定範囲以外のとき、例えばキャラク
タ長誤差が10%以上のとき、すなわちCHRが0.9
〜1.1以外のとき、キャラクタ復調を中止する。
【0056】そして一定範囲、例えば0.9<CHR
<1.1の場合、前記と同様にT1、T2のモジュール
数T1M、T2Mを算出する。 T1M=INT(T1/(Cn/7)+0.5) T2M=INT(T2/(Cn/7)+0.5) これらのT1、T2のモジュール数により復調テーブル
をアクセスし、キャラクタ復調が行われる。
【0057】これにより、キャラクタが1、7、2、
8の場合、後述する以下の処理が行われる。しかし、
これ以外のキャラクタ0、3、4、5、6、9と判断さ
れたとき、基準黒バーモジュール数(B1の黒バーの
数)をバーコードコード表より得て、BRMレジスタに
これを記入し、キャラクタ復調を完了する。
【0058】しかし1、7、2、8のいずれかの場
合、前記図1(A)の以下と同様の処理が行われる。
本発明の第5実施例を図5により説明する。第5実施例
では、その直前のキャラクタ長との差が、その直前のキ
ャラクタ内のバーを使用する必要のある1、7、2、8
の場合には、キャラクタ長の差を一定値、例えば10%
以内とし、それ以外のキャラクタの場合には、これより
許容範囲の大きい一定値例えば20%の差まで有効とす
るものである。なお、図6フローチャートは、これまた
図1(B)のCPU7の動作を示す。
【0059】CPUは、前記と同様に、キャラクタ長
C1、C2を測定し、C1によりT1のモジュール数T
1MおよびT2のモジュール数T2Mを算出する。 T1M=INT(T1/(Cn/7)+0.5) T2M=INT(T2/(Cn/7)+0.5) これらT1、T2のモジュール数により復調テーブルを
アクセスし、キャラクタ復調が行われる。図10(B)
の場合は、T1のモジュール数T1Mが4、T2のモジ
ュール数T2Mは3であり、CPUはこれらのモジュー
ル数により復調テーブルをアクセスし、キャラクタ復調
を行う。
【0060】キャラクタが1、7、2、8の場合、後
述する以下の処理が行われる。しかしこれ以外のキャ
ラクタ0、3、4、5、6、9と判断されたときは次の
の処理が行われる。
【0061】ここでは、キャラクタ長C1、C2の比
CHRが求められ、このCHRが0.8〜1.2の範囲
にあるか否かチェックされる。範囲内なら基準黒バーモ
ジュール数(B1のモジュール数)をバーコードコード
表より求め、これをBRMレジスタに記入し、キャラク
タ復調を完了する。しかしCHRがこの範囲外のとき、
キャラクタ復調を中止する。
【0062】キャラクタが1、7、2、8の場合、キ
ャラクタ長C1、C2の比CHRが求められ、これが
0.9〜1.1か否か判別する。この範囲外のときキャ
ラクタ復調を中止する。
【0063】CHRがこの0.9〜1.1の範囲内に
あるとき、前記第一実施例の図1以下と同様にして、
黒バー幅の補正が行われ、これにもとづき前記キャラク
タのいずれか判断される。同様に基準黒バーモジュール
数が求められ、これがBRMレジスタに記入され、キャ
ラクタの復調が完了する。
【0064】なお、第5実施例において、図6のに示
す如く、基準黒バー幅の補正を行ってから、前記図5の
に示す処理を行うこともできる。また、前記各実施例
では、被復調のキャラクタとその直前のキャラクタのキ
ャラクタ比を求める例について説明したが、本発明は直
前のみに限定されるものではなく、例えばその1つ前の
もののように、前のキャラクタとの比を求めてもよい。
【0065】
【発明の効果】本発明によれば、例えばバーコードラベ
ルの湾曲貼付状態等による不均一なバー幅変動時におい
て、誤読取を行わないように正確に読取ることが可能に
なるので、その読取り精度を一層向上することができ
る。
【図面の簡単な説明】
【図1】本発明の第一実施例を示す。
【図2】本発明の第二実施例を示す。
【図3】本発明の第三実施例を示す
【図4】本発明の第4実施例を示す。
【図5】本発明の第5実施例を示す。
【図6】本発明の第5実施例の他の実施態様を示す。
【図7】黒バーの細り太りによるδディスタンス説明図
である。
【図8】δディスタンスによるバーコード判別状態説明
図である。
【図9】復調テーブル説明図である。
【図10】従来のキャラクタ復調方法説明図である。
【符号の説明】
1 バーコード 2 光学系 3 AD変換部 4 バー幅カウンタ 5 クロック発振器 6 メモリ 7 CPU 8 BRMレジスタ

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】 バーコードを読取り復調するバーコード
    読取装置において、 連続するキャラクタ長を測定する測定手段と、 被復調キャラクタのキャラクタ長と、前のキャラクタ長
    の比を求める比算出手段と、 被復調キャラクタの前にあるキャラクタ内の少なくとも
    1つのバーを基準にして、被復調キャラクタを復調する
    手段を設け、 前記キャラクタ長の比にもとづき、前記基準のバーを補
    正して、この補正にもとづきモジュール数を求め、バー
    コードを復調するバーコード読取復調方法。
  2. 【請求項2】 前記被復調キャラクタのキャラクタ長
    と、前のキャラクタ長の比が所定範囲内の時にのみ復調
    を有効とする請求項1記載のバーコード読取復調方法
  3. 【請求項3】 被復調キャラクタの前にあるキャラクタ
    内の黒バーを基準にして、被復調キャラクタの全黒バー
    のモジュール数を求める手段と、 被復調キャラクタの前にあるキャラクタ内の白バーを基
    準にして被復調キャラクタの全白バーのモジュール数を
    求める手段を設け、 これらの全黒バーのモジュール数と全白バーのモジュー
    ル数を合計した値がバーコードのキャラクタのモジュー
    ル合計規定値と等しい時にのみ復調を有効とすることを
    特徴とするバーコード読取復調方法
  4. 【請求項4】 前記全黒バーのモジュール数及び全白バ
    ーのモジュール数を求めるとき、被復調キャラクタ長と
    前のキャラクタ長との比を求め、これにもとづき基準黒
    バーと基準白バーを補正するようにしたことを特徴とす
    る請求項3記載のバーコード読取復調方法。
  5. 【請求項5】 被復調キャラクタの前にあるキャラクタ
    内の第一の黒バーを基準にして、被復調キャラクタの黒
    バーのモジュール数を求める手段と、 被復調の前にあるキャラクタ内の第二の黒バーを基準に
    して、被復調キャラクタの黒バーのモジュール数を求め
    る手段を設け、 これらにもとづき求められた黒バーモジュール数が等し
    いときにのみ復調を有効とすることを特徴とするバーコ
    ード読取復調方法。
  6. 【請求項6】 前記第一の基準黒バーと、第二の基準黒
    バーを、被復調キャラクタのキャラクタ長と、前のキャ
    ラクタ長の比にもとづき補正するようにしたことを特徴
    とする請求項5記載のバーコード読取復調方法。
  7. 【請求項7】 連続するキャラクタ長を測定する手段
    と、 被復調キャラクタのキャラクタ長と、前のキャラクタ長
    の比を求める手段を設け、 被キャラクタ内のバーのみで復調ができるときは前記比
    が第一の所定範囲内のときのみ復調を有効とし、被キャ
    ラクタ内のバーのみで復調ができず、被復調キャラクタ
    の前にあるキャラクタ内の少なくとも1つのバーを基準
    にして、被復調キャラクタを復調するときは、この比が
    第二の所定範囲のときのみ復調を有効とすることを特徴
    とするバーコード読取復調方法。
  8. 【請求項8】 前記基準のバーを、前記キャラクタ長の
    比にもとづき補正するようにしたことを特徴とする請求
    項7記載のバーコード読取復調方法。
  9. 【請求項9】 前記第二の所定範囲を第一の所定範囲よ
    り狭くすることを特徴とする請求項7記載のバーコード
    読取復調方法。
JP4186813A 1992-07-14 1992-07-14 バーコード読取復調方法 Expired - Lifetime JP2740418B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP4186813A JP2740418B2 (ja) 1992-07-14 1992-07-14 バーコード読取復調方法
US08/091,022 US5451761A (en) 1992-07-14 1993-07-14 Bar code demodulating method
US08/488,371 US5525785A (en) 1992-07-14 1995-06-07 Bar code demodulating method dependent on respective range of length ratios of measured character lengths of a current demodulating character and a preceding demodulating character
US08/488,364 US5525784A (en) 1992-07-14 1995-06-07 Bar code demodulating method empolying reference black and white bars of a previously demodulated character for demodulating a current character

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4186813A JP2740418B2 (ja) 1992-07-14 1992-07-14 バーコード読取復調方法

Publications (2)

Publication Number Publication Date
JPH0636065A true JPH0636065A (ja) 1994-02-10
JP2740418B2 JP2740418B2 (ja) 1998-04-15

Family

ID=16195044

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4186813A Expired - Lifetime JP2740418B2 (ja) 1992-07-14 1992-07-14 バーコード読取復調方法

Country Status (2)

Country Link
US (3) US5451761A (ja)
JP (1) JP2740418B2 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6299064B2 (en) 1998-09-28 2001-10-09 Fujitsu Limited Apparatus and method for correcting bar width, bar code reader, and method for decoding bar code
US6357660B1 (en) 1998-12-17 2002-03-19 Fujitsu Limited Bar code reading apparatus and a method for the same
US7021546B2 (en) * 2003-02-21 2006-04-04 Fujitsu Limited Bar-code reader and method of reading bar-code
US7033180B2 (en) 2000-06-30 2006-04-25 Hideo Fujita Education set and work model, training method, work efficiency improving method, and tool employing the same
JP2009093214A (ja) * 2007-10-03 2009-04-30 Casio Comput Co Ltd バーコード読取装置及びプログラム
WO2012115046A1 (ja) * 2011-02-21 2012-08-30 株式会社オプトエレクトロニクス 光学情報読取装置、光学情報読取方法、コンピュータが読み取り可能なプログラム及び記録媒体

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3077616B2 (ja) * 1997-01-31 2000-08-14 富士通株式会社 バーコード読取方法
JP3005465B2 (ja) * 1996-02-07 2000-01-31 富士通株式会社 バーコード読取方法、及び、バーコード読取装置
EP0965097B1 (en) 1997-03-07 2003-11-26 Accu-Sort Systems, Inc. Symbology scanning system for efficiently locating coded symbologies
DE69703287T2 (de) 1997-08-01 2001-05-23 Datalogic S.P.A., Lippo Di Calderara Di Reno Verfahren zum Abtasten eines Strichkodes
JP3576356B2 (ja) * 1997-08-08 2004-10-13 富士通株式会社 バーコード読取装置,バーコード読取方法,及びコンピュータ可読媒体
JPH1153465A (ja) * 1997-08-08 1999-02-26 Fujitsu Ltd バーコード読取装置
JP4416980B2 (ja) * 1999-10-25 2010-02-17 富士通株式会社 バーコード読取装置およびバーコード読取方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4354101A (en) * 1977-04-15 1982-10-12 Msi Data Corporation Method and apparatus for reading and decoding a high density linear bar code
US4414468A (en) * 1981-05-18 1983-11-08 International Business Machines Corporation Systematic error correction in bar code scanner
JPS57204977A (en) * 1981-06-11 1982-12-15 Nippon Denso Co Ltd Method and device for bar code read
US4438327A (en) * 1982-04-21 1984-03-20 Burr-Brown Research Corporation Bar code reading system and method
US4528443A (en) * 1982-04-21 1985-07-09 Burr-Brown Corporation Bar code reading system and method
JPS61101880A (ja) * 1984-10-24 1986-05-20 Sato :Kk バ−コ−ド読取方法および装置
JPH0782519B2 (ja) * 1988-05-18 1995-09-06 アルプス電気株式会社 符号読取装置

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6299064B2 (en) 1998-09-28 2001-10-09 Fujitsu Limited Apparatus and method for correcting bar width, bar code reader, and method for decoding bar code
US6357660B1 (en) 1998-12-17 2002-03-19 Fujitsu Limited Bar code reading apparatus and a method for the same
US7033180B2 (en) 2000-06-30 2006-04-25 Hideo Fujita Education set and work model, training method, work efficiency improving method, and tool employing the same
US7195489B2 (en) 2000-06-30 2007-03-27 Hideo Fujita Education set and work model, training method, work efficiency improving method, and tool employing the same
US7021546B2 (en) * 2003-02-21 2006-04-04 Fujitsu Limited Bar-code reader and method of reading bar-code
JP2009093214A (ja) * 2007-10-03 2009-04-30 Casio Comput Co Ltd バーコード読取装置及びプログラム
WO2012115046A1 (ja) * 2011-02-21 2012-08-30 株式会社オプトエレクトロニクス 光学情報読取装置、光学情報読取方法、コンピュータが読み取り可能なプログラム及び記録媒体
JP2012173973A (ja) * 2011-02-21 2012-09-10 Optoelectronics Co Ltd 光学情報読取装置、光学情報読取方法、コンピュータが読み取り可能なプログラム及び記録媒体
US9361504B2 (en) 2011-02-21 2016-06-07 Optoelectronics Co., Ltd. Optical information reading device, optical information reading method, computer-readable program and recording medium

Also Published As

Publication number Publication date
US5525785A (en) 1996-06-11
US5451761A (en) 1995-09-19
US5525784A (en) 1996-06-11
JP2740418B2 (ja) 1998-04-15

Similar Documents

Publication Publication Date Title
JP2740418B2 (ja) バーコード読取復調方法
US4414468A (en) Systematic error correction in bar code scanner
EP0067414A2 (en) Method and apparatus for reading a bar code
EP0472255A2 (en) Identification mark reading apparatus
US4757206A (en) Bar code reading method and apparatus
JP2886545B2 (ja) マージン認識方法及びバーコード読取り装置
JP3324374B2 (ja) バーコード復調方法並びにバーコード読取装置
JP3548025B2 (ja) バーコード読取装置および方法
US5036183A (en) Code reading device
JP3550807B2 (ja) バーコード復号方式
US7124945B2 (en) Reading unit and marking card for optical mark reader
JPH0528626A (ja) カードリーダ
JP2718442B2 (ja) バーコード復調方法及び装置
AU2002324341A1 (en) Reading unit and marking card for optical mark reader
JPS583073A (ja) バ−コ−ド読取方式
JPS61180380A (ja) バ−コ−ド復調方式
JP2766768B2 (ja) バーコードデコーダのデコード方法
JP2953143B2 (ja) バーコード読取装置およびバーコード読取方法
JPS62211792A (ja) 紙幣識別装置
JPH0496881A (ja) バーコードデータの解析方法
JPH08315068A (ja) 帳票書式識別方法及び装置
JPH0222741Y2 (ja)
JP2742920B2 (ja) バーコード読取装置
JPH04165484A (ja) カードリーダ
JPH01156886A (ja) バーコード読取装置

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19980106

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

Free format text: PAYMENT UNTIL: 20080123

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20090123

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20100123

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20110123

Year of fee payment: 13

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

Free format text: PAYMENT UNTIL: 20110123

Year of fee payment: 13

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

Free format text: PAYMENT UNTIL: 20120123

Year of fee payment: 14

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

Free format text: PAYMENT UNTIL: 20130123

Year of fee payment: 15

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130123

Year of fee payment: 15