JP3811235B2 - Bar code reader - Google Patents
Bar code reader Download PDFInfo
- Publication number
- JP3811235B2 JP3811235B2 JP29261596A JP29261596A JP3811235B2 JP 3811235 B2 JP3811235 B2 JP 3811235B2 JP 29261596 A JP29261596 A JP 29261596A JP 29261596 A JP29261596 A JP 29261596A JP 3811235 B2 JP3811235 B2 JP 3811235B2
- Authority
- JP
- Japan
- Prior art keywords
- barcode
- focal length
- bar code
- margins
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Description
【0001】
【発明の属する技術分野】
本発明は、自動焦点距離切換装置を有するバーコード読み取り装置に関するものである。
【0002】
【従来の技術】
近年、光学的情報(主としてバーコード)を読み取る装置として固体撮像素子(例えば、CCD、CMD等)を使用するものが多く用いられるようになってきた。CCD式の装置はレーザ式と異なり、近年発表されている2次元バーコードが読み取れる、バーコードの方向によらずデコードできる等の利点を持っている。
【0003】
また、装置(光学系)の構成が市販の小型カメラに類似しているところから、アクチュエータ等を用いてレンズを微小に移動させることにより、レンズの焦点距離を変化させて像倍率を変えることも可能である。この手法を用いればCCDの撮像範囲においてバーコードシンボルが大きすぎてはみ出していたり(図16参照)、逆に小さすぎて読み取れなかったり(図17参照)する場合にバーコードと読み取り装置の距離を変えずに像倍率を変えて、対象画像(フレームメモリ)に対して適当な大きさでバーコードシンボルを撮像し解読することができる。
【0004】
従来、このような自動焦点距離切換装置を有するシンボル情報読取装置としては、例えば米国特許第5,331,176号明細書に開示されているような読取装置が知られている。この装置においては、ソフトウエア処理によって照明で作った枠の中に正方形の2次元シンボルを内包するようにレンズ位置を調整しシンボルを復号している。
【0005】
【発明が解決しようとする課題】
しかしながら、2次元の画像(フレームメモリ)に対してソフトウエア演算処理を短時間で行うためには、高速で高価な処理装置(CPU、DSP等)が必要になり、装置自体の価格が高くなってしまうという課題があった。
【0006】
そこで本発明の目的は、このような従来の課題を解決し、安価でさらに短時間で処理可能な自動焦点距離切換装置を有するバーコード読み取り装置を提供することにある。
【0007】
【課題を解決するための手段】
前記課題を解決するため、本発明のバーコード読取装置は、光学系を通して固体撮像手段に撮像されたバーコードを記憶するメモリアレイと、装置本体との焦点距離を自動的に切り換える自動焦点切換手段とを有するバーコード読み取り装置において、前記自動焦点距離切換手段は、前記メモリアレイに任意の1直線の情報として記憶されているバーコードの輝度情報からバーコードシンボルを認識するとともに、このバーコードシンボルの大きさに応じて焦点距離切換比を決定し、焦点距離切り換えを行うもので、特に、前記バーコードの輝度情報から、マージンを少なくとも2つ検出し、2つのマージンのうちの1つの幅の順番が偶数(又は奇数)であったときにもう1つの幅の順番が偶数(又は奇数)であるかどうかを判断してバーコードシンボルを認識するとともに、このバーコードシンボルの大きさに応じて焦点距離切換比を決定し、焦点距離切り換えを行うことに特徴がある。
また、別の発明としては、前記自動焦点距離切換手段は、前記メモリアレイに任意の1直線の情報として記憶されているバーコードの輝度情報から、マージンを少なくとも2つ検出し、2つのマージンの間の幅の数が最大であるような2つのマージンを真のマージンとみなし、その間の幅情報をバーコードシンボルとみなすとともに、このバーコードシンボルの大きさに応じて焦点距離切換比を決定し、焦点距離切り換えを行うことに特徴がある。
さらに別の発明としては、光学系を通して固体撮像手段に撮像されたバーコードを記憶するメモリアレイと、装置本体との焦点距離を自動的に切り換える自動焦点切換手段とを有するバーコード読み取り装置において、前記自動焦点距離切換手段は、前記メモリアレイに任意の1直線の情報として記憶されているバーコードの輝度情報からバーコードシンボルを認識するとともに、このバーコードシンボルより得られた幅情報の中で最小の幅値に応じて、焦点距離切換比を決定し、焦点距離切り換えを行うことに特徴がある。
さらに異なる発明としては、光学系を通して固体撮像手段に撮像されたバーコードを記憶するメモリアレイと、装置本体との焦点距離を自動的に切り換える自動焦点切換手段とを有するバーコード読み取り装置において、前記自動焦点距離切換手段は、前記メモリアレイに任意の1直線の情報として記憶されているバーコードの輝度情報からバーコードシンボルを認識するとともに、このバーコードシンボルの大きさに応じて焦点距離切換比を決定し、焦点距離切り換えを行うものであり、前記光学系のレンズのデフォルト位置が切り替え可能な段階数の中間段階であることに特徴がある。
【0008】
【発明の実施の形態】
以下、本発明の実施の形態を、図面により詳細に説明する。
図1は本発明の実施の形態を示すバーコード読み取り装置の構成図であり、図2は図1のバーコード読み取り装置の概略フローチャートである。
【0009】
本バーコード読み取り装置は、光学系3、CCD4、赤外線発光装置(以下、IRという)5、フォトセンサダイオード(以下、PSDという)6、メモリアレイとしてのフレームメモリ7、CPU8、コントローラ12およびレンズアクチュエータ13とからなる。CPU8はオートフォーカス部9、オートズーム部10およびデコード部11から構成されている。
【0010】
まず、初期設定を行い(ステップS1)、IR5から赤外線を発光してその反射光をPSD6で検知し、CPU8内のオートフォーカス部9で演算してバーコード読み取り装置とバーコードラベル2までの距離を測定し(ステップS2)、その結果に応じてコントローラ12、レンズアクチュエータ13に制御信号を出し光学系3の焦点位置を調整する。この一連の処理でフレームメモリ7には焦点が合ったバーコード画像が撮像されることになる(ステップS3)。
【0011】
次に、荷物1に印刷もしくは貼付されたバーコードラベル2は、光学系3によって、CCD4に結像される。光電変換されたラベル情報は、映像信号としてフレームメモリ7に取り込まれる。フレームメモリ7上の画像の情報をオートズーム部10に送ると、画像に応じた処理がなされ、その結果に応じて再びコントローラ12、レンズアクチュエータ13に制御信号を出し光学系3の焦点距離を調整する。この一連の処理でフレームメモリ7にはバーコードラベル2が最適なサイズで撮像されることになる(ステップS4)。
【0012】
そして、デコード部11では、最適なサイズで撮像されたバーコードラベル2を所定のバーコード解読アルゴリズムに基づいた解読を行って、図示しないホスト装置などに出力する(ステップS5)。
【0013】
なお、本明細書中に於いては、フローチャートは、プログラミング言語Cの記述方式に従って書かれている。
続いて、図2におけるステップS4のオートズームを図3、図4のフローチャートを参照しながら説明する。
【0014】
まず、変数iを1に初期化する(ステップS41)。
次にフレームメモリ7を仮想スキャンする任意の直線を決定する(ステップS42)。ここで仮想スキャンとは、その直線上にある画素の輝度情報をフレームメモリ7から順次読み出し所定の配列に格納する動作をいう。ステップS42において、直線の指定方法は直線の両端点の座標でもよいし、直線の傾きと切片でもよい。いずれにしろN本の直線を前もって用意しておく(例えば配列に予めN組の座標を入れておく)。もちろん直線は図5のようなフレームメモリ7の1辺に平行なものでもよいし、図6のようなフレームメモリ7を斜めに横切るようなものでも構わない。
【0015】
次に指定した直線上にある画素の輝度情報をフレームメモリ7から順次読み出し所定の配列に格納する(ステップS43)。
次に配列に格納した1ライン分の輝度情報から最大値及び最小値を求める(ステップS44)。これは次のステップで輝度情報を幅情報に変換する際に、2値化のしきい値を決めるためである。
【0016】
そして、ステップS44で求めた最大値及び最小値を用いて輝度情報を幅情報に変換する(ステップS45)。しきい値は最大値と最小値の平均値でもよいし、その他の方法で求めてもよい。
【0017】
次に、ステップS45で求めた幅の数が所定のしきい値よりも多いかどうかの判定を行う(ステップS46)。この判定は、指定した直線上にバーコードがない場合にそれ以上の処理を行うことを禁止するためのものである。この判定が真であればステップS47に行き、偽であればステップS4Gに行く。
【0018】
次に、マージンチェックを行う(ステップS47)。これはステップS45で求めた幅情報の中から予め定められたマージン幅よりも大きいものをピックアップするものである。ピックアップする際に幅のポインタ(画像中の位置)と幅の番号(何番目の幅)を記憶しておく。
【0019】
次に、ステップS47でピックアップしたマージンの数が2以上かどうかの判定を行う(ステップS48)。ここでマージンの数が2以上であれば、バーコードラベル2が完全にフレームメモリ7中に入っていることになるし、マージンの数が1以下であれば、バーコードラベル2はフレームメモリ7からはみ出して撮像されていることになる。したがって、マージンの設定値は非常に重要であるが、これについては後述する。ステップS48の判定が真であればステップS49に行き、偽であればステップS4Aに行く。
【0020】
次に、バーコードチェックを行う(ステップS49)。これは前述のステップS47でマージンの数が2以上あり、バーコードラベルが完全に画像中に入っていると判定された場合に、マージンとマージンの間に存在するものがバーコード情報であるかどうかの簡単なチェックを行うものである。このチェック方法については後述する。
【0021】
次に、ステップS48において、バーコードラベル2がフレームメモリ7から読み出して撮像されていると判定された場合は、求めた幅情報の中で最も最小な幅の値を求める(ステップS4A)。これは次のステップでズームダウンするためのズーム比を決定する際に必要な情報である。
【0022】
そして、ステップS4Aで求めた最小幅値の情報からズーム比(ただしズームダウンの比率)を決定する(ステップS4B)。
ステップS48の判定が真だった場合に、ステップS49のバーコードチェックの結果を判定する(ステップS4C)。チェックの結果が真であればステップS4Dに行き、偽であればステップS4Gに行く。
【0023】
次にズーム比(ただしズームアップの比率)を決定する(ステップS4D)。この決定手法に関しては、詳細は後述する。
次に、ステップS4BやS4Dで決定されたズーム比を配列zoom〔i〕に格納する(ステップS4E)。これは複数の直線処理をして、各々決定されたズーム比の中で最適なものを選ぶためである。
【0024】
次に、変数iが定数Nと等しいかどうかの判定を行う(ステップS4F)。これは予め設定したN本の直線処理が全て終了したかどうかの判定である。この判定が真であればステップS4Hに行き、偽であればステップS4Gに行く。
【0025】
ステップS4Gは変数iをインクリメントする処理である。その後ステップS42に行く。
次に、正しいズーム比を決定する(ステップS4H)。これは上述したように、複数の直線処理の中で、各々決定されたズーム比の中で最適なものを選ぶ処理である。様々な選択方法が考えられるが、通常はN個のズームアップ比の中で像倍率の増加が最も小さいものを選ぶ。
【0026】
最後に光学系3のレンズの焦点距離を切り換えて(ステップS4I)、リターンし制御を上位ルーチンに戻す。
続いて、ステップS49でコールされるバーコードチェックのルーチンを図7のフローチャートを参照しながら説明する。
【0027】
まず、ステップS47で検出したマージンの数が2より大きいかどうかの判定を行う(ステップS491)。
この判定が真であれば3個以上のマージンの中から真のマージンであると思われるものを2個選ぶ(ステップS492)。図8を参照しながらこの方法について説明する。図8ではマージンが3個認識されている。左の2個が正しいマージンである。ステップS47でマージンを検出したときに、幅の番号も同時に記憶したわけであるから、それぞれのマージンは幅番号を待っている。ここで、図9を参照すると、上の認識ライン16においては0から10までの幅番号がついていて、11個の幅情報がある。下の認識ラインでは0から11までの幅番号がついていて、12個の幅情報がある。そこで図8に戻り、幅番号の差が一番大きい2つのマージンを真のマージンとみなす。図8の場合、明らかに左の2個がマージンと認識されテキスト情報14のようなノイズ(バーコードと関係ない情報)は除去される。
【0028】
次に、ステップS491の判定が偽であった場合(マージンが2個の場合)はマージンの間の幅数をカウントする(ステップS493)。これは上述したように2つのマージンの幅番号の差をとる処理である。
【0029】
次に、マージン間の幅数が規定値以上かどうかの判定を行う(ステップS494)。ここで規定値は読みたいバーコードの種類により設定すればよい。例えば2桁のITFは17エレメントで構成されるので、規定値を17とする。この判定が真であった場合はステップS495に行き、偽であった場合はFALSE(偽)をリターンし上位ルーチンに制御を戻す。
【0030】
次の一連の処理は図9を参照して説明する。まず、左マージンの幅番号が偶数であるかどうかの判定を行う(ステップS495)。この判定が真ならば右マージンの幅番号が偶数であるかどうかの判定を行う(ステップS496)。この判定が真ならばTRUE(真)をリターンし上位ルーチンに制御を戻す。偽であればFALSE(偽)をリターンし上位ルーチンに制御を戻す。ステップS495の判定が偽であった場合、右マージンの幅番号が奇数であるかどうかの判定を行う(ステップS497)。この判定が真ならばTRUE(真)をリターンし上位ルーチンに制御を戻す。偽であればFALSE(偽)をリターンし上位ルーチンに制御を戻す。以上の処理の意味を説明する。バーコードは必ずバーで始まりバーで終わるため左マージンの幅番号が偶数であれば右マージンの幅番号も偶数になる。左マージンの幅番号が奇数であれば右マージンの幅番号も奇数になる。図9を参照すると上のラインではマージンの幅番号は0と10である。下のラインでは1と11である。この様にしてステップS495、496、497で、マージン間の幅情報がバーコードらしいかどうかの判定を行うことができる。
【0031】
続いて、ステップS4Dでコールされるズーム比(UP)決定のルーチンを図10のフローチャートを参照しながら説明する。
まず、フレームメモリ7中でバーコードラベル2が左右どちらに寄っているかを判定する(ステップS4D1)。これは図11、図12を参照してもらうとわかるが、バーコードラベル2が左右どちらかに偏っていると、単純にバーコード長だけからズーム比を計算した場合、フレームメモリ7からはみ出してしまうことがあるので、この判定を必要とする。具体的には左右のマージンポインタからバーコードの中心点を計算し、その点がフレームメモリ7の中心から見て左右どちらにあるのかを判定すればよい。
【0032】
次に、バーコードラベル2がフレームメモリ7の右側に偏っているかどうかを判定する(ステップS4D2)。この判定が真ならばステップS4D3に行き、偽ならばステップS4D4に行く。
【0033】
ステップS4D3、S4D4ではズームによりバーコードラベル2の端点がフレームメモリ7の座標をどれだけ移動するかを計算するためにバーコード端点とフレームメモリ中心の距離を計算する。これはフレームメモリの中心が光学系3のレンズの光軸の中心と一致するよう調整してあるので、バーコードラベル2の端点の座標の移動量は画像中心からの距離に比例するからである。
【0034】
ステップS4D5、S4D6ではバーコードラベル2のどちらかの端点がフレームメモリ7の座標をどれだけ移動できるかを計算する。まず、バーコードラベル2がフレームメモリ7の右側に偏っていた場合の座標移動可能量21は(右端座標18−必要マージン量19−バーコード右端座標20)から計算できる。ここで図11を参照し、右端座標18とはフレームメモリ7の右端の座標のことであり、必要マージン量19とはバーコードをデコードするのに必要なマージンの量のことで、適当な値を設定しておく。反対に図12を参照し、バーコードラベル2がフレームメモリ7の左側に偏っていた場合の座標移動可能量21は(バーコード左端座標22−必要マージン量19)から計算できる。ただし、ここでフレームメモリ7は左端座標=0で座標の右方向に数値が増加することを前提としている。
【0035】
次に、可能なズーム倍率の計算を行う(ステップS4D7)。これは上述のステップS4D3、S4D4で求めた画像中心からの距離と上述のステップS4D5、S4D6で求めた移動可能量から求めるものである。具体的には座標移動量−画像中心からの距離×ズーム倍率(ソフトウエアではこの値は既知である)で求め、座標移動可能量と座標移動量を比較し、座標移動可能量に最も近くなるズーム倍率(ただし下回る値)を選択すればよい。
【0036】
そして計算したズーム比をリターンし、上位ルーチンに制御を戻す。
以上の記述において注意すべき点は、N本の直線でバーコードを認識して、ズーム比を決定する場合にスキャンして得られる画素数が異なるということである。すなわち、図5の場合はフレームメモリの横軸の長さだけ画素数を得るが、図6の場合は斜めにスキャンするので当然図5の場合よりも画素数は多くなる。そうやってN個のズーム比を別々に求め、像倍率の増加が最も小さいものを選択すればよい。
【0037】
続いて、ステップS4Bでコールされるズーム比(DOWN)決定のルーチンを図13のフローチャートを参照しながら説明する。
まずズーム倍率の計算を行う(ステップS4B1)。これは前述のステップS4Aで求めた最小幅の値を、バーコードをデコードするのに最低限必要な1エレメント当たりの画素数(例えば2画素)で割って計算する。
【0038】
次に、計算した倍率から適正なズーム倍率を計算する(ステップS4B2)。これは存在するズーム倍率の中で、計算倍率に一番近いものを選択するということである。
【0039】
前述のステップS47でマージンチェックについて説明したが、マージンの設定は非常に難しい。なぜなら、バーコードラベル2とバーコード読み取り装置との距離が大きく変化するような場合には、特定の距離で設定したマージンの値が有効に働かなくなるからである。すなわち、バーコードラベル2とバーコード読み取り装置との距離が近すぎて、ラベルがフレームメモリ7からはみ出しているような場合には(図16参照)、マージンの値が小さすぎると、バーコード1本1本のエレメントをマージンと間違えてしまう危険性がある。逆にマージンの値が大きすぎると、バーコードのデコード可能な領域が狭められてしまう。これを解決する方法として、図1の構成においてオートフォーカス部9の測距情報をオートズーム部10に与えてマージンを距離の関数にするものが考えられる。例えば図14のように距離とマージンの値を逆比例させる方法がある。しかし、両者を完全に逆比例させると、バーコードラベル2とバーコード読み取り装置との距離が10倍も変化するような場合には、マージンも10倍変化することになり、近距離ではマージンがそれだけ大きくなって読み取り範囲が狭くなってしまう。従って通常は図15のように、ある距離範囲内だけでマージンを変化させる方がよい。
【0040】
また、本方法はバーコードを実際にデコードせずにバーコードサイズを認識してズーム比を決めるので、非常に短時間で処理が完了するわけであるが、さらに時間を縮めたい場合には、ステップS43で1ラインの輝度情報を取り込んで配列に格納する際に、全ての輝度情報を格納せずに、1個おきに、すなわち、間引いて格納する方法がある。この場合に気を付けなければならないことはマージンの値、フレームメモリ7の横幅の値等を半分にしなければならないことである(2個間引いたら3分の1である)。
【0041】
また、ズームがN段階ある場合にデフォルト位置(電源を入れるとそこにレンズが移動する位置)をどこに置くかという問題があるが、通常はN段階の中間に置けばズームアップ・ダウンによるレンズの移動を速やかに行うことができる。しかし、アプリケーションによってはデフォルトを最広角側(最もズームダウンした状態)に置いておき、ズームアップのみするという方法も考えられる。この場合にはステップS4A、S4Bが不必要になり、処理が簡単化するというメリットがある。
【0042】
上述した実施の形態においては、1次元バーコードの例について説明したが、それに限定されることなく、例えば、PDF417、コード49、Maxi code、QRコード、Data Matrix code等の2次元バーコードにも同様に適用できる。
【0043】
【発明の効果】
以上説明したように、本発明によれば、メモリアレイとしてのフレームメモリの任意の1直線においてバーコードを検知し、そのサイズに応じて光学系のレンズ位置を移動する自動焦点切換装置を持っているので、バーコードラベルとバーコード読み取り装置の距離が変化しても、もしくは様々なサイズのバーコードを読み取らなければならない場合でも、高速にしかも確実にバーコードを読み取ることができる。つまり、読み取り可能範囲が広くなり使い勝手が向上する。また、従来の2次元画像処理のような複雑な処理を行わないので、安価な処理装置(プロセッサ)を用いて高速に処理できるため、安価な読み取り装置が実現できる。
【図面の簡単な説明】
【図1】本発明の実施の形態を示すバーコード読み取り装置の構成図である。
【図2】図1のバーコード読み取り装置の概略的な動作を説明するためのフローチャートである。
【図3】図2のオートズームを説明するためのフローチャートである。
【図4】図2のオートズームを説明するためのフローチャートである。
【図5】フレームメモリ中のバーコードを複数のラインにより認識する様子を説明した図である。
【図6】図5のバリエーションとして複数ラインの設定例を説明した図である。
【図7】図3中のバーコードチェックを説明するためのフローチャートである。
【図8】フレームメモリ中にバーコードラベルとテキスト情報が混在している様子を説明した図である。
【図9】バーコードチェックの方法を説明した図である。
【図10】図3中のズーム比(UP)決定を説明するためのフローチャートである。
【図11】バーコードが右に偏っている図である。
【図12】バーコードが左に偏っている図である。
【図13】図3中のズーム比(DOWN)決定を説明するためのフローチャートである。
【図14】測距情報によりマージンの値が変化する様子を説明した図である。
【図15】図7のバリエーションとしてマージンと距離情報の関係例を説明した図である。
【図16】バーコードラベルがフレームメモリをはみ出している様子を説明した図である。
【図17】バーコードラベルがフレームメモリに対して小さすぎる様子を説明した図である。
【符号の説明】
1 荷物
2 バーコードラベル
3 光学系
4 CCD
5 赤外線発光装置
6 フォトセンサダイオード
7 フレームメモリ
8 CPU
9 オートフォーカス部
10 オートズーム部
11 デーコード部
12 コントローラ
13 レンズアクチュエータ[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a barcode reader having an automatic focal length switching device.
[0002]
[Prior art]
In recent years, a device that uses a solid-state imaging device (for example, a CCD, a CMD, etc.) as an apparatus for reading optical information (mainly a barcode) has been widely used. Unlike laser-type devices, CCD-type devices have advantages such as the ability to read recently announced two-dimensional barcodes and the ability to decode regardless of the barcode direction.
[0003]
In addition, since the configuration of the device (optical system) is similar to a commercially available small camera, it is possible to change the image magnification by changing the focal length of the lens by moving the lens minutely using an actuator or the like. Is possible. If this method is used, the barcode symbol is too large in the imaging range of the CCD (see FIG. 16), or conversely it is too small to be read (see FIG. 17). By changing the image magnification without changing, it is possible to capture and decode the barcode symbol with an appropriate size with respect to the target image (frame memory).
[0004]
Conventionally, as a symbol information reader having such an automatic focal length switching device, for example, a reader as disclosed in US Pat. No. 5,331,176 is known. In this apparatus, the lens position is adjusted so that a square two-dimensional symbol is included in a frame created by illumination by software processing, and the symbol is decoded.
[0005]
[Problems to be solved by the invention]
However, in order to perform software arithmetic processing on a two-dimensional image (frame memory) in a short time, a high-speed and expensive processing device (CPU, DSP, etc.) is required, and the price of the device itself increases. There was a problem that it would end up.
[0006]
SUMMARY OF THE INVENTION Accordingly, an object of the present invention is to solve such a conventional problem and to provide a bar code reader having an automatic focal length switching device that is inexpensive and can be processed in a short time.
[0007]
[Means for Solving the Problems]
In order to solve the above-described problems, the barcode reading apparatus according to the present invention includes an automatic focus switching unit that automatically switches a focal length between a memory array that stores a barcode imaged on a solid-state imaging unit through an optical system and the apparatus body. The automatic focal length switching means recognizes a barcode symbol from the luminance information of the barcode stored as arbitrary one-line information in the memory array, and the barcode symbol The focal length switching ratio is determined according to the size of the signal and the focal length is switched. In particular, at least two margins are detected from the luminance information of the barcode, and the width of one of the two margins is detected. When the order is even (or odd), it is determined whether the order of the other width is even (or odd). Recognizes the symbols, to determine the focal length switching 換比 according to the size of the bar code symbol is characterized by performing the focal length switching.
As another invention, the automatic focal length switching means detects at least two margins from the luminance information of the bar code stored as arbitrary straight line information in the memory array, and detects two margins. Two margins with the maximum number of widths between them are regarded as true margins, width information between them is regarded as a barcode symbol, and the focal length switching ratio is determined according to the size of the barcode symbol. The feature is that the focal length is switched.
As another invention, in a barcode reader having a memory array for storing a barcode imaged on a solid-state imaging means through an optical system, and an automatic focus switching means for automatically switching a focal length between the apparatus main body, The automatic focal length switching means recognizes a barcode symbol from the luminance information of the barcode stored as information on an arbitrary straight line in the memory array, and among the width information obtained from the barcode symbol. The focal length switching ratio is determined according to the minimum width value, and the focal length switching is performed.
Furthermore, as a different invention, in the barcode reader having a memory array for storing the barcode imaged on the solid-state imaging means through the optical system, and an automatic focus switching means for automatically switching the focal length with the apparatus main body, The automatic focal length switching means recognizes the barcode symbol from the luminance information of the barcode stored as information on an arbitrary straight line in the memory array, and the focal length switching ratio according to the size of the barcode symbol. And the focal length is switched, and the default position of the lens of the optical system is an intermediate stage of the number of stages that can be switched.
[0008]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
FIG. 1 is a configuration diagram of a barcode reading apparatus showing an embodiment of the present invention, and FIG. 2 is a schematic flowchart of the barcode reading apparatus of FIG.
[0009]
The barcode reading apparatus includes an
[0010]
First, initialization is performed (step S1), infrared light is emitted from IR5, the reflected light is detected by PSD6, calculated by
[0011]
Next, the
[0012]
Then, the decoding unit 11 decodes the
[0013]
In the present specification, the flowchart is written according to the description method of the programming language C.
Next, the auto zoom in step S4 in FIG. 2 will be described with reference to the flowcharts in FIGS.
[0014]
First, the variable i is initialized to 1 (step S41).
Next, an arbitrary straight line for virtually scanning the
[0015]
Next, the luminance information of the pixels on the designated straight line is sequentially read out from the
Next, the maximum value and the minimum value are obtained from the luminance information for one line stored in the array (step S44). This is to determine a threshold value for binarization when converting luminance information into width information in the next step.
[0016]
Then, the luminance information is converted into width information using the maximum value and the minimum value obtained in step S44 (step S45). The threshold value may be an average value of the maximum value and the minimum value, or may be obtained by other methods.
[0017]
Next, it is determined whether or not the number of widths obtained in step S45 is greater than a predetermined threshold value (step S46). This determination is for prohibiting further processing when there is no barcode on the specified straight line. If this determination is true, go to step S47, and if false, go to step S4G.
[0018]
Next, a margin check is performed (step S47). This is to pick up the width information obtained in step S45 that is larger than the predetermined margin width. When picking up, a width pointer (position in the image) and a width number (numbered width) are stored.
[0019]
Next, it is determined whether the number of margins picked up in step S47 is 2 or more (step S48). If the number of margins is 2 or more, the
[0020]
Next, a barcode check is performed (step S49). If the number of margins is 2 or more in step S47 described above and it is determined that the barcode label is completely included in the image, is the barcode information present between the margins? This is a simple check. This checking method will be described later.
[0021]
Next, when it is determined in step S48 that the
[0022]
Then, the zoom ratio (however, the zoom-down ratio) is determined from the minimum width value information obtained in step S4A (step S4B).
If the determination in step S48 is true, the result of the bar code check in step S49 is determined (step S4C). If the check result is true, go to step S4D, and if false, go to step S4G.
[0023]
Next, the zoom ratio (however, the zoom-up ratio) is determined (step S4D). Details of this determination method will be described later.
Next, the zoom ratio determined in step S4B or S4D is stored in the array zoom [i] (step S4E). This is because a plurality of straight line processes are performed and the optimum zoom ratio is selected from each determined zoom ratio.
[0024]
Next, it is determined whether the variable i is equal to the constant N (step S4F). This is a determination as to whether or not all the preset N straight line processes have been completed. If this determination is true, go to step S4H, and if false, go to step S4G.
[0025]
Step S4G is a process of incrementing the variable i. Thereafter, the process goes to step S42.
Next, the correct zoom ratio is determined (step S4H). As described above, this is a process of selecting the optimum zoom ratio from among the plurality of linear processes. Various selection methods are conceivable, but usually the one with the smallest increase in image magnification among the N zoom-up ratios is selected.
[0026]
Finally, the focal length of the lens of the
Next, the bar code check routine called in step S49 will be described with reference to the flowchart of FIG.
[0027]
First, it is determined whether or not the number of margins detected in step S47 is greater than 2 (step S491).
If this determination is true, two of the three or more margins that are considered to be the true margin are selected (step S492). This method will be described with reference to FIG. In FIG. 8, three margins are recognized. The left two are correct margins. When the margin is detected in step S47, the width number is also stored at the same time, so each margin is waiting for the width number. Here, referring to FIG. 9, the upper recognition line 16 has a width number from 0 to 10 and has 11 pieces of width information. In the lower recognition line, there are width numbers from 0 to 11, and there are 12 pieces of width information. Returning to FIG. 8, the two margins having the largest difference in width number are regarded as true margins. In the case of FIG. 8, the left two are clearly recognized as margins, and noise such as text information 14 (information not related to the barcode) is removed.
[0028]
Next, when the determination in step S491 is false (when there are two margins), the number of widths between the margins is counted (step S493). This is a process for obtaining the difference between the width numbers of the two margins as described above.
[0029]
Next, it is determined whether or not the number of widths between margins is equal to or greater than a specified value (step S494). Here, the specified value may be set according to the type of barcode to be read. For example, since the 2-digit ITF is composed of 17 elements, the specified value is 17. When this determination is true, the process goes to step S495, and when it is false, FALSE (false) is returned and the control is returned to the upper routine.
[0030]
The next series of processes will be described with reference to FIG. First, it is determined whether or not the width number of the left margin is an even number (step S495). If this determination is true, it is determined whether or not the width number of the right margin is an even number (step S496). If this determination is true, TRUE (true) is returned and control is returned to the upper routine. If false, return FALSE (false) and return control to the upper routine. If the determination in step S495 is false, it is determined whether the right margin width number is an odd number (step S497). If this determination is true, TRUE (true) is returned and control is returned to the upper routine. If false, return FALSE (false) and return control to the upper routine. The meaning of the above processing will be described. Since the bar code always starts and ends with a bar, if the left margin width number is even, the right margin width number is even. If the left margin width number is odd, the right margin width number is also odd. Referring to FIG. 9, the margin width numbers are 0 and 10 in the upper line. 1 and 11 in the lower line. In this way, in steps S495, 496, and 497, it can be determined whether or not the width information between margins seems to be a barcode.
[0031]
Next, the zoom ratio (UP) determination routine called in step S4D will be described with reference to the flowchart of FIG.
First, it is determined whether the
[0032]
Next, it is determined whether the
[0033]
In steps S4D3 and S4D4, the distance between the bar code end point and the frame memory center is calculated in order to calculate how much the end point of the
[0034]
In steps S4D5 and S4D6, how much the end point of the
[0035]
Next, the possible zoom magnification is calculated (step S4D7). This is obtained from the distance from the image center obtained in the above steps S4D3 and S4D4 and the movable amount obtained in the above steps S4D5 and S4D6. Specifically, the amount of coordinate movement minus the distance from the center of the image x zoom magnification (this value is already known in software), and the amount of coordinate movement is compared with the amount of coordinate movement. You can select a zoom factor (but a lower value).
[0036]
Then, the calculated zoom ratio is returned, and control is returned to the upper routine.
What should be noted in the above description is that the number of pixels obtained by scanning is different when the barcode is recognized by N straight lines and the zoom ratio is determined. That is, in the case of FIG. 5, the number of pixels is obtained by the length of the horizontal axis of the frame memory. However, in the case of FIG. 6, the number of pixels is naturally larger than in the case of FIG. In this way, N zoom ratios may be obtained separately, and the one with the smallest increase in image magnification may be selected.
[0037]
Next, the zoom ratio (DOWN) determination routine called in step S4B will be described with reference to the flowchart of FIG.
First, the zoom magnification is calculated (step S4B1). This is calculated by dividing the value of the minimum width obtained in step S4A described above by the minimum number of pixels per element (for example, 2 pixels) necessary to decode the barcode.
[0038]
Next, an appropriate zoom magnification is calculated from the calculated magnification (step S4B2). This means that among the existing zoom magnifications, the one closest to the calculation magnification is selected.
[0039]
Although the margin check has been described in the above-described step S47, it is very difficult to set the margin. This is because, when the distance between the
[0040]
In addition, this method recognizes the barcode size without actually decoding the barcode and determines the zoom ratio, so the process is completed in a very short time, but if you want to shorten the time further, When the luminance information of one line is captured and stored in the array in step S43, there is a method of storing every other information, that is, thinning out, without storing all the luminance information. In this case, care must be taken to halve the margin value, the width value of the
[0041]
In addition, when there are N stages of zooming, there is a problem of where to place the default position (the position where the lens moves when the power is turned on). Move quickly. However, depending on the application, a method may be considered in which the default is set on the widest angle side (the most zoomed-down state) and only the zoom-up is performed. In this case, steps S4A and S4B are unnecessary, and there is an advantage that the processing is simplified.
[0042]
In the above-described embodiment, an example of a one-dimensional barcode has been described. However, the present invention is not limited thereto. For example, two-dimensional barcodes such as PDF417,
[0043]
【The invention's effect】
As described above, according to the present invention, there is provided an automatic focus switching device that detects a bar code in an arbitrary straight line of a frame memory as a memory array and moves the lens position of the optical system in accordance with the size. Therefore, even when the distance between the bar code label and the bar code reader changes or when it is necessary to read bar codes of various sizes, the bar code can be read at high speed and reliably. That is, the readable range is widened and the usability is improved. Further, since complicated processing such as conventional two-dimensional image processing is not performed, processing can be performed at high speed using an inexpensive processing device (processor), so that an inexpensive reading device can be realized.
[Brief description of the drawings]
FIG. 1 is a configuration diagram of a barcode reading apparatus showing an embodiment of the present invention.
FIG. 2 is a flowchart for explaining a schematic operation of the barcode reading apparatus of FIG. 1;
FIG. 3 is a flowchart for explaining auto-zoom in FIG. 2;
4 is a flowchart for explaining auto-zoom in FIG. 2; FIG.
FIG. 5 is a diagram illustrating how a barcode in a frame memory is recognized by a plurality of lines.
6 is a diagram illustrating a setting example of a plurality of lines as a variation of FIG.
7 is a flowchart for explaining the barcode check in FIG. 3; FIG.
FIG. 8 is a diagram illustrating a state where barcode labels and text information are mixed in a frame memory.
FIG. 9 is a diagram for explaining a bar code check method;
FIG. 10 is a flowchart for explaining determination of a zoom ratio (UP) in FIG. 3;
FIG. 11 is a diagram in which the barcode is biased to the right.
FIG. 12 is a diagram in which the barcode is biased to the left.
13 is a flowchart for explaining determination of a zoom ratio (DOWN) in FIG. 3. FIG.
FIG. 14 is a diagram for explaining how a margin value changes according to distance measurement information;
FIG. 15 is a diagram illustrating an example of a relationship between margin and distance information as a variation of FIG.
FIG. 16 is a diagram illustrating a state in which a barcode label protrudes from a frame memory.
FIG. 17 is a diagram illustrating a state in which a barcode label is too small for a frame memory.
[Explanation of symbols]
1
5 Infrared
9
Claims (5)
前記自動焦点距離切換手段は、前記メモリアレイに任意の1直線の情報として記憶されているバーコードの輝度情報から、マージンを2つ検出し、2つのマージンのうちの1つの幅の順番が偶数であったときにもう1つの幅の順番が偶数であるかどうかを判断してバーコードシンボルを認識するとともに、このバーコードシンボルの大きさに応じて焦点距離切換比を決定し、焦点距離切り換えを行うように構成したことを特徴とするバーコード読み取り装置。In a barcode reader having a memory array for storing a barcode imaged on a solid-state imaging means through an optical system, and an automatic focus switching means for automatically switching a focal length with the apparatus main body,
The automatic focal length switching means detects two margins from the luminance information of the bar code stored as arbitrary straight line information in the memory array, and the order of the widths of one of the two margins is an even number. with the order of another width to determine whether an even number to recognize a bar code symbol when was to determine the focal length switching換比according to the atmospheric come of the bar code symbol, the focal length bar code reading apparatus characterized by being configured to switch the line Migihitsuji.
前記自動焦点距離切換手段は、前記メモリアレイに任意の1直線の情報として記憶されているバーコードの輝度情報から、マージンを2つ検出し、2つのマージンのうちの1つの幅の順番が奇数であったときにもう1つの幅の順番が奇数であるかどうかを判断してバーコードシンボルを認識するとともに、このバーコードシンボルの大きさに応じて焦点距離切換比を決定し、焦点距離切り換えを行うように構成したことを特徴とするバーコード読み取り装置。 In a barcode reader having a memory array for storing a barcode imaged on a solid-state imaging means through an optical system, and an automatic focus switching means for automatically switching a focal length with the apparatus main body,
The automatic focal length switching means detects two margins from the luminance information of the bar code stored as arbitrary straight line information in the memory array, and the order of the width of one of the two margins is odd. When it is, the barcode symbol is recognized by judging whether the order of the other width is an odd number, and the focal length switching ratio is determined according to the size of the barcode symbol, and the focal length is switched. A barcode reader configured to perform the above .
前記自動焦点距離切換手段は、前記メモリアレイに任意の1直線の情報として記憶されているバーコードの輝度情報から、マージンを少なくとも2つ検出し、2つのマージンの間の幅の数が最大であるような2つのマージンを真のマージンとみなし、その間の幅情報をバーコードシンボルとみなすとともに、このバーコードシンボルの大きさに応じて焦点距離切換比を決定し、焦点距離切り換えを行うように構成したことを特徴とするバーコード読み取り装置。 In a barcode reader having a memory array for storing a barcode imaged on a solid-state imaging means through an optical system, and an automatic focus switching means for automatically switching a focal length with the apparatus main body,
The automatic focal length switching means detects at least two margins from the luminance information of the barcode stored as information on an arbitrary straight line in the memory array, and the number of widths between the two margins is maximum. Two margins are regarded as true margins, and the width information between them is regarded as a barcode symbol, and the focal length switching ratio is determined according to the size of the barcode symbol, and the focal length is switched. bar code reading apparatus characterized by constituting the.
前記自動焦点距離切換手段は、前記メモリアレイに任意の1直線の情報として記憶されているバーコードの輝度情報からバーコードシンボルを認識するとともに、このバーコードシンボルより得られた幅情報の中で最小の幅値に応じて、焦点距離切換比を決定し、焦点距離切り換えを行うように構成したことを特徴とするバーコード読み取り装置。 In a barcode reader having a memory array for storing a barcode imaged on a solid-state imaging means through an optical system, and an automatic focus switching means for automatically switching a focal length with the apparatus main body,
The automatic focal length switching means recognizes a barcode symbol from the luminance information of the barcode stored as information on an arbitrary straight line in the memory array, and among the width information obtained from the barcode symbol. A bar code reader characterized in that a focal length switching ratio is determined in accordance with a minimum width value and the focal length is switched .
前記自動焦点距離切換手段は、前記メモリアレイに任意の1直線の情報として記憶されているバーコードの輝度情報からバーコードシンボルを認識するとともに、このバーコードシンボルの大きさに応じて焦点距離切換比を決定し、焦点距離切り換えを行うものであり、前記光学系のレンズのデフォルト位置が切り替え可能な段階数の中間段階であることを特徴とするバーコード読み取り装置。 In a barcode reader having a memory array for storing a barcode imaged on a solid-state imaging means through an optical system, and an automatic focus switching means for automatically switching a focal length with the apparatus main body,
The automatic focal length switching means recognizes a barcode symbol from the luminance information of the barcode stored as arbitrary straight line information in the memory array, and switches the focal length according to the size of the barcode symbol. A bar code reading apparatus for determining a ratio and switching a focal length, wherein a default position of a lens of the optical system is an intermediate stage of the number of stages that can be switched .
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP29261596A JP3811235B2 (en) | 1996-11-05 | 1996-11-05 | Bar code reader |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP29261596A JP3811235B2 (en) | 1996-11-05 | 1996-11-05 | Bar code reader |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH10134133A JPH10134133A (en) | 1998-05-22 |
JP3811235B2 true JP3811235B2 (en) | 2006-08-16 |
Family
ID=17784099
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP29261596A Expired - Fee Related JP3811235B2 (en) | 1996-11-05 | 1996-11-05 | Bar code reader |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3811235B2 (en) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7874487B2 (en) | 2005-10-24 | 2011-01-25 | Cognex Technology And Investment Corporation | Integrated illumination assembly for symbology reader |
US7823789B2 (en) | 2004-12-21 | 2010-11-02 | Cognex Technology And Investment Corporation | Low profile illumination for direct part mark readers |
US9070031B2 (en) | 2003-10-24 | 2015-06-30 | Cognex Technology And Investment Llc | Integrated illumination assembly for symbology reader |
US9536124B1 (en) | 2003-10-24 | 2017-01-03 | Cognex Corporation | Integrated illumination assembly for symbology reader |
US7823783B2 (en) | 2003-10-24 | 2010-11-02 | Cognex Technology And Investment Corporation | Light pipe illumination system and method |
US7604174B2 (en) | 2003-10-24 | 2009-10-20 | Cognex Technology And Investment Corporation | Method and apparatus for providing omnidirectional lighting in a scanning device |
US9292724B1 (en) | 2004-12-16 | 2016-03-22 | Cognex Corporation | Hand held symbology reader illumination diffuser with aimer optics |
US7617984B2 (en) | 2004-12-16 | 2009-11-17 | Cognex Technology And Investment Corporation | Hand held symbology reader illumination diffuser |
JP2008032641A (en) * | 2006-07-31 | 2008-02-14 | Nidec Copal Corp | Photometric level correction method and measuring object inspection system |
JP4636105B2 (en) * | 2008-03-25 | 2011-02-23 | 株式会社デンソーウェーブ | Bar code reading method, bar code reading apparatus, and computer program |
JP4793459B2 (en) | 2009-03-02 | 2011-10-12 | カシオ計算機株式会社 | Symbol reader and program |
JP2010286740A (en) * | 2009-06-12 | 2010-12-24 | Optoelectronics Co Ltd | Optical information reading apparatus |
JP2012162341A (en) * | 2011-02-04 | 2012-08-30 | Casio Computer Co Ltd | Code information reading device, article management system, and program |
US8947590B2 (en) | 2011-11-22 | 2015-02-03 | Cognex Corporation | Vision system camera with mount for multiple lens types |
US10498933B2 (en) | 2011-11-22 | 2019-12-03 | Cognex Corporation | Camera system with exchangeable illumination assembly |
US11366284B2 (en) | 2011-11-22 | 2022-06-21 | Cognex Corporation | Vision system camera with mount for multiple lens types and lens module for the same |
US9746636B2 (en) | 2012-10-19 | 2017-08-29 | Cognex Corporation | Carrier frame and circuit board for an electronic device |
JP2021028760A (en) | 2019-08-09 | 2021-02-25 | キヤノン株式会社 | Electronic apparatus and control method thereof |
-
1996
- 1996-11-05 JP JP29261596A patent/JP3811235B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH10134133A (en) | 1998-05-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3811235B2 (en) | Bar code reader | |
US6689998B1 (en) | Apparatus for optical distancing autofocus and imaging and method of using the same | |
US8083146B2 (en) | Optical code reading system and method for processing multiple resolution representations of an image | |
US8313031B2 (en) | Adaptive aperture for an imaging scanner | |
CA2288758C (en) | Optical scanner and image reader for reading images and decoding optical information including one and two dimensional symbologies at variable depth of field | |
EP1652129B1 (en) | Imaging arrangement and method for imaging an optical code or target at a plurality of focal planes | |
US7148923B2 (en) | Methods and apparatus for automatic exposure control | |
EP1223535B1 (en) | Bioptics bar code reader | |
US7246747B2 (en) | Multi-format bar code reader | |
US20040118918A1 (en) | Imaging optical code reader having selectable depths of field | |
US7014113B1 (en) | Versatile graphical code reader for reading different types of graphical codes | |
US5550363A (en) | Optical information reading apparatus | |
US10534944B1 (en) | Method and apparatus for decoding multiple symbology types | |
US20070267584A1 (en) | Optical code reader using an anamorphic Scheimpflug optical system | |
US9646188B1 (en) | Imaging module and reader for, and method of, expeditiously setting imaging parameters of an imager based on the imaging parameters previously set for a default imager | |
KR100275006B1 (en) | Barcode reader with automatic reading function | |
WO2010110385A1 (en) | Optical information reading device and optical information reading method | |
US7857219B2 (en) | Imaging reader target object finder system | |
JP2006518861A (en) | Compact automatic focusing piezoelectric actuator system | |
JP5637844B2 (en) | Liquid crystal lens optical body and optical information reader | |
CN108573183B (en) | Code reader with extended read range | |
US9104935B1 (en) | Mark reader configured to prioritize images | |
EP2310896A1 (en) | One dimensional barcode reader using two dimensional image sensor | |
EP2140398B1 (en) | Image enhancement in imaging system | |
EP1916557B1 (en) | Optical scanner and image reader for reading images and decoding optical information including one and two dimensional symbologies at variable depth of field |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060201 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060221 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060424 |
|
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: 20060523 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060526 |
|
LAPS | Cancellation because of no payment of annual fees |