JP2020154908A - 情報コード読取装置、情報コード読取システム、情報コード読取方法、及び情報コード読取プログラム - Google Patents
情報コード読取装置、情報コード読取システム、情報コード読取方法、及び情報コード読取プログラム Download PDFInfo
- Publication number
- JP2020154908A JP2020154908A JP2019054055A JP2019054055A JP2020154908A JP 2020154908 A JP2020154908 A JP 2020154908A JP 2019054055 A JP2019054055 A JP 2019054055A JP 2019054055 A JP2019054055 A JP 2019054055A JP 2020154908 A JP2020154908 A JP 2020154908A
- Authority
- JP
- Japan
- Prior art keywords
- reading
- range
- information code
- information
- 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.)
- Pending
Links
Images
Landscapes
- Character Discrimination (AREA)
Abstract
【課題】商品ごとに情報コードの位置が異なる場合でも当該情報コードを効率良く読み取ることが可能な技術を提供する。【解決手段】情報コード読取装置は、光学センサと、取得制御部と、解析処理部と、を備える。光学センサは、読取対象を撮像する。取得制御部は、読取対象ごとに、光学センサの撮像範囲内に当該撮像範囲より狭い範囲を読取範囲として指定するための範囲指定情報を取得する。解析処理部は、読取対象ごとに、撮像範囲全域が写った撮像データのうちの、取得制御部が取得した範囲指定情報で指定される読取範囲についての部分データに基づいて、読取対象から情報コードを読み取るための解析を行う。【選択図】図2
Description
本発明は、バーコードやQRコード(登録商標)などの情報コードを読み取る技術に関する。
情報コード読取装置には、バーコードなどの1次元コードを読み取る1次元コードリーダや、QRコード(登録商標)などの2次元コードを読み取る2次元コードリーダが存在する。これらのコードリーダは、1次元コードや2次元コードなどの情報コードを撮像する光学センサ(撮像素子など)を備え、当該光学センサから出力される電気信号(アナログ信号)を撮像データ(デジタル信号)に変換し、その撮像データを解析することにより、情報コードを読み取る(例えば、特許文献1参照)。
このような情報コード読取装置は、例えば、製造工場において商品の出荷チェックを行うラインなどで、当該ラインを流れてくる商品に付された情報コードの読取りに用いられる。そして、このような製造工場のラインなどでは、近年、情報コードの読取りが自動化されつつある。具体的には、情報コード読取装置は、撮像データを用いて光学センサの撮像範囲全域から情報コードを探索し、情報コードが見つかった場合に、その情報コードの読取りを実行する。
製造工場などでは、同じラインに、1種類の商品だけが流れる場合に限らず、様々な種類の商品が流れる場合がある。また、商品に付される情報コードの位置は、商品の種類ごとに異なることが多い。このため、製造工場のラインなどで情報コードの読取りを自動化する場合には、それぞれの商品に付されている情報コードを全て読み取ることができるように、光学センサの撮像範囲は、情報コードが付されている位置として想定できる全ての位置を包含できるように広く設定される。
しかし、このように広く設定された撮像範囲全域を対象として情報コードの探索を行っていたのでは、その探索のための処理に時間を要し、読取りの効率が低下してしまう。
例えば、光学センサの撮像範囲を、種類の異なる商品ごとに、その商品に付された情報コードが占めている範囲に絞ることが考えられるが、その撮像範囲には、別の種類の商品に付された情報コードが入らなくなる。このため、ラインでの作業者には、商品の種類が変わるごとに撮像範囲の設定を手動で変更するといった煩雑な作業が強いられる。
そこで本発明の目的は、商品ごとに情報コードの位置が異なる場合でも当該情報コードを効率良く読み取ることが可能な技術を提供することである。
本発明に係る情報コード読取装置は、光学センサと、取得制御部と、解析処理部と、を備える。光学センサは、読取対象を撮像する。取得制御部は、読取対象ごとに、光学センサの撮像範囲内に当該撮像範囲より狭い範囲を読取範囲として指定するための範囲指定情報を取得する。解析処理部は、読取対象ごとに、撮像範囲全域が写った撮像データのうちの、取得制御部が取得した範囲指定情報で指定される読取範囲についての部分データに基づいて、読取対象から情報コードを読み取るための解析を行う。
上記情報コード読取装置によれば、読取対象ごとの読取範囲として、撮像範囲より狭くても情報コードの全体像を包含できる範囲を、範囲指定情報を用いて指定できるため、情報コードの探索範囲を、撮像範囲全域から読取範囲に絞ることできる。従って、撮像範囲全域を対象として情報コードの探索を行う必要がなくなる。よって、情報コードを探索するための処理に必要な時間が短縮化され、その結果として、情報コードの読取りが高速化される。
上記情報コード読取装置において、解析処理部は、解析の結果として情報コードの読取りに失敗した場合、読取範囲を撮像範囲全域に変更して改めて解析を行ってもよい。この構成よれば、制御装置側での範囲指定情報の設定ミスや、情報コードの印刷位置のズレ、情報コードのシールの貼付位置のズレなどが原因で、情報コードが、範囲指定情報で指定された読取範囲からはみ出た場合でも、その情報コードを読み取ることが可能になる。
上記情報コード読取装置において、解析処理部は、読取範囲を撮像範囲全域に変更して解析を行った結果として、情報コードの読取りに成功した場合、読取範囲として、撮像範囲内における当該情報コード(読取りに成功した情報コード)の位置を基準にした範囲を設定してもよい。この構成よれば、制御装置側での範囲指定情報の設定ミスや、情報コードの印刷位置のズレ、情報コードのシールの貼付位置のズレなどが、装置や作業者の癖として同じ傾向で現れた場合に、その傾向を読取範囲に反映させることができる。
本発明に係る情報コード読取システムは、上記情報コード読取装置と、制御装置と、を備える。そして制御装置は、読取対象ごとに、情報コード読取装置に範囲指定情報を送信する。
上記情報コード読取システムによれば、読取対象ごとに、範囲指定情報が、読取実行指令に関連付けて制御装置から情報コード読取装置に送信されるため、読取対象ごとの読取範囲の設定が自動化される。
上記情報コード読取システムにおいて、制御装置は、読取対象ごとに、当該読取対象からの情報コードの読取りを実行させるための読取実行指令を情報コード読取装置に送信してもよい。この場合、範囲指定情報は、読取実行指令に付加又は包含されてもよい。この構成よれば、読取対象ごとに情報コード読取装置に送信される読取実行指令及び範囲指定情報の関連付けが容易になる。
本発明に係る情報コード読取方法は、撮像ステップと、取得制御ステップと、解析処理ステップと、を備える。撮像ステップでは、読取対象を撮像する。取得制御ステップでは、読取対象ごとに、光学センサの撮像範囲内に当該撮像範囲より狭い範囲を読取範囲として指定するための範囲指定情報を取得する。解析処理ステップでは、読取対象ごとに、撮像範囲全域が写った撮像データのうちの、取得制御部が取得した範囲指定情報で指定される読取範囲についての部分データに基づいて、読取対象から情報コードを読み取るための解析を行う。
本発明に係る情報コード読取プログラムは、撮像ステップと、取得制御ステップと、解析処理ステップと、を情報コード読取装置に実行させる。撮像ステップでは、読取対象を撮像する。取得制御ステップでは、読取対象ごとに、光学センサの撮像範囲内に当該撮像範囲より狭い範囲を読取範囲として指定するための範囲指定情報を取得する。解析処理ステップでは、読取対象ごとに、撮像範囲全域が写った撮像データのうちの、取得制御部が取得した範囲指定情報で指定される読取範囲についての部分データに基づいて、読取対象から情報コードを読み取るための解析を行う。
本発明によれば、商品ごとに情報コードの位置が異なる場合でも、当該情報コードを効率良く読み取ることが可能になる。
[1]実施形態
QRコード(登録商標)を情報コードとして読み取るコードリーダ及びそれを備えた情報コード読取システムに本発明を適用した実施形態について、具体的に説明する。
QRコード(登録商標)を情報コードとして読み取るコードリーダ及びそれを備えた情報コード読取システムに本発明を適用した実施形態について、具体的に説明する。
[1−1]概要
図1は、実施形態に係る情報コード読取システムを示した概念図である。図1に示されるように、情報コード読取システムは、情報コードC1を読み取るコードリーダ1と、当該コードリーダ1に接続されるホスト機器2(パーソナルコンピュータなどの制御装置)と、を備え、ホスト機器2によってシステム全体が管理及び制御される。
図1は、実施形態に係る情報コード読取システムを示した概念図である。図1に示されるように、情報コード読取システムは、情報コードC1を読み取るコードリーダ1と、当該コードリーダ1に接続されるホスト機器2(パーソナルコンピュータなどの制御装置)と、を備え、ホスト機器2によってシステム全体が管理及び制御される。
このような情報コード読取システムは、例えば、製造工場において商品の出荷チェックを行うラインなどで、当該ラインを流れてくる商品に付された情報コードC1の読取りに用いられる。そして、ホスト機器2は、ラインを流れる商品ごとに、その商品に付されている情報コードC1の読取りをコードリーダ1に実行させるタイミングで、読取実行指令Sをコードリーダ1に送信する。
[1−2]コードリーダの構成
図2は、コードリーダ1の構成を概念的に示したブロック図である。コードリーダ1は、投光LED11と、レンズ12と、CMOSセンサ13と、A/Dコンバータ14と、CPU15と、メモリ16と、入出力I/F17と、を備える。ここで、LEDはLight Emitting Deviceの略、CMOSはComplementary Metal Oxide Semiconductorの略、A/DはAnalog to Digitalの略、CPUはCentral Processing Unitの略、I/FはInterfaceの略である。
図2は、コードリーダ1の構成を概念的に示したブロック図である。コードリーダ1は、投光LED11と、レンズ12と、CMOSセンサ13と、A/Dコンバータ14と、CPU15と、メモリ16と、入出力I/F17と、を備える。ここで、LEDはLight Emitting Deviceの略、CMOSはComplementary Metal Oxide Semiconductorの略、A/DはAnalog to Digitalの略、CPUはCentral Processing Unitの略、I/FはInterfaceの略である。
<投光LED>
投光LED11は、読取処理の実行時に、読取対象Tとなる部分に光を照射する。読取対象Tに照射された光は、当該読取対象Tの表面において、QRコード(登録商標)を構成する黒色のセルの部分で吸収される一方で、黒色のセル以外の下地の部分(白色系の部分。QRコード(登録商標)を構成する白色のセルの部分を含む)で反射される。そして、読取対象Tの表面で反射された光(読取対象Tからの反射光)は、当該読取対象Tの像を構成する光としてレンズ12に入射する。
投光LED11は、読取処理の実行時に、読取対象Tとなる部分に光を照射する。読取対象Tに照射された光は、当該読取対象Tの表面において、QRコード(登録商標)を構成する黒色のセルの部分で吸収される一方で、黒色のセル以外の下地の部分(白色系の部分。QRコード(登録商標)を構成する白色のセルの部分を含む)で反射される。そして、読取対象Tの表面で反射された光(読取対象Tからの反射光)は、当該読取対象Tの像を構成する光としてレンズ12に入射する。
<レンズ>
レンズ12は、読取対象Tからの反射光を、CMOSセンサ13の検出面上に集光させることで、当該検出面上に読取対象Tの像を形成する。これにより、CMOSセンサ13は、読取対象Tの像を鮮明に捉えることができる。
レンズ12は、読取対象Tからの反射光を、CMOSセンサ13の検出面上に集光させることで、当該検出面上に読取対象Tの像を形成する。これにより、CMOSセンサ13は、読取対象Tの像を鮮明に捉えることができる。
<CMOSセンサ>
CMOSセンサ13は、読取対象Tを撮像する光学センサであり、レンズ12で集光させた光を検出して読取対象Tの2次元的な像を捉える。そして本実施形態では、CMOSセンサ13の撮像範囲Rが次のように設定されている。製造工場などでは、同じラインに、1種類の商品だけが流れる場合に限らず、様々な種類の商品が流れる場合がある。また、商品に付される情報コードC1の位置は、商品の種類ごとに異なることが多い。このため、同じラインに種類の異なる商品が流れた場合でも、それぞれの商品に付されている情報コードC1を全て読み取ることができるように、CMOSセンサ13の撮像範囲Rは、情報コードC1が付されている位置として想定できる全ての位置を包含できるように設定される。
CMOSセンサ13は、読取対象Tを撮像する光学センサであり、レンズ12で集光させた光を検出して読取対象Tの2次元的な像を捉える。そして本実施形態では、CMOSセンサ13の撮像範囲Rが次のように設定されている。製造工場などでは、同じラインに、1種類の商品だけが流れる場合に限らず、様々な種類の商品が流れる場合がある。また、商品に付される情報コードC1の位置は、商品の種類ごとに異なることが多い。このため、同じラインに種類の異なる商品が流れた場合でも、それぞれの商品に付されている情報コードC1を全て読み取ることができるように、CMOSセンサ13の撮像範囲Rは、情報コードC1が付されている位置として想定できる全ての位置を包含できるように設定される。
図3(A)〜(C)は、種類の異なる商品に付されている情報コードC1を全て読み取ることができるように設定された撮像範囲Rを例示した図である。図3(A)〜(C)には、撮像範囲Rの一例として、3つの異なる位置に付された情報コードC1を全て読み取ることができるように設定されたものが示されている。
そして、このように商品ごとにCMOSセンサ13で撮像される部分(即ち、撮像範囲R全域に写る部分)が、コードリーダ1の読取対象Tとなる。また、CMOSセンサ13は、読取対象Tの2次元的な像を捉えた場合、その像を構成している光が持つ光学情報(明暗など)に応じた電気信号(アナログ信号)を出力する。
<A/Dコンバータ>
A/Dコンバータ14は、CMOSセンサ13のフォトダイオードから出力される電気信号(アナログ信号)を撮像データDr(デジタル信号)に変換する。これにより、CMOSセンサ13で2次元的に捉えられた読取対象Tの像に対応した撮像データDrが得られ、読取対象Tの像に対するCPU15でのデータ解析が可能になる。
A/Dコンバータ14は、CMOSセンサ13のフォトダイオードから出力される電気信号(アナログ信号)を撮像データDr(デジタル信号)に変換する。これにより、CMOSセンサ13で2次元的に捉えられた読取対象Tの像に対応した撮像データDrが得られ、読取対象Tの像に対するCPU15でのデータ解析が可能になる。
ここで、上記撮像データDr(即ち、CMOSセンサ13の撮像範囲R全域が写った撮像データ)を用いて、従来のように撮像範囲R全域から情報コードC1を探索し、情報コードC1が見つかった場合に、その情報コードC1の読取りを実行したのでは、情報コードC1を探索するための処理に時間を要し、読取りの効率が低下してしまう。
そこで、本実施形態のコードリーダ1は、読取処理において、CMOSセンサ13の撮像範囲R全域が写った撮像データDrを用いつつも、ラインを流れてくる商品ごと(即ち、読取対象Tごと)に、情報コードC1を、その商品に応じた範囲(具体的には、撮像範囲Rより狭くても商品ごとの情報コードC1の全体像を包含できる範囲)に絞って探索する。尚、読取処理の詳細については、後述の「[1−3]読取処理」の箇所で説明する。
<CPU>
CPU15は、コードリーダ1の制御部であり、メモリ16に記憶されているプログラムを読み出して実行することにより、読取処理を実現するための処理部として機能する。尚、コードリーダ1の制御部は、CPU15に限らず、読取処理を実現できる他の処理装置(マイクロコンピュータなど)に適宜変更されてもよい。
CPU15は、コードリーダ1の制御部であり、メモリ16に記憶されているプログラムを読み出して実行することにより、読取処理を実現するための処理部として機能する。尚、コードリーダ1の制御部は、CPU15に限らず、読取処理を実現できる他の処理装置(マイクロコンピュータなど)に適宜変更されてもよい。
本実施形態において、読取処理を実現するための処理部には、取得制御部151と、解析処理部152と、出力処理部153と、が含まれる(図2参照)。これらの処理部が行う処理の概要は以下のとおりである。尚。それらの処理の詳細については、後述の「[1−3]読取処理」の箇所で説明する。
取得制御部151は、ラインを流れてくる商品ごと(即ち、読取対象Tごと)にホスト機器2から送信されてくる読取実行指令Sを取得する。そして、取得制御部151は、読取実行指令Sを取得した場合に、読取対象Tへの光の照射を投光LED11に実行させると共に、光が照射された読取対象Tの撮像をCMOSセンサ13に実行させる。これにより、読取対象Tの撮像データDrがA/Dコンバータ14から出力される。
本実施形態では、ホスト機器2は、ラインを流れる商品ごとに、その商品に付されている情報コードC1の読取りをコードリーダ1に実行させるタイミングで、読取実行指令Sと共に範囲指定情報Spをコードリーダ1に送信する。ここで、範囲指定情報Spは、CMOSセンサ13の撮像範囲R内に、当該撮像範囲Rより狭くても商品ごとの情報コードC1の全体像を包含できる範囲を、読取範囲Rc(図3(A)〜(C)参照)として指定するための情報である。ここで、読取範囲Rcは、後述する読取処理において情報コードC1の探索の対象となる範囲である。そして、取得制御部151は、読取実行指令Sの取得時に範囲指定情報Spも取得し、解析処理部152が、その範囲指定情報Spを用いて撮像データDrのデータ解析を行う。
一例として、撮像範囲R内に読取範囲Rcを長方形で指定する場合には、その長方形が持つ4つの頂点の座標が、範囲指定情報Spとして用いられる。尚、読取範囲Rcは、撮像範囲R内に長方形で指定される場合に限らず、他の形状(円形など)で指定されてもよい。また、撮像範囲R内に指定される読取範囲Rcの形状に応じて、その形状を規定できる情報(例えば、中心座標と半径など)が、範囲指定情報Spとして用いられてもよい。
本実施形態では更に、範囲指定情報Spは、読取実行指令Sに付加又は包含された状態で、ホスト機器2からコードリーダ1に送信される。これにより、ラインを流れてくる商品ごと(即ち、読取対象Tごと)にコードリーダ1に送信される読取実行指令S及び範囲指定情報Spの関連付けが容易になる。この場合、取得制御部151は、読取実行指令S内のデータ又は読取実行指令Sに付加されているデータを読み取ることで、範囲指定情報Spを取得できる。尚、範囲指定情報Spは、読取実行指令Sとの関連付けが可能であれば、当該読取実行指令Sに付加又は包含される場合に限らず、読取実行指令Sとは別個にコードリーダ1に送信されてもよい。
解析処理部152は、A/Dコンバータ14から出力される撮像データDr(デジタル信号)を用いて、読取対象Tの2次元的な像に対するデータ解析を行う。本実施形態では、解析処理部152は、撮像範囲R全域が写った撮像データDrのうちの、取得制御部151が取得した範囲指定情報Spで指定される読取範囲Rcについてのデータ(後述する部分データDrpや全域データDrqなど。以下、これらを纏めて「読取対象データDrc」と称す)に基づいて、読取対象Tから情報コードC1を読み取るための解析を行う。
出力処理部153は、解析処理部152での解析結果を入出力I/F17から出力する。
<メモリ>
メモリ16は、各種情報(上述したプログラムを含む)を記憶する記憶部であり、揮発性メモリや不揮発性メモリを含む。
メモリ16は、各種情報(上述したプログラムを含む)を記憶する記憶部であり、揮発性メモリや不揮発性メモリを含む。
<入出力I/F>
入出力I/F17は、各種信号の入出力に用いられるインタフェースであり、入出力端子や通信インタフェースなどを含む。本実施形態では、ホスト機器2が入出力I/F17に接続されている。そして、ホスト機器2からの読取実行指令S及び範囲指定情報Spが、入出力I/F17からコードリーダ1に入力され、解析処理部152での解析結果が、入出力I/F17からホスト機器2へ出力される。
入出力I/F17は、各種信号の入出力に用いられるインタフェースであり、入出力端子や通信インタフェースなどを含む。本実施形態では、ホスト機器2が入出力I/F17に接続されている。そして、ホスト機器2からの読取実行指令S及び範囲指定情報Spが、入出力I/F17からコードリーダ1に入力され、解析処理部152での解析結果が、入出力I/F17からホスト機器2へ出力される。
[1−3]読取処理
図4は、本実施形態で実行される読取処理を示したフローチャートである。読取処理は、ホスト機器2から送信されてくる読取実行指令Sをコードリーダ1の取得制御部151が取得したときに開始される。このとき、取得制御部151は、読取実行指令Sと共に範囲指定情報Spも取得する。
図4は、本実施形態で実行される読取処理を示したフローチャートである。読取処理は、ホスト機器2から送信されてくる読取実行指令Sをコードリーダ1の取得制御部151が取得したときに開始される。このとき、取得制御部151は、読取実行指令Sと共に範囲指定情報Spも取得する。
読取処理が開始されると、先ず、取得制御部151が、読取対象Tとなる部分への光の照射を投光LED11に実行させると共に、光が照射された部分の撮像をCMOSセンサ13に実行させることにより、撮像データDrを取得する(図4のステップS11)。具体的には、読取対象Tの2次元的な像の光学情報(明暗など)に応じた電気信号(アナログ信号)がCMOSセンサ13から出力され、その電気信号が、A/Dコンバータ14で撮像データDr(デジタル信号)に変換される。そして、その撮像データDrがCPU15に入力される。
CPU15に撮像データDrが入力されると、解析処理部152が、その撮像データDrを用いて、読取対象Tの2次元的な像に対するデータ解析を以下のように行う。
先ず、解析処理部152は、情報コードC1の探索の対象となる読取範囲Rcを、撮像範囲R内のどの領域にするかを決定する(図4のステップS12)。具体的には、解析処理部152は、取得制御部151が取得した範囲指定情報Spを用いて、当該範囲指定情報Spで指定される撮像範囲R内の領域を読取範囲Rcとして決定する。
次に、解析処理部152は、読取対象データDrc(撮像範囲R全域が写った撮像データDrのうちの読取範囲Rcについてのデータ)に基づいて、読取対象Tから情報コードC1を読み取るための解析を行う(図4のステップS13)。ここでは、読取範囲Rcは、範囲指定情報Spで指定された範囲であり(ステップS12)、解析処理部152は、撮像データDrのうちの読取範囲Rcに対応した部分データDrpを読取対象データDrcとして用いることにより、読取対象Tから情報コードC1を読み取るための解析を行う。
ステップS13では、解析処理部152は、読取対象データDrcに対して二値化処理を行う(図4のステップS131)。具体的には、解析処理部152は、読取対象データDrcにおいて、信号の強度が閾値より大きい部分(明るい部分)を「1」とし、信号の強度が閾値より小さい部分(暗い部分)を「0」とする。これにより、解析処理部152は、読取対象データDrcを、「0」と「1」の数字の並びに変換することで、QRコード(登録商標)を構成する黒色のセルに対応して「0」が連続して現れる部分と、黒色のセル以外の下地の部分(情報コードC1を構成する白色のセルの部分を含む)に対応して「1」が連続して現れる部分とを判別することが可能になる。
その後、解析処理部152は、二値化後のデータを用いて、読取範囲Rc内から情報コードC1を探索する(図4のステップS132)。そして、解析処理部152は、ステップS132にて情報コードC1を見つけることができなかった場合(「No」の場合)、そのことを以て、読取範囲Rc内に情報コードC1がないと判定する。この場合、読取対象T内に情報コードC1がないとの判定結果が、出力処理部153により、入出力I/F17からホスト機器2へ出力される(図4のステップS21)。その後、読取処理が終了する。即ち、解析処理部152は、後述するステップS133〜S135の処理(情報コードC1を読み取るための処理(デコードなど))を実行することなく、途中で読取対象Tに対する読取りを停止する。
一方、解析処理部152は、ステップS132にて情報コードC1を見つけることができた場合(「Yes」の場合)、そのことを以て、読取範囲Rc内に情報コードC1があると判定する。この場合、解析処理部152は、読取範囲Rc内にある情報コードC1を読み取るための処理を更に実行する。具体的には、以下のとおりである。
解析処理部152は、二値化後のデータを用いてデコードを行う(図4のステップS133)。具体的には、解析処理部152は、二値化後のデータから得られる黒色のセルと白色のセルとの組合せを、コード規則に従ってコード化する。そして、デコードに成功した場合には、文字や画像などの情報が得られる。一方、印刷不良で情報コードC1の一部が不鮮明であったり、情報コードC1のシールに皺が生じていたりした場合には、解析処理部152は、不鮮明な部分や皺の部分でコード化できずに、デコードに失敗することになる。
そこで、解析処理部152は、デコードの実行後に、そのデコード(コード規則に従ったコード化)に成功できたか否かを判断する(図4のステップS134)。そして、解析処理部152は、ステップS134で「デコードに成功できた(Yes)」と判断した場合、その判断を以て、情報コードC1の読取りに成功したと判断する。この場合、情報コードC1の読取りに成功したとの解析結果が、出力処理部153により、入出力I/F17からホスト機器2へ出力される(図4のステップS22A)。このとき、出力処理部153は、ステップS132での判定結果(即ち、読取範囲Rc内に情報コードC1があるとの判定結果)もホスト機器2へ出力してもよい。その後、読取処理が終了する。
一方、解析処理部152は、ステップS134で「デコードに成功できなかった(No)」と判断した場合、その判断を以て、情報コードC1の読取りに失敗したと判断する。この場合、解析処理部152は、読取処理の開始時からの経過時間tが、所定時間tcに達したか否かを判断する(図4のステップS135)。ここで、所定時間tcは、デコードに成功できなかった場合に、読取りのリトライをどの程度の時間が経過するまで繰り返すかを規定したものである。
そして、解析処理部152は、ステップS135にて「所定時間tcに達していない(No)」と判断した場合、ステップS133からの処理を再び実行する(リトライ)。一方、ステップS135にて解析処理部152が「所定時間tcに達した(Yes)」と判断した場合には、情報コードC1の読取りに失敗したとの解析結果が、出力処理部153により、入出力I/F17からホスト機器2へ出力される(図4のステップS22B)。このとき、出力処理部153は、ステップS12での判定結果(即ち、読取範囲Rc内に情報コードC1があるとの判定結果)もホスト機器2へ出力してもよい。その後、読取処理が終了する。
上記読取処理によれば、商品ごと(即ち、読取対象Tごと)の読取範囲Rcとして、撮像範囲Rより狭くても情報コードC1の全体像を包含できる範囲が、範囲指定情報Spを用いて指定されるため、情報コードC1の探索範囲が、撮像範囲R全域から読取範囲Rcに絞られる。従って、撮像範囲R全域を対象として情報コードC1の探索を行う必要がなくなる。よって、情報コードC1を探索するための処理に必要な時間が短縮化され、その結果として、情報コードC1の読取りが高速化される。また、商品ごとに、範囲指定情報Spが、読取実行指令Sに関連付けてホスト機器2からコードリーダ1に送信されるため、商品ごとの読取範囲Rcの設定が自動化される。よって、商品ごとに情報コードC1の位置が異なる場合でも、当該情報コードC1を効率良く読み取ることができる。
[2]変形例
上述した情報コード読取システムは、以下のように変形されてもよい。
上述した情報コード読取システムは、以下のように変形されてもよい。
[2−1]第1変形例
ステップS132での探索の結果として読取範囲Rc内に情報コードC1がなかった場合には、その原因として、(1)情報コードC1の位置にズレが生じたために、読取範囲Rc内に情報コードC1が全く含まれなくなったか、或いは、(2)部分的にしか含まれておらず、ステップS132にて情報コードC1と認識できないことが考えられる。また、ステップS133でのデコードの結果としてデコードに失敗した場合には、その原因として、(3)読取範囲Rc内に情報コードC1が部分的にしか含まれておらず、情報コードC1があることは認識できるが、読取範囲Rcからはみ出した分の情報が欠落していることが考えられる。そこで、コードリーダ1は、以下のような読取処理を行ってもよい。尚、図5には、前者の例として、読取範囲Rc内に情報コードC1が全く含まれなくなった場合が示されている。
ステップS132での探索の結果として読取範囲Rc内に情報コードC1がなかった場合には、その原因として、(1)情報コードC1の位置にズレが生じたために、読取範囲Rc内に情報コードC1が全く含まれなくなったか、或いは、(2)部分的にしか含まれておらず、ステップS132にて情報コードC1と認識できないことが考えられる。また、ステップS133でのデコードの結果としてデコードに失敗した場合には、その原因として、(3)読取範囲Rc内に情報コードC1が部分的にしか含まれておらず、情報コードC1があることは認識できるが、読取範囲Rcからはみ出した分の情報が欠落していることが考えられる。そこで、コードリーダ1は、以下のような読取処理を行ってもよい。尚、図5には、前者の例として、読取範囲Rc内に情報コードC1が全く含まれなくなった場合が示されている。
図6A及び図6Bは、第1変形例で実行される一連の読取処理を示したフローチャートである。本変形例では解析処理部152は、ステップS132にて読取範囲Rc内に情報コードC1を見つけることができないか、或いは、ステップS133でデコードに成功できずに所定時間tcが経過した場合、読取範囲Rcを撮像範囲R全域に変更する(図6AのステップS14。図7(A)参照)。その後、解析処理部152は、撮像データDrのうちの撮像範囲R全域に対応した全域データDrq(即ち、撮像データDrそのもの)を読取対象データDrcとして用いて、改めて、ステップS13と同様のデータ解析を行う(図6BのステップS15(ステップS151〜S155))。
そして、ステップS152にて情報コードC1が見つけられなかった場合に、読取対象T内に情報コードC1がないとの判定結果が、出力処理部153により、入出力I/F17からホスト機器2へ出力される(図6BのステップS21)。
一方、ステップS152にて情報コードC1が見つけられた場合には、二値化後のデータに対するデコードが実行され(図6BのステップS153)、デコードが成功した場合に、情報コードC1の読取りに成功したとの解析結果が、出力処理部153により、入出力I/F17からホスト機器2へ出力される(図6BのステップS22A)。これに対し、デコードが成功せずに所定時間tcが経過した場合には、情報コードC1の読取りに失敗したとの解析結果が、出力処理部153により、入出力I/F17からホスト機器2へ出力される(図6BのステップS22B)。
尚、上述したステップS14及びS15の処理は、ステップS132にて読取範囲Rc内に情報コードC1を見つけることができないか、或いは、ステップS133でデコードに成功できずに所定時間tcが経過した場合の何れか一方でのみ実行されてもよい。
第1変形例の読取処理によれば、ホスト機器2側での範囲指定情報Spの設定ミスや、情報コードC1の印刷位置のズレ、情報コードC1のシールの貼付位置のズレなどが原因で、情報コードC1が、範囲指定情報Spで指定された読取範囲Rcからはみ出た場合でも、情報コードC1を読み取ることが可能になる。
[2−2]第2変形例
第1変形例において、解析処理部152が、読取範囲Rcを撮像範囲R全域に変更してデータ解析を行い(図6AのステップS14及び図6BのステップS15)、その結果として、情報コードC1の読取りに成功した場合、解析処理部152は、その情報コードC1が付された商品と同じ種類の商品については、読取範囲Rcとして、撮像範囲R内における当該情報コードC1の位置(即ち、読取りに成功した情報コードC1の位置)を基準にした範囲を新たに設定してもよい(図7(B)参照)。
第1変形例において、解析処理部152が、読取範囲Rcを撮像範囲R全域に変更してデータ解析を行い(図6AのステップS14及び図6BのステップS15)、その結果として、情報コードC1の読取りに成功した場合、解析処理部152は、その情報コードC1が付された商品と同じ種類の商品については、読取範囲Rcとして、撮像範囲R内における当該情報コードC1の位置(即ち、読取りに成功した情報コードC1の位置)を基準にした範囲を新たに設定してもよい(図7(B)参照)。
また、解析処理部152は、ステップS14及びS15での処理の結果として情報コードC1の読取りに成功した場合に、即座に新たな範囲を読取範囲Rcとして設定するのではなく、次のような処理を行ってもよい。解析処理部152は、同じ種類の幾つかの商品について、ステップS14及びS15での処理の結果として情報コードC1の読取りに成功した場合であって、且つ、その情報コードC1の位置が、一定の範囲(例えば、範囲指定情報Spで指定される範囲と同程度の広さの範囲)に偏っていた場合に、その範囲を読取範囲Rcとして新たに設定してもよい。
新たに設定された読取範囲Rcの情報は、ホスト機器2に送信されてもよい。この場合、ホスト機器2は、受信した当該読取範囲Rcの情報を、それに対応した同じ種類の商品についての範囲指定情報Spに反映させることができる。これにより、その後にラインを流れる同じ種類の商品については、反映済みの範囲指定情報Spがコードリーダ1に送信されることになる。
或いは、新たに設定された読取範囲Rcの情報は、例えばメモリ16に記憶されることで、コードリーダ1によって保持されてもよい。この場合、解析処理部152は、新たに設定した読取範囲Rcに対応する同じ種類の商品については、情報コードC1の読取りのタイミングでホスト機器2から送信されてくる範囲指定情報Spに変えて、メモリ16に記憶されている読取範囲Rcの情報を用いてもよい。
このような第2変形例の読取処理によれば、ホスト機器2側での範囲指定情報Spの設定ミスや、情報コードC1の印刷位置のズレ、情報コードC1のシールの貼付位置のズレなどが、装置や作業者の癖として同じ傾向で現れた場合に、その傾向を読取範囲Rcに反映させることができる。
[2−3]他の変形例
上述したコードリーダ1は、読取対象Tを撮像する光学センサとして、CMOSセンサ13に限らず、CCD(Charge Coupled Device)センサなどの撮像素子を備えたものであってもよい。また、コードリーダ1が実行する上述の読取処理は、QRコード(登録商標)などの2次元コードの読取りに限らず、バーコード、EAN(European Article Number)、Code39などの1次元コードの読取りにも適用できる。
上述したコードリーダ1は、読取対象Tを撮像する光学センサとして、CMOSセンサ13に限らず、CCD(Charge Coupled Device)センサなどの撮像素子を備えたものであってもよい。また、コードリーダ1が実行する上述の読取処理は、QRコード(登録商標)などの2次元コードの読取りに限らず、バーコード、EAN(European Article Number)、Code39などの1次元コードの読取りにも適用できる。
上述の実施形態の説明は、すべての点で例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上述の実施形態ではなく、特許請求の範囲によって示される。更に、本発明の範囲には、特許請求の範囲と均等の意味及び範囲内での全ての変更が含まれることが意図される。
1 コードリーダ
2 ホスト機器
R 撮像範囲
S 読取実行指令
T 読取対象
t 経過時間
11 投光LED
12 レンズ
13 CMOSセンサ
14 A/Dコンバータ
15 CPU
16 メモリ
17 入出力I/F
C1 情報コード
Dr 撮像データ
Rc 読取範囲
Sp 範囲指定情報
tc 所定時間
151 取得制御部
152 解析処理部
153 出力処理部
Drc 読取対象データ
Drp 部分データ
Drq 全域データ
2 ホスト機器
R 撮像範囲
S 読取実行指令
T 読取対象
t 経過時間
11 投光LED
12 レンズ
13 CMOSセンサ
14 A/Dコンバータ
15 CPU
16 メモリ
17 入出力I/F
C1 情報コード
Dr 撮像データ
Rc 読取範囲
Sp 範囲指定情報
tc 所定時間
151 取得制御部
152 解析処理部
153 出力処理部
Drc 読取対象データ
Drp 部分データ
Drq 全域データ
Claims (7)
- 読取対象を撮像する光学センサと、
前記読取対象ごとに、前記光学センサの撮像範囲内に当該撮像範囲より狭い範囲を読取範囲として指定するための範囲指定情報を取得する取得制御部と、
前記読取対象ごとに、前記撮像範囲全域が写った撮像データのうちの、前記取得制御部が取得した前記範囲指定情報で指定される前記読取範囲についての部分データに基づいて、前記読取対象から情報コードを読み取るための解析を行う解析処理部と、
を備える、情報コード読取装置。 - 前記解析処理部は、前記解析の結果として前記情報コードの読取りに失敗した場合、前記読取範囲を前記撮像範囲全域に変更して改めて前記解析を行う、請求項1に記載の情報コード読取装置。
- 前記解析処理部は、前記読取範囲を前記撮像範囲全域に変更して前記解析を行った結果として、前記情報コードの読取りに成功した場合、前記読取範囲として、前記撮像範囲内における当該情報コードの位置を基準にした範囲を設定する、請求項2に記載の情報コード読取装置。
- 請求項1〜3の何れかに記載の情報コード読取装置と、
前記読取対象ごとに、前記情報コード読取装置に前記範囲指定情報を送信する制御装置と、
を備える、情報コード読取システム。 - 前記制御装置は、前記読取対象ごとに、当該読取対象からの前記情報コードの読取りを実行させるための読取実行指令を前記情報コード読取装置に送信し、
前記範囲指定情報は、前記読取実行指令に付加又は包含される、請求項4に記載の情報コード読取システム。 - 読取対象を撮像する撮像ステップと、
前記読取対象ごとに、前記光学センサの撮像範囲内に当該撮像範囲より狭い範囲を読取範囲として指定するための範囲指定情報を取得する取得制御ステップと、
前記読取対象ごとに、前記撮像範囲全域が写った撮像データのうちの、前記取得制御部が取得した前記範囲指定情報で指定される前記読取範囲についての部分データに基づいて、前記読取対象から情報コードを読み取るための解析を行う解析処理ステップと、
を備える、情報コード読取方法。 - 読取対象を撮像する撮像ステップと、
前記読取対象ごとに、前記光学センサの撮像範囲内に当該撮像範囲より狭い範囲を読取範囲として指定するための範囲指定情報を取得する取得制御ステップと、
前記読取対象ごとに、前記撮像範囲全域が写った撮像データのうちの、前記取得制御部が取得した前記範囲指定情報で指定される前記読取範囲についての部分データに基づいて、前記読取対象から情報コードを読み取るための解析を行う解析処理ステップと、
を情報コード読取装置に実行させる、情報コード読取プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019054055A JP2020154908A (ja) | 2019-03-22 | 2019-03-22 | 情報コード読取装置、情報コード読取システム、情報コード読取方法、及び情報コード読取プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019054055A JP2020154908A (ja) | 2019-03-22 | 2019-03-22 | 情報コード読取装置、情報コード読取システム、情報コード読取方法、及び情報コード読取プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2020154908A true JP2020154908A (ja) | 2020-09-24 |
Family
ID=72559373
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019054055A Pending JP2020154908A (ja) | 2019-03-22 | 2019-03-22 | 情報コード読取装置、情報コード読取システム、情報コード読取方法、及び情報コード読取プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2020154908A (ja) |
-
2019
- 2019-03-22 JP JP2019054055A patent/JP2020154908A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9477867B2 (en) | System and method to manipulate an image | |
JP6964048B2 (ja) | グローバル電子シャッター制御を持つイメージ読み取り装置 | |
US9773142B2 (en) | System and method for selectively reading code symbols | |
US8162218B2 (en) | Using a 2D imager for rastering scanning | |
KR100920764B1 (ko) | 고밀도의 광학 심볼을 2단계로 해독하기 위한 장치 및 방법 | |
JP2018156674A (ja) | 画像認識装置及び商品情報処理装置 | |
JP5140820B2 (ja) | シンボル情報読取装置及びシンボル情報読取方法 | |
JP2010205007A (ja) | モデル画像取得支援装置、モデル画像取得支援方法およびモデル画像取得支援プログラム | |
US8718370B2 (en) | Optical information-reading apparatus and optical information-reading method | |
JP5808211B2 (ja) | バーコードシンボル読取装置及びバーコードシンボル読取方法 | |
JP2014199487A (ja) | シンボル情報読取装置、シンボル情報読取方法、およびプログラム | |
US12039400B2 (en) | Optical information reading device | |
JP2016184422A (ja) | 複数の撮影画像を用いてパターンのステッチおよびデコードするシステムおよび方法 | |
JP5017988B2 (ja) | コード読取装置及びプログラム | |
US11030431B2 (en) | Efficiency when reading multiple barcodes on objects | |
JP2020154908A (ja) | 情報コード読取装置、情報コード読取システム、情報コード読取方法、及び情報コード読取プログラム | |
US8210436B2 (en) | Automatic video image reversal of difficult to read symbols | |
US9104935B1 (en) | Mark reader configured to prioritize images | |
JP2007102386A (ja) | シンボル情報読取方法及びシンボル情報読取装置 | |
JP2007034546A (ja) | 光学読取装置 | |
CN115277993A (zh) | 用于工业固定视觉相机的快速自动调谐的系统和方法 | |
JP3711725B2 (ja) | 画像認識装置 | |
JP5534053B2 (ja) | コード読取装置及びプログラム | |
JP2020154909A (ja) | 2次元画像読取装置、2次元画像読取方法、及び2次元画像読取プログラム | |
JP2020135358A (ja) | 情報コード読取装置、情報コード読取方法、及び情報コード読取プログラム |