JP2018136855A - 光学的情報読取装置及び光学的情報読取方法 - Google Patents
光学的情報読取装置及び光学的情報読取方法 Download PDFInfo
- Publication number
- JP2018136855A JP2018136855A JP2017032322A JP2017032322A JP2018136855A JP 2018136855 A JP2018136855 A JP 2018136855A JP 2017032322 A JP2017032322 A JP 2017032322A JP 2017032322 A JP2017032322 A JP 2017032322A JP 2018136855 A JP2018136855 A JP 2018136855A
- Authority
- JP
- Japan
- Prior art keywords
- unit
- score
- code
- imaging
- optical 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.)
- Pending
Links
Abstract
【課題】撮像範囲内の複数箇所の読み取り安定度を把握可能にして運用時のトラブルを未然に防止する。【解決手段】デコード処理のし易さを示すスコアを算出する。スコアを算出するコードが含まれる所定の大きさの領域を決定する。読取テストモードの実行時に、コード位置を変更して複数の異なる領域が順次決定された際に、算出されたスコアとそのスコアに対応する領域とを関連付けて記憶しておき、記憶された各領域に対応するスコアの大きさを、撮像部が撮像した画像または撮像視野を模擬的に示したマップ上の対応する領域に、同時に表示させる。【選択図】図18
Description
本発明は、情報を光学的に読み取る光学的情報読取装置及び光学的情報読取方法に関する。
近年、たとえば物品の流通経路を製造段階から消費段階あるいは廃棄段階まで追跡可能にする、いわゆるトレーサビリティが重要視されてきており、このトレーサビリティを目的としたコードリーダが普及してきている。また、トレーサビリティ以外にもコードリーダは様々な分野で利用されている。
一般的に、コードリーダは、ワークに付されたバーコードや二次元コード等のコードをカメラによって撮像し、得られた画像に含まれるコードを画像処理によって切り出して二値化し、デコード処理して情報を読み取ることができるように構成されており、情報を光学的に読み取る装置であることから光学的情報読取装置とも呼ばれている。
この種の光学的情報読取装置においては、カメラによる読取深度、つまりカメラのレンズのピントの合う範囲が重要な要素の一つとなっている。すなわち、大きさが異なる複数種のワークが混在する現場では、ワーク毎にコードとカメラとの距離が変わることがあり、また、複数種のワークが混在していない場合であっても、ライン上のワークの種類が変更になるとコードとカメラとの距離が変わることがある。これらの場合にカメラの位置変更等することなく、コードを読み取るためには、カメラの読取深度を深くするのが望ましいからである。
カメラの読取深度を深くするにはレンズの絞りを絞り込むことで対応可能であるが、絞り込むと撮像素子に取り込むことのできる光量(明るさ)が不足してしまう。また、コードとカメラとの距離が遠くなることによっても同様に光量が不足してしまう。光量が不足すると得られた画像のコントラストが低く、ひいては読取精度の低下を招くことになる。
そこで、たとえば特許文献1に開示されているように、光量不足を補うことができるように、カメラの露光時間やゲインを自動的に最適な値となるように設定するチューニングが光学的情報読取装置の運用前、即ち設定時に行われることがある。
近年の光学的情報読取装置は読取性能が向上しており、しかも、特許文献1のようなチューニングを行うことで安定して読み取ることが可能な視野範囲は広がってきている。その一方で、実際の運用時にどの程度の安定度で読み取ることができているのか判断することが難しくなっている。たとえば、DPMといわれる金属部品等にコードを直接印字した場合における当該コードの読み取り時には、カメラで撮像した撮像範囲内におけるコードの位置が変化すると、読み取りの安定度が大きく変わることが知られている。つまり、運用時のワークの材質、形状、大きさ及び撮像範囲内におけるコードの位置等に応じてコードの読み取り安定度が大きく異なることがあるため、コードの読み取り安定度を一つの値で定義することは困難である。
また、運用環境は様々であり、運用環境下における撮像視野の全体をどの程度有効に活用できるのかを事前に確認することは、運用時のトラブルを未然に防止する観点からも重要である。
本発明は、かかる点に鑑みてなされたものであり、その目的とするところは、撮像範囲内の複数箇所でのコードの読み取り安定度を使用者が事前に把握できるようにして運用時のトラブルを未然に防止することにある。
上記目的を達成するために、本発明では、ワークに付されたコードが含まれる画像を撮像する撮像素子を有する撮像部と、上記撮像部により撮像された画像に含まれるコード位置を検出するとともに、検出されたコードにデコード処理を行うデコード部と、上記デコード部によるデコード処理のし易さを示すスコアを算出するスコア算出部と、上記撮像部による撮像処理と、上記デコード部によるコード位置の検出処理及びデコード処理と、上記スコア算出部によるスコア算出処理とを繰り返して行う読取テストモードの実行指示を受け付ける指示受付部と、上記読取テストモードの実行時に、撮像視野内において上記コード位置の変更がなされることによって異なる位置に検出された複数のコードのスコアを記憶可能に構成されたスコア記憶部と、上記スコア記憶部に記憶された複数のスコアの大きさを、上記撮像部が撮像した画像または上記撮像視野を模擬的に示したマップ上の各スコアが得られたコード位置に対応する領域に、同時に表示可能な表示部とを備えていることを特徴とする。
この構成によれば、読取テストモードの実行を指示すると、撮像部によってコードが含まれる画像を撮像した後、デコード部がその画像に含まれるコード位置を検出するとともに、検出されたコードをデコード処理する。そして、スコア算出部がデコード処理のし易さを示すスコアを算出する。これが繰り返して行われる。また、スコアを算出するコードが含まれる領域が領域決定部により撮像視野内において決定される。
上記読取テストモードの実行時に、たとえばコードが付されたワークを動かす等して、撮像視野内においてコード位置の変更がなされると、スコアを算出する対象となるコードが撮像視野内を移動することになるので、領域決定部により複数の異なる領域が順次決定される。このとき、スコア算出部により算出されたスコアと、該スコアに対応する領域とが関連付けられた状態でスコア記憶部に記憶される。
その後、スコア記憶部に記憶された各領域に対応するスコアを、撮像部が撮像した画像または撮像視野を模擬的に示したマップにおける対応する領域に、同時に表示することができる。これにより、使用者は、光学的情報読取装置の運用前の準備段階において、撮像視野におけるどの領域でデコード処理がし易いか、あるいはデコード処理がし難いかをスコアによって具体的に得ることができる。言い換えると、撮像視野において安定して読み取ることができる領域と、安定して読み取ることが困難な領域とを使用者が視覚により容易に把握することができる。したがって、運用環境下における撮像視野の全体をどの程度有効に活用できるのかを事前に確認することができる。
また、上記領域決定部は、上記スコア算出部によってスコアを算出するコードが、上記撮像視野を予め分割することによって形成された複数の既定の領域のどれに属するかを決定する領域決定部を更に備え、上記スコア記憶部は、予め分割された上記撮像視野内の各領域に対応するメモリを備え、各領域に対応するスコアを、各領域に対応するメモリに記憶するように構成されていてもよい。
また、上記表示部は、上記撮像視野内において上記コード位置の変更がなされることによって当該コードが上記撮像視野内において複数の領域に亘って移動する場合に、当該コードの移動軌跡に沿って、上記撮像部が撮像した画像または上記撮像視野を模擬的に示したマップにおける対応する領域に、上記スコアを追加または更新して表示するように構成されていてもよい。
また、上記表示部は、上記撮像部が撮像した画像を上記マップと並べて表示可能に構成されていてもよい。
また、上記表示部は、上記撮像部が撮像した画像と上記マップとを重ねて表示可能に構成されていてもよい。
また、上記光学的情報読取装置を運用する前に行われる該光学的情報読取装置の設定時に上記読取テストモードを実行するように構成されていてもよい。
また、ワークに付されて照明されているコードが含まれる画像を撮像部により撮像する撮像工程と、上記撮像工程で撮像された画像に含まれるコード位置を検出するとともに、検出したコードにデコード処理を行うデコード工程と、上記デコード工程におけるデコード処理のし易さを示すスコアを算出するスコア算出工程と、上記撮像工程と、上記デコード工程と、上記スコア算出工程とを繰り返して行う読取テストモードを実行する読取テストモード実行工程と、上記読取テストモード実行工程中、上記撮像視野内において上記コード位置を変更することによって複数の異なる位置で算出されたスコアを記憶するスコア記憶工程と、上記スコア記憶工程で記憶された複数のスコアの大きさを、上記撮像部が撮像した画像または上記撮像視野を模擬的に示したマップ上の各スコアが得られた位置に対応する領域に、同時に表示する表示工程とを備えていることを特徴とする光学的情報読取方法とすることもできる。
上記光学的情報読取方法は、上記撮像部による撮像視野内において、上記スコア算出工程でスコアを算出するコードが含まれる所定の大きさの領域を決定する領域決定工程を備えていてもよい。そして、読取テストモード実行工程においては、上記撮像工程と、上記デコード工程と、上記スコア算出工程と、上記領域決定工程とを繰り返して行うように構成することができる。また、スコア記憶工程では、上記読取テストモード実行工程中、上記撮像視野内において上記コード位置を変更することによって複数の異なる領域を順次決定し、上記スコア算出工程で算出されたスコアと該スコアに対応する上記領域とを関連付けて記憶することができる。また、表示工程では、スコア記憶工程で記憶された各領域に対応するスコアの大きさを、上記撮像部が撮像した画像または上記撮像視野を模擬的に示したマップにおける対応する領域に、同時に表示することができる。
本発明によれば、撮像範囲内の複数箇所の読み取り安定度を視覚により容易に把握することができ、運用時のトラブルを未然に防止できる。
以下、本発明の実施形態を図面に基づいて詳細に説明する。尚、以下の好ましい実施形態の説明は、本質的に例示に過ぎず、本発明、その適用物或いはその用途を制限することを意図するものではない。
(第1実施形態)
図1は、本発明の実施形態に係る光学的情報読取装置1の運用時を模式的に示す図である。この例では、複数のワークWが搬送用ベルトコンベアBの上面に載置された状態で図1における矢印Yの方向へ搬送されており、そのワークWから上方へ離れた所に、実施形態に係る光学的情報読取装置1が設置されている。光学的情報読取装置1は、ワークWに付されているコードを撮像し、撮像された画像に含まれるコードをデコード処理して情報を読み取ることができるように構成されたコードリーダである。光学的情報読取装置1は、その運用時に動かないようにブラケット等(図示せず)に固定して使用してもよいし、ロボット(図示せず)や使用者等が把持して動かしながら運用してもよい。また、静止状態にあるワークWのコードを光学的情報読取装置1によって読み取るようにしてもよい。運用時とは、搬送用ベルトコンベアBによって搬送されるワークWのコードを順に読み取る動作を行っている時である。
図1は、本発明の実施形態に係る光学的情報読取装置1の運用時を模式的に示す図である。この例では、複数のワークWが搬送用ベルトコンベアBの上面に載置された状態で図1における矢印Yの方向へ搬送されており、そのワークWから上方へ離れた所に、実施形態に係る光学的情報読取装置1が設置されている。光学的情報読取装置1は、ワークWに付されているコードを撮像し、撮像された画像に含まれるコードをデコード処理して情報を読み取ることができるように構成されたコードリーダである。光学的情報読取装置1は、その運用時に動かないようにブラケット等(図示せず)に固定して使用してもよいし、ロボット(図示せず)や使用者等が把持して動かしながら運用してもよい。また、静止状態にあるワークWのコードを光学的情報読取装置1によって読み取るようにしてもよい。運用時とは、搬送用ベルトコンベアBによって搬送されるワークWのコードを順に読み取る動作を行っている時である。
また、各ワークWの上面にはコードが付されている。コードには、バーコード及び二次元コードの両方が含まれる。二次元コードとしては、たとえば、QRコード(登録商標)、マイクロQRコード、データマトリクス(Data matrix;Data code)、ベリコード(Veri code)、アズテックコード(Aztec code)、PDF417、マキシコード(Maxi code)などがある。二次元コードにはスタック型とマトリクス型があるが、本発明はいずれの二次元コードに対しても適用できる。コードは、ワークWに直接印刷あるいは刻印することによって付してもよいし、ラベルに印刷した後にワークWに貼付することによって付してもよく、その手段、方法は問わない。
光学的情報読取装置1は、コンピュータ100及びプログラマブル・ロジック・コントローラ(PLC)101にそれぞれ信号線100a、101aによって有線接続されているが、これに限らず、光学的情報読取装置1、コンピュータ100及びPLC101に通信モジュールを内蔵し、光学的情報読取装置1と、コンピュータ100及びPLC101とを無線接続するようにしてもよい。PLC101は、搬送用ベルトコンベアB及び光学的情報読取装置1をシーケンス制御するための制御装置であり、汎用のPLCを利用することができる。コンピュータ100は、汎用あるいは専用の電子計算機や携帯型端末等を利用することができる。
また、光学的情報読取装置1は、その運用時において、PLC101から信号線101aを介して、コード読取の開始タイミングを規定する読取開始トリガ信号を受信する。そして、光学的情報読取装置1は、この読取開始トリガ信号に基づいてコードの撮像やデコードを行う。その後、デコードした結果は、信号線101aを介してPLC101へ送信される。このように、光学的情報読取装置1の運用時には、光学的情報読取装置1とPLC101等の外部制御装置との間で、信号線101aを介して読取開始トリガ信号の入力とデコード結果の出力が繰り返し行われる。なお、読取開始トリガ信号の入力やデコード結果の出力は、上述したように、光学的情報読取装置1とPLC101との間の信号線101aを介して行ってもよいし、それ以外の図示しない信号線を介して行ってもよい。例えば、ワークの到着を検知するためのセンサと光学的情報読取装置1とを直接的に接続し、そのセンサから光学的情報読取装置1へ読取開始トリガ信号を入力するようにしてもよい。
[光学的情報読取装置1の全体構成]
図2〜図6に示すように、光学的情報読取装置1は、装置本体2と、偏光フィルタアタッチメント3とを備えている。偏光フィルタアタッチメント3は省略してもよい。装置本体2には、照明部4と、撮像部5と、表示部6と、電源コネクタ7と、信号線コネクタ8とが設けられている。さらに、装置本体2には、図5に示すインジケータ9と、図3に示すエイマー10と、図5に示すセレクトボタン11と、エンターボタン12とが設けられている。
図2〜図6に示すように、光学的情報読取装置1は、装置本体2と、偏光フィルタアタッチメント3とを備えている。偏光フィルタアタッチメント3は省略してもよい。装置本体2には、照明部4と、撮像部5と、表示部6と、電源コネクタ7と、信号線コネクタ8とが設けられている。さらに、装置本体2には、図5に示すインジケータ9と、図3に示すエイマー10と、図5に示すセレクトボタン11と、エンターボタン12とが設けられている。
この実施形態の説明では、図2〜図6に示すように光学的情報読取装置1の前面、後面、上面、下面、左面、右面を定義するが、これは説明の便宜を図るためだけであり、光学的情報読取装置1の使用時における向きを限定するものではない。すなわち、図1に示すように、光学的情報読取装置1の前面が下に向くように設置して使用することや、光学的情報読取装置1の前面が上に向くように設置して使用すること、あるいは光学的情報読取装置1の前面が傾斜した状態となるように設置して使用すること等が可能である。また、光学的情報読取装置1の左右方向は幅方向と呼ぶこともできる。
装置本体2は、上下方向に長い略矩形箱状をなすケーシング2aを備えている。ケーシング2aの内部には、図11に示す制御ユニット29やデコード部31等が設けられている。図2及び図6に示すように、ケーシング2aの前面に偏光フィルタアタッチメント3が着脱可能に取り付けられている。また、ケーシング2aの前面には、光学的情報読取装置1の前方へ向けて光を照射することによってワークWの少なくともコードを照明する照明部4と、光学的情報読取装置1の前方にあるワークWの少なくともコードを撮像する撮像部5とが設けられている。さらに、ケーシング2aの前面には、発光ダイオード(LED)等の発光体で構成されたエイマー10が設けられている。このエイマー10は、光学的情報読取装置1の前方へ向けて光を照射することによって撮像部5による撮像範囲や照明部4の光軸の目安を示すためのものである。使用者は、エイマー10から照射される光を参照して光学的情報読取装置1を設置することもできる。
ケーシング2aの上面には表示部6が設けられている。また、ケーシング2aの上面には、光学的情報読取装置1の設定時等に使用するセレクトボタン11及びエンターボタン12とが設けられている。セレクトボタン11及びエンターボタン12は制御ユニット29に接続されていて、制御ユニット29はセレクトボタン11及びエンターボタン12の操作状態を検出可能になっている。セレクトボタン11は、表示部6に表示された複数の選択肢の中から1つを選択する際に操作するボタンである。エンターボタン12は、セレクトボタン11で選択した結果を確定する際に操作するボタンである。
さらに、ケーシング2aの上面の左右両側には、それぞれインジケータ9が設けられている。インジケータ9は、制御ユニット29に接続されていて、たとえば発光ダイオード等の発光体で構成することができる。光学的情報読取装置1の作動状態をインジケータ9の点灯状態によって外部に報知することができる。
ケーシング2aの下面には、光学的情報読取装置1に電力を供給するための電力配線が接続される電源コネクタ7と、コンピュータ100及びPLC101に接続される信号線100a、101a用のEthernetコネクタ8とが設けられている。尚、Ethernet規格は一例であり、Ethernet規格以外の規格の信号線を利用することもできる。
[照明部4の構成]
照明部4は、図7及び図8に示すリフレクタ15と、図3等に示す複数の第1発光ダイオード16及び複数の第2発光ダイオード17とを備えている。第1発光ダイオード16と第2発光ダイオード17とは、制御ユニット29に電気的に接続されていて制御ユニット29により個別に制御され、別々に点灯及び消灯させることができるようになっている。
照明部4は、図7及び図8に示すリフレクタ15と、図3等に示す複数の第1発光ダイオード16及び複数の第2発光ダイオード17とを備えている。第1発光ダイオード16と第2発光ダイオード17とは、制御ユニット29に電気的に接続されていて制御ユニット29により個別に制御され、別々に点灯及び消灯させることができるようになっている。
図7及び図8に示すように、リフレクタ15は、光学的情報読取装置1の前面の上部から下部に亘って延びる板状をなしている。第1発光ダイオード16及び第2発光ダイオード17はそれぞれ7つ設けられているが、第1発光ダイオード16及び第2発光ダイオード17の数はこれに限られるものではない。第1発光ダイオード16及び第2発光ダイオード17はリフレクタ15の後側に配置されて前方へ光を照射するように光軸が設定されている。リフレクタ15の上下方向中間部には、撮像部5を外部に臨ませるための撮像用開口部15aが形成されている。リフレクタ15における撮像用開口部15aの左右両側には、それぞれエイマー10の光を通すためのエイマー用開口部15bが形成されている。
リフレクタ15における撮像用開口部15aよりも下側部分には、第1発光ダイオード16の光を通すとともに前方へ集光して照射するための第1孔15cが第1発光ダイオード16の数と同じだけ、即ち7つ形成されている。これら第1孔15cは同じ形状とされており、前側へ向かって次第に拡径するコーン形状をなしている。第1孔15cの内面は、光の反射率を高めるために金メッキ等のメッキ処理が施されている。
7つの第1孔15cのうち、4つの第1孔15cは、光学的情報読取装置1の左右方向(幅方向)に並ぶように配置されている。残りの3つの第1孔15cは、その中心が上記4つの第1孔15cの中心よりも下に位置するように、かつ、上記4つの第1孔15cのうち、隣合う第1孔15c、15cの中心間にそれぞれ位置するように配置されている。これにより、7つの第1孔15cを密に配置することができる。第1発光ダイオード16は、各第1孔15cの中心に配置される。
リフレクタ15における撮像用開口部15aよりも上側部分には、第2発光ダイオード17の光を通すとともに前方へ集光して照射するための第2孔15dが第2発光ダイオード17の数と同じだけ、即ち7つ形成されている。これら第2孔15dは第1孔15cと同じ形状とされており、第2孔15dの内面には第1孔15cと同様なメッキ処理が施されている。
7つの第2孔15dのうち、4つの第2孔15dは、光学的情報読取装置1の左右方向(幅方向)に並ぶように配置されている。残りの3つの第2孔15dは、その中心が上記4つの第2孔15dの中心よりも上に位置するように、かつ、上記4つの第2孔15dのうち、隣合う第2孔15d、15dの中心間にそれぞれ位置するように配置されている。これにより、7つの第2孔15dを密に配置することができる。第2発光ダイオード17は、各第2孔15dの中心に配置される。
照明部4は撮像部5と別体に構成されていてもよい。この場合、照明部4と撮像部5とを有線または無線接続することができる。また、後述する制御ユニット29は、照明部4に内蔵されていてもよいし、撮像部5に内蔵されていてもよい。
[偏光フィルタアタッチメント3の構成]
図6に示すように、偏光フィルタアタッチメント3は、枠部材20と、透光パネル21とを備えている。枠部材20は、光学的情報読取装置1の前面の外形状に略一致する外形状を有している。この枠部材20の内部に、透光パネル21が設けられている。透光パネル21は、照明部4の第1発光ダイオード16及び第2発光ダイオード17を前方から覆うとともに、撮像部5も前方から覆うように形成されている。図9及び図10に示すように、透光パネル21における第1発光ダイオード16を覆う部分、即ち下側部分21aは第1発光ダイオード16の光を出射する部分であり、この下側部分21aは、無色透明で偏光フィルタを有していない部分である。一方、透光パネル21における第2発光ダイオード17を覆う部分、即ち上側部分21bは第2発光ダイオード17の光を出射する部分であり、この上側部分21bは、偏光フィルタが設けられた部分である。さらに、透光パネル21における下側部分21aと上側部分21bとの間の中間部分21cは撮像部5を覆う部分であり、撮像部5に入射する光が透過する部分である。中間部分21cも偏光フィルタが設けられた部分である。上側部分21bの偏光フィルタの偏光方向と、中間部分21cの偏光フィルタの偏光方向とは、たとえば90度異なっている。図9及び図10では、偏光フィルタが設けられている部分を薄く着色して示している。図2、図3及び図6では偏光フィルタが設けられている部分を無着色としているが、実際には図9や図10と同様に薄く着色される。
図6に示すように、偏光フィルタアタッチメント3は、枠部材20と、透光パネル21とを備えている。枠部材20は、光学的情報読取装置1の前面の外形状に略一致する外形状を有している。この枠部材20の内部に、透光パネル21が設けられている。透光パネル21は、照明部4の第1発光ダイオード16及び第2発光ダイオード17を前方から覆うとともに、撮像部5も前方から覆うように形成されている。図9及び図10に示すように、透光パネル21における第1発光ダイオード16を覆う部分、即ち下側部分21aは第1発光ダイオード16の光を出射する部分であり、この下側部分21aは、無色透明で偏光フィルタを有していない部分である。一方、透光パネル21における第2発光ダイオード17を覆う部分、即ち上側部分21bは第2発光ダイオード17の光を出射する部分であり、この上側部分21bは、偏光フィルタが設けられた部分である。さらに、透光パネル21における下側部分21aと上側部分21bとの間の中間部分21cは撮像部5を覆う部分であり、撮像部5に入射する光が透過する部分である。中間部分21cも偏光フィルタが設けられた部分である。上側部分21bの偏光フィルタの偏光方向と、中間部分21cの偏光フィルタの偏光方向とは、たとえば90度異なっている。図9及び図10では、偏光フィルタが設けられている部分を薄く着色して示している。図2、図3及び図6では偏光フィルタが設けられている部分を無着色としているが、実際には図9や図10と同様に薄く着色される。
つまり、第1発光ダイオード16から照射された光は偏光フィルタを通過せずにワークWに達する一方、第2発光ダイオード17から照射された光は偏光フィルタを通過してワークWに達する。そして、ワークWからの反射光は偏光フィルタを通過して撮像部5に入射することになる。
従って、使用者が偏光フィルタアタッチメント3を取り外さなくても、光学的情報読取装置1が第1発光ダイオード16と第2発光ダイオード17のどちらを点灯させるかを電気的に切り替えることで、様々なワークWに容易に対応することができる。具体的には、偏光フィルタが無い方がより有利なワークW(たとえば鋳物等)については第1発光ダイオード16を点灯させて第2発光ダイオード17を消灯させる。一方、偏光フィルタが有る方がより有利なワークW(たとえばプリント基板やフライス加工面、黒色樹脂等に二次元コードが付されている場合)については第1発光ダイオード16を消灯させて第2発光ダイオード17を点灯させる。
[撮像部5の構成]
図11は光学的情報読取装置1の構成を示すブロック図である。図11に示すように、撮像部5は、ワークWに付されていて上記照明部4によって照明されているコードを撮像する撮像素子5aと、レンズ等を有する光学系5bと、オートフォーカス機構(AF機構)5cとを備えている。光学系5bには、ワークWのコードが付された部分から反射した光が入射するようになっている。撮像素子5aは、光学系5bを通して得られたコードの画像を電気信号に変換するCCD(charge-coupled device)やCMOS(complementary metal oxide semiconductor)等の受光素子からなるイメージセンサである。撮像素子5aは制御ユニット29に接続されていて、撮像素子5aによって変換された電気信号は、制御ユニット29に入力される。また、AF機構5cは、光学系5bを構成するレンズのうち、合焦用レンズの位置や屈折率を変更することによってピント合わせを行う機構である。AF機構5cも制御ユニット29に接続され、制御ユニット29のAF制御部29aにより制御される。
図11は光学的情報読取装置1の構成を示すブロック図である。図11に示すように、撮像部5は、ワークWに付されていて上記照明部4によって照明されているコードを撮像する撮像素子5aと、レンズ等を有する光学系5bと、オートフォーカス機構(AF機構)5cとを備えている。光学系5bには、ワークWのコードが付された部分から反射した光が入射するようになっている。撮像素子5aは、光学系5bを通して得られたコードの画像を電気信号に変換するCCD(charge-coupled device)やCMOS(complementary metal oxide semiconductor)等の受光素子からなるイメージセンサである。撮像素子5aは制御ユニット29に接続されていて、撮像素子5aによって変換された電気信号は、制御ユニット29に入力される。また、AF機構5cは、光学系5bを構成するレンズのうち、合焦用レンズの位置や屈折率を変更することによってピント合わせを行う機構である。AF機構5cも制御ユニット29に接続され、制御ユニット29のAF制御部29aにより制御される。
[表示部6の構成]
表示部6は、たとえば有機ELディスプレイや液晶ディスプレイ等からなるものである。表示部6は、制御ユニット29に接続され、たとえば撮像部5で撮像された画像、撮像部5で撮像されたコード、コードのデコード結果である文字列、読み取り成功率、マッチングレベル等を表示させることができる。読み取り成功率とは、複数回読み取り処理を実行したときの平均読み取り成功率であり、デコード部31によるコードのデコード処理のし易さを示すスコアである。また、マッチングレベルとは、デコードが成功したコードの読み取りのしやすさを示す読取余裕度であり、これもデコード部31によるコードのデコード処理のし易さを示すスコアである。マッチングレベルは、デコード時に発生した誤り訂正の数等から求めることができ、たとえば数値で表すことができる。誤り訂正が少なければ少ないほどマッチングレベル(読取余裕度)が高くなり、一方、誤り訂正が多ければ多いほどマッチングレベル(読取余裕度)が低くなる。
表示部6は、たとえば有機ELディスプレイや液晶ディスプレイ等からなるものである。表示部6は、制御ユニット29に接続され、たとえば撮像部5で撮像された画像、撮像部5で撮像されたコード、コードのデコード結果である文字列、読み取り成功率、マッチングレベル等を表示させることができる。読み取り成功率とは、複数回読み取り処理を実行したときの平均読み取り成功率であり、デコード部31によるコードのデコード処理のし易さを示すスコアである。また、マッチングレベルとは、デコードが成功したコードの読み取りのしやすさを示す読取余裕度であり、これもデコード部31によるコードのデコード処理のし易さを示すスコアである。マッチングレベルは、デコード時に発生した誤り訂正の数等から求めることができ、たとえば数値で表すことができる。誤り訂正が少なければ少ないほどマッチングレベル(読取余裕度)が高くなり、一方、誤り訂正が多ければ多いほどマッチングレベル(読取余裕度)が低くなる。
[デコード部31の構成]
光学的情報読取装置1は、撮像素子5aにより撮像された画像に含まれるコード位置を検出するとともに、検出されたコードにデコード処理を行うデコード部31を有している。具体的に、デコード部31は、白黒の二値化されたデータをデコードするように構成されており、デコードの際には、符号化されたデータの対照関係を示すテーブルを使用することができる。さらに、デコード部31は、デコードした結果が正しいか否かを所定のチェック方式に従ってチェックする。データに誤りが発見された場合にはエラー訂正機能を使用して正しいデータを演算する。エラー訂正機能はコードの種類によって異なる。
光学的情報読取装置1は、撮像素子5aにより撮像された画像に含まれるコード位置を検出するとともに、検出されたコードにデコード処理を行うデコード部31を有している。具体的に、デコード部31は、白黒の二値化されたデータをデコードするように構成されており、デコードの際には、符号化されたデータの対照関係を示すテーブルを使用することができる。さらに、デコード部31は、デコードした結果が正しいか否かを所定のチェック方式に従ってチェックする。データに誤りが発見された場合にはエラー訂正機能を使用して正しいデータを演算する。エラー訂正機能はコードの種類によって異なる。
デコード部31は、コードをデコードして得られたデコード結果を記憶装置35に書き込むように構成されている。また、デコード部31では、デコード前の画像に対して各種画像処理フィルタ等の画像処理を行う。
デコード部31が、撮像素子5aにより撮像された画像に含まれるコード位置を検出する際には、撮像素子5aにより撮像された画像内においてコードを探索し、コードが探索されたら、探索されたコードのたとえば中心部を推定し、その中心部のX座標とY座標を求める。コードの位置を検出する方法は、これに限られるものではなく、たとえばコードの端部のX座標とY座標を求めるようにしてもよい。
[スコア算出部30の構成]
光学的情報読取装置1は、デコード部31によるコードのデコード処理のし易さを示すスコアを算出するスコア算出部30を有している。デコード部31によるコードのデコード処理のし易さについては次のように判定することができる。たとえば平均読み取り成功率が高い場合や、読み取りの誤りが少ない場合は、デコード処理がし易い場合であり、反対に、読み取り成功率が低い場合や、読み取りの誤りが多い場合には、デコード処理がし難い場合となる。上述した平均読み取り成功率を、デコード部31によるコードのデコード処理のし易さを示すスコアとしてもよいし、マッチングレベルを、デコード部31によるコードのデコード処理のし易さを示すスコアとしてもよい。マッチングレベルは、たとえば0〜100の値で示すことができ、数値が大きくなるほどマッチングレベルが高くなる。
光学的情報読取装置1は、デコード部31によるコードのデコード処理のし易さを示すスコアを算出するスコア算出部30を有している。デコード部31によるコードのデコード処理のし易さについては次のように判定することができる。たとえば平均読み取り成功率が高い場合や、読み取りの誤りが少ない場合は、デコード処理がし易い場合であり、反対に、読み取り成功率が低い場合や、読み取りの誤りが多い場合には、デコード処理がし難い場合となる。上述した平均読み取り成功率を、デコード部31によるコードのデコード処理のし易さを示すスコアとしてもよいし、マッチングレベルを、デコード部31によるコードのデコード処理のし易さを示すスコアとしてもよい。マッチングレベルは、たとえば0〜100の値で示すことができ、数値が大きくなるほどマッチングレベルが高くなる。
また、デコード部31によるコードのデコード処理のし易さを示すスコアとしては、たとえばコードの読み取りに要する時間に基づいて算出することもできる。コードの読み取りに要する時間が長いということはコードのデコード処理がしにくい場合であり、一方、コードの読み取りに要する時間が短くて済むということはコードのデコード処理がし易い場合である。この場合のスコアは、コードの読み取りに要する時間をそのままスコアとして用いてもよいし、最も時間がかかった場合を「0」とし、最も短かった場合を「100」として0〜100の値をスコアとして用いてもよい。
デコード部31によるコードのデコード処理のし易さを示すスコアは上述したものに限られるものではなく、各種の算出方法に基づいて得られたスコアを用いることができる。
また、たとえばワークWが撮像視野内を移動すると、ワークWに付されているコードの位置が変更されることになる。このコード位置が変更されると、変更後のコードについてもスコア算出部30によってスコアの算出がなされることになる。
[領域決定部33の構成]
光学的情報読取装置1は、撮像素子5aによって撮像された撮像視野内において、スコア算出部30によってスコアを算出するコードが含まれる所定の大きさの領域を決定する領域決定部33を有している。スコア算出部30によってスコアを算出するコードの撮像視野内における位置は、上述したようにデコード部31によって検出されるようになっている。撮像視野は予め複数の領域に分割されており、領域決定部33はデコード部31の検出結果に基づいて検出されたコード位置が複数の領域の中のどの領域に属するかを決定する。すなわち、たとえば図19に示すように矩形の撮像視野の場合、撮像視野を縦横にそれぞれ5分割して合計25個の領域に分割しておき、スコア算出部30によってスコアを算出するコードの位置がどの領域にあるかを検出して当該コードが属する領域を決定することができる。撮像視野の分割数は上記した値に限られるものではなく、撮像視野を縦横にそれぞれ3分割、9分割等することも可能である。撮像視野の分割数は使用者が選択することも可能である。領域決定部33により決定された各領域に対応するスコアは後述するスコア記憶部35dの対応するメモリ空間に個別に記憶される。
光学的情報読取装置1は、撮像素子5aによって撮像された撮像視野内において、スコア算出部30によってスコアを算出するコードが含まれる所定の大きさの領域を決定する領域決定部33を有している。スコア算出部30によってスコアを算出するコードの撮像視野内における位置は、上述したようにデコード部31によって検出されるようになっている。撮像視野は予め複数の領域に分割されており、領域決定部33はデコード部31の検出結果に基づいて検出されたコード位置が複数の領域の中のどの領域に属するかを決定する。すなわち、たとえば図19に示すように矩形の撮像視野の場合、撮像視野を縦横にそれぞれ5分割して合計25個の領域に分割しておき、スコア算出部30によってスコアを算出するコードの位置がどの領域にあるかを検出して当該コードが属する領域を決定することができる。撮像視野の分割数は上記した値に限られるものではなく、撮像視野を縦横にそれぞれ3分割、9分割等することも可能である。撮像視野の分割数は使用者が選択することも可能である。領域決定部33により決定された各領域に対応するスコアは後述するスコア記憶部35dの対応するメモリ空間に個別に記憶される。
各領域は、撮像素子5aによって撮像された撮像視野の広さよりも狭く、撮像視野内に複数区画できるように面積が規定される。領域決定部33が決定する領域の形状は、たとえば矩形、丸形、自由曲線で囲まれた形等とすることができ、領域の形状は特に限定されるものではない。
デコード部31により検出されたコードが複数の領域に跨っている場合は、コードの面積が最も多く含まれる領域に当該コードは属するものとして判定してもよいし、全ての領域に当該コードが属するものとして判定してもよい。
ワークWが撮像視野内を移動してコード位置が変更されると、位置変更後のコードについてもスコア算出部30によってスコアの算出がなされることになるので、領域決定部33は、位置変更後のコードが含まれる領域を撮像視野内で決定する。つまり、撮像視野内においてコード位置の変更がなされることによって領域決定部33がコード位置を複数の異なる領域に属するものとして順次決定していく。これにより、ユーザは撮像視野内においてコード位置を意図的に変更しながら、各領域に対応するスコアを表示上で確認し、スコアが高く読み取りがし易い領域と、スコアが低く読み取りがし難い領域とを把握することができる。
なお、領域決定部33によるコード位置の領域決定処理は、必ずしも撮像視野内のコード位置の変更に伴って順次に実行される必要はない。例えばユーザの指示に基づいて、各コード位置におけるスコアが算出された後に、各コードの位置がどの領域に属するかを決定する処理が一括で実行されるようにしてもよい。
おり、そのデコード部31の検出結果に基づいて領域決定部33は、撮像視野内におけるコードの位置を得る。そして、領域決定部33は、スコア算出部30によってスコアを算出するコードが含まれる領域を、撮像視野内に区画することによって当該領域を決定する。この領域は、撮像素子5aによって撮像された撮像視野の広さよりも狭く、撮像視野内に複数区画できるように面積が規定される。領域決定部33が決定する領域の形状は、たとえば矩形、丸形、自由曲線で囲まれた形等とすることができ、領域の形状は特に限定されるものではない。
おり、そのデコード部31の検出結果に基づいて領域決定部33は、撮像視野内におけるコードの位置を得る。そして、領域決定部33は、スコア算出部30によってスコアを算出するコードが含まれる領域を、撮像視野内に区画することによって当該領域を決定する。この領域は、撮像素子5aによって撮像された撮像視野の広さよりも狭く、撮像視野内に複数区画できるように面積が規定される。領域決定部33が決定する領域の形状は、たとえば矩形、丸形、自由曲線で囲まれた形等とすることができ、領域の形状は特に限定されるものではない。
また、たとえばワークWが撮像視野内を移動してコード位置が変更されると、位置変更後のコードについてもスコア算出部30によってスコアの算出がなされることになるので、領域決定部33は、位置変更後のコードが含まれる領域を撮像視野内で決定する。つまり、撮像視野内においてコード位置の変更がなされることによって領域決定部33が複数の異なる領域を順次決定する場合がある。
また、領域決定部33は、スコア算出部30によってスコアを算出するコードが、撮像視野(図19に示す)を予め分割することによって形成された複数の既定の領域のどれに属するかを決定するように構成されていてもよい。すなわち、たとえば図19に示すように矩形の撮像視野の場合、撮像視野を縦横にそれぞれ5分割して合計25個の領域に分割しておき、スコア算出部30によってスコアを算出するコードの位置がどの領域にあるかを検出して当該コードが属する領域を決定することができる。撮像視野の分割数は上記した値に限られるものではなく、撮像視野を縦横にそれぞれ3分割、9分割等することも可能である。撮像視野の分割数は使用者が選択することも可能である。
[通信部32の構成]
光学的情報読取装置1は通信部32を有している。通信部32は、コンピュータ100及びPLC101と通信を行う部分である。通信部32は、コンピュータ100及びPLC101と接続されるI/O部、RS232C等のシリアル通信部、無線LANや有線LAN等のネットワーク通信部を有していてもよい。
光学的情報読取装置1は通信部32を有している。通信部32は、コンピュータ100及びPLC101と通信を行う部分である。通信部32は、コンピュータ100及びPLC101と接続されるI/O部、RS232C等のシリアル通信部、無線LANや有線LAN等のネットワーク通信部を有していてもよい。
[制御ユニット29の構成]
図11に示す制御ユニット29は、光学的情報読取装置1の各部を制御するためのユニットであり、CPUやMPU、システムLSI、DSPや専用ハードウエア等で構成することができる。制御ユニット29は、後述するように様々な機能を搭載しているが、これらは論理回路によって実現されていてもよいし、ソフトウエアを実行することによって実現されていてもよい。
図11に示す制御ユニット29は、光学的情報読取装置1の各部を制御するためのユニットであり、CPUやMPU、システムLSI、DSPや専用ハードウエア等で構成することができる。制御ユニット29は、後述するように様々な機能を搭載しているが、これらは論理回路によって実現されていてもよいし、ソフトウエアを実行することによって実現されていてもよい。
制御ユニット29は、AF制御部29aと、撮像制御部29bと、チューニング部29cと、処理部29dと、UI管理部29eと、指示受付部29fとを有している。AF制御部29aは、AF機構5cを制御するユニットであり、従来から周知のコントラストAFや位相差AFによって光学系5bのピント合わせを行うことができるように構成されている。
撮像制御部29bは、ゲインを調整したり、照明部4の光量を制御したり、撮像素子5aの露光時間(シャッタースピード)を制御するユニットである。ここで、ゲインとは、撮像素子5aから出力された画像の明るさをデジタル画像処理によって増幅する際の増幅率(倍率とも呼ばれる)のことである。照明部4の光量については、第1発光ダイオード16と第2発光ダイオード17を別々に制御して変更することができる。ゲイン、照明部4の光量及び露光時間は、撮像部5の撮像条件である。
チューニング部29cは、ゲイン、照明部4の光量及び露光時間等の撮像条件や、デコード部31における画像処理条件を変更するユニットである。デコード部31における画像処理条件とは、画像処理フィルタの係数(フィルタの強弱)や、複数の画像処理フィルタがある場合に画像処理フィルタの切替、種類の異なる画像処理フィルタの組み合わせ等である。搬送時のワークWに対する外光の影響や、コードが付されている面の色及び材質等によって適切な撮像条件及び画像処理条件は異なる。よって、チューニング部29cは、より適切な撮像条件及び画像処理条件を探索して、AF制御部29a、撮像制御部29b、デコード部31による処理を設定する。画像処理フィルタは、従来から周知の各種フィルタを使用することができる。
処理部29dは、撮像素子5aによる撮像処理と、デコード部31によるコード位置の検出処理及びデコード処理と、スコア算出部30によるスコア算出処理と、領域決定部33による領域の決定処理とを繰り返して行う読取テストモードを実行するように構成されている。読取テストモードについては後述するフローチャートに基づいて詳細に説明するが、概略は以下の通りである。
すなわち、読取テストモードでは、まず、撮像処理によって得られた撮像された画像に含まれるコード位置をデコード部31によって検出するとともにそのコードをデコード処理する。そして、デコード処理のし易さを示すスコアをスコア算出部30において算出するとともに、スコアを算出するコードが含まれる領域を領域決定部33において決定する。スコア算出処理と、領域の決定処理とはどちらを先に行ってもよいし、並行して行ってもよい。
読取テストモードでは、たとえば撮像視野内における第1の位置にコードがあるとした場合、その第1の位置が含まれる領域を決定するとともに第1の位置におけるスコア算出処理を行い、その後、コード位置の変更があって撮像視野内における第1の位置とは異なる第2の位置にコードがあるとした場合、その第2の位置におけるコードを撮像した画像に基づいてコードが含まれる領域を決定するとともに第2の位置におけるスコア算出処理を行う。その後、コード位置が第3の位置に変更になった場合にも同様な処理を行う。このようにして、撮像処理、コード位置の検出処理、デコード処理、スコア算出処理及び領域の決定処理を少なくとも2サイクルは行う。
図11に示すUI管理部29eは、表示部6に、各種ユーザーインターフェース、撮像部5で撮像されたコード、コードのデコード結果である文字列、読み取り成功率、マッチングレベル等を表示させたり、セレクトボタン11及びエンターボタン12からの入力を受け付けたり、インジケータ9の点灯を制御するユニットである。
指示受付部29fは、処理部29dに上記読取テストモードを実行させる実行指示を受け付ける部分である。指示受付部29fは、ソフトウエアによってユーザーインターフェース上に構成される仮想的なボタン類や、入力欄に対するON/OFF操作部等で構成することができる。この場合、コンピュータ100に設けられたキーボードやマウス等の入力デバイスによって操作することができる。入力方法は特に限定されるものではなく、表示画面に設けられたタッチパネルやタッチスクリーンを利用することや、音声入力を利用することもできる。また、指示受付部29fは、物理的なボタン等であってもよく、たとえばセレクトボタン11やエンターボタン12等を使用することもできる。
[記憶装置35の構成]
記憶装置35は、メモリやハードディスク等で構成されている。記憶装置35には、デコード結果記憶部35aと、画像データ記憶部35bと、パラメータセット記憶部35cと、スコア記憶部35dとが設けられている。デコード結果記憶部35aは、デコード部31によりデコードされた結果であるデコード結果を記憶する部分である。画像データ記憶部35bは、撮像素子5aによって撮像された画像を記憶する部分である。
記憶装置35は、メモリやハードディスク等で構成されている。記憶装置35には、デコード結果記憶部35aと、画像データ記憶部35bと、パラメータセット記憶部35cと、スコア記憶部35dとが設けられている。デコード結果記憶部35aは、デコード部31によりデコードされた結果であるデコード結果を記憶する部分である。画像データ記憶部35bは、撮像素子5aによって撮像された画像を記憶する部分である。
スコア記憶部35dは、デコード処理のし易さを示すスコアと、スコアを算出したコード位置が含まれる領域とを関連付けて記憶することが可能に構成された部分である。上述したように、処理部29dによる読取テストモードの実行時に、撮像視野内においてコード位置の変更がなされると、領域決定部33により複数の異なる領域が順次決定される。また、各領域におけるコードのデコード処理のし易さを示すスコアがスコア算出部30により算出される。スコア算出部30により算出されたスコアと、このスコアが算出された領域、即ちスコアに対応する領域とを関連付けてスコア記憶部35dに記憶することができる。たとえば、第1の位置で算出されたスコアと、第1の位置が含まれる領域とを関連付けて記憶しておく。第2の位置、第3の位置についても同様である。したがって、スコア記憶部35dは、予め分割された撮像視野内の各領域に対応するメモリを備え、各領域に対応するスコアを、各領域に対応するメモリに記憶するように構成されている。
図11に示すパラメータセット記憶部35cは、コンピュータ100等の設定装置によって設定された設定情報やセレクトボタン11及びエンターボタン12によって設定された設定情報等を記憶する部分である。パラメータセット記憶部35cには、撮像部5の撮像条件(ゲイン、照明部4の光量及び露光時間等)と、デコード部31における画像処理条件(画像処理フィルタの種類等)との少なくとも一方を構成する複数のパラメータを含むパラメータセットを記憶することができる。この実施形態では、図13に示すパラメータセット表示フォーマット46の中に、バンク1〜5として表示するように、撮像部5の撮像条件を構成するパラメータ及びデコード部31における画像処理条件を構成するパラメータがセットになったパラメータセットを複数通り記憶することができるように構成されている。バンク1〜5には異なるパラメータセットを記憶させることができ、たとえばワークWが異なる場合等に対応することができる。バンクの数は任意に設定することができる。
この光学的情報読取装置1では、パラメータセット記憶部35cに記憶されている複数のパラメータセットのうち、一のパラメータセットから他のパラメータセットに切り替えることができるように構成されている。パラメータセットの切替は、使用者が行うこともできるし、PLC101で行うように構成することもできる。パラメータセットの切替を使用者が行う場合には、図13に示すユーザーインターフェースに組み込まれているパラメータセット切替部46bを操作すればよい。パラメータセット切替部46bを「有効」にすることで、そのバンクのパラメータセットが光学的情報読取装置1の運用時に使用され、また、パラメータセット切替部46bを「無効」にすることで、そのバンクのパラメータセットが光学的情報読取装置1の運用時に使用されないようになる。つまり、パラメータセット切替部46bは、一のパラメータセットから他のパラメータセットに切り替えるためのものである。尚、パラメータセット切替部46bの形態は図示した形態に限られるものではなく、たとえばボタン等、各種の形態を使用することができる。
ここで、図13に示すパラメータセット46について、補足説明する。図13では、「共通」パラメータとして、「オルタネート」(複数登録したパラメータセットを自動的に切り換えながら撮像・デコードを試行する機能)や「バンク内リトライ回数」(オルタネートするまでに行う撮像・デコードの回数)などが含まれている。「コード」パラメータとしては、「コード詳細設定」(読取を行うコード種別)や「桁限定出力機能」(読取データの出力桁を限定する機能)などが含まれている。「照明」パラメータとしては、「内部照明の使用」(光学的情報読取装置1に内蔵されている照明の使用有無)、「外部照明の使用」(光学的情報読取装置1に外付けされている照明の使用有無)及び「偏光フィルタ」(後述する偏光モードを有効にするか否か)が含まれている。「撮像」パラメータとしては、「露光時間」(撮像時の露光時間μs)、「ゲイン」(撮像時のゲイン)及び「コントラスト調整方式」(上述した「HDR」、「超HDR」、「標準特性」及び「コントラスト強調特性」のいずれか)が含まれている。さらに、「画像処理フィルタ」パラメータとして、「1番目画像処理フィルタ」(1番目に実行する画像フィルタの種別)や「1番目画像処理フィルタ回数」(1番目の画像フィルタを実行する回数)などが含まれている。
図13では、バンク1〜5において、上述した「コントラスト調整方式」は、それぞれ「HDR」「コントラスト強調」「標準」「超HDR」「HDR」に設定されている。また、上述した「オルタネート」は、バンク1およびバンク2のみが「有効」となっている。したがって、光学的情報読取装置1は、まず、バンク1の設定内容であるコントラスト調整方式「HDR」を用いて、デコードを試みる。デコードに失敗した場合には、バンク1の設定内容からバンク2の設定内容に切り換えて、バンク2の設定内容であるコントラスト調整方式「コントラスト強調」を用いて、デコードを試みる。要するに、複数登録したパラメータセットを自動的に切り換えながらデコードを試みることで、自動的にコントラスト調整方式を切り替えながらデコードを試みることができ、ひいては読取精度を高めることができる。
なお、上述した「オルタネート」の順序は、種々の方法が考えられる。例えば、上述したように、1番から順番にバンクを切り換えてデコードを試行してもよい。その他にも、例えば、読み取り成功したバンクを優先するようにしてもよい。具体的には、読取に成功したバンクについては、次の読取時に優先的に設定されるようにしてもよい。これにより、例えばロット単位で印字状態が変わる場合に、読取タクトを短縮することができる。
[コンピュータ100の構成]
コンピュータ100は、図12にブロック図で示すように、CPU40と、記憶装置41と、表示部42と、入力部43と、通信部44とを備えている。光学的情報読取装置1を小型化することで、光学的情報読取装置1の表示部6やボタン11、12等だけでは、光学的情報読取装置1の全ての設定を行うことが困難になるので、光学的情報読取装置1とは別にコンピュータ100を用意し、コンピュータ100で光学的情報読取装置1の各種設定を行って設定情報を光学的情報読取装置1に転送するようにしてもよい。
コンピュータ100は、図12にブロック図で示すように、CPU40と、記憶装置41と、表示部42と、入力部43と、通信部44とを備えている。光学的情報読取装置1を小型化することで、光学的情報読取装置1の表示部6やボタン11、12等だけでは、光学的情報読取装置1の全ての設定を行うことが困難になるので、光学的情報読取装置1とは別にコンピュータ100を用意し、コンピュータ100で光学的情報読取装置1の各種設定を行って設定情報を光学的情報読取装置1に転送するようにしてもよい。
また、コンピュータ100と光学的情報読取装置1とを双方向通信可能に接続して、上述した光学的情報読取装置1の処理の一部をコンピュータ100で行うようにしてもよい。この場合、コンピュータ100の一部が光学的情報読取装置1の構成要素の一部になる。たとえばCPU40や表示部42を光学的情報読取装置1の構成要素の一部とすることもできる。
CPU40は、記憶装置41に記憶されているプログラムに基づいてコンピュータ100が備えている各部を制御するユニットである。記憶装置41は、メモリやハードディスク等で構成されている。表示部42は、たとえば液晶ディスプレイ等で構成されている。入力部43は、キーボードやマウス、表示部42に設けられたタッチスクリーンやタッチセンサ等で構成されている。通信部44は、光学的情報読取装置1と通信を行う部分である。通信部44は、光学的情報読取装置1と接続されるI/O部、RS232C等のシリアル通信部、無線LANや有線LAN等のネットワーク通信部を有していてもよい。
CPU40は、様々な演算を行う演算部40aを備えている。演算部40aには、UI制御部40bと設定部40cとが設けられている。UI制御部40bは、光学的情報読取装置1の撮像部5の撮像条件やデコード部31における画像処理条件等を設定するためのユーザーインターフェースや、光学的情報読取装置1から出力されたデコード結果、画像データ等を表示するためのユーザーインターフェースを生成し、表示部42に表示させる。設定部40cは、撮像部5の撮像条件及びデコード部31における画像処理条件を設定する。
また、CPU40は、光学的情報読取装置1のスコア記憶部35dに記憶された各領域に対応するスコアを、撮像素子5aが撮像した画像または撮像視野を模擬的に示した二次元マップM2(図20に示す)における対応する領域に同時に表示する。デコード処理のし易さを示すスコア、撮像素子5aが撮像した画像及び二次元マップM2は、表示部42に表示することができる。つまり、表示部42は、スコア記憶部35dに記憶された各領域に対応するスコアを、撮像素子5aが撮像した画像または撮像視野を模擬的に示した二次元マップM2における対応する領域に同時に表示可能に構成されている。
ここで、図20に示すように、二次元マップM2は、撮像視野(図19に示す)と同形状または撮像視野と相似形状の外形を持っており、縦横にそれぞれ複数分割して縦分割線L1及び横分割線L2を複数本表示させておくことができる。この二次元マップM2における分割線L1、L2の位置及び数は、領域決定部33によって領域を決定する際に撮像視野を予め分割しておく場合と同様な位置及び数とすることができる(図19参照)。つまり、領域決定部33によって領域を決定する際に撮像視野を縦横でそれぞれ5分割する場合には、二次元マップM2における分割線L1、L2はそれぞれ4本ずつになる。
撮像素子5aが撮像した画像を二次元マップM2と並べて表示可能に構成することもできる(図21参照)。また、撮像素子5aが撮像した画像と二次元マップM2とを重ねて表示可能に構成することもできる(図22参照)。
図12に示すコンピュータ100の記憶装置41は、デコード結果記憶部41aと、画像データ記憶部41bと、パラメータセット記憶部41cと、スコア記憶部41dとが設けられている。これら記憶部41a〜41dは、光学的情報読取装置1のデコード結果記憶部35aと、画像データ記憶部35bと、パラメータセット記憶部35cと、スコア記憶部35dと同様な情報を記憶する部分であり、光学的情報読取装置1の構成要素の一部とすることができる。
[設定時に実行される工程]
次に、上記のように構成された光学的情報読取装置1が設定時に実行する工程について説明する。以下に述べる工程は、光学的情報読取装置1の制御ユニット29が実行してもよいし、コンピュータ100のCPU40が光学的情報読取装置1の各部を制御しながら実行してもよい。この実施形態では、光学的情報読取装置1の制御ユニット29にチューニング部29cが設けられているので、制御ユニット29がチューニング工程を実行する。
次に、上記のように構成された光学的情報読取装置1が設定時に実行する工程について説明する。以下に述べる工程は、光学的情報読取装置1の制御ユニット29が実行してもよいし、コンピュータ100のCPU40が光学的情報読取装置1の各部を制御しながら実行してもよい。この実施形態では、光学的情報読取装置1の制御ユニット29にチューニング部29cが設けられているので、制御ユニット29がチューニング工程を実行する。
光学的情報読取装置1の設定時にはチューニング工程を実行し、チューニング工程が完了した後、光学的情報読取装置1の運用に移る。チューニング工程では、コンピュータ100のUI制御部40bが、図14に示すようなユーザーインターフェース45をコンピュータ100の表示部42に表示させる。図14に示すユーザーインターフェース45は、チューニング用インターフェースである。チューニング用インターフェース45には、モニタボタン45a、オートフォーカスボタン45b、チューニングボタン45c及び画像表示領域45dが組み込まれている。
使用者がコンピュータ100の入力部43を操作してモニタボタン45aをクリックすると、光学的情報読取装置1の撮像部5によって現在撮像されている画像が画像表示領域45dに表示され、この画像表示領域45dに表示される画像はほぼリアルタイムで更新される。使用者は、チューニング用インターフェース45の画像を見ながら、ワークWのコードCが画像表示領域45dに表示されるようにワークWを移動させる。
その後、使用者がチューニング用インターフェース45のオートフォーカスボタン45bをクリックすると、撮像部5のAF機構5cをAF制御部29aによって制御して図15に示すようにコードCにピントを合わせる。これにより、コードCが画像表示領域45d内にあることを確認できる。
使用者がチューニング用インターフェース45のチューニングボタン45cをクリックすると、チューニング工程が実行される。チューニング工程は、光学的情報読取装置1のセレクトボタン11及びエンターボタン12の操作によって実行することもできる。チューニング工程では、まず、チューニング部29cがコード探索を実行する。たとえば、チューニング部29cは撮像制御部29bに撮像を実行させて画像データを取得させ、画像データに基づきデコード部31に二次元コードの探索を実行させる。撮像制御部29bは、その時点で有効となっている読取条件(撮像素子5aについての撮像条件、照明部4の照明条件、デコード部31の画像処理条件など)をパラメータセット記憶部35cから読み出し、照明部4、撮像素子5a、デコード部31などの各部を設定する。デコード部31は撮像素子5aによって取得されて画像データ記憶部35bに記憶されている画像データから二次元コードを探索し、探索結果をチューニング部29cに出力する。照明条件には、偏光モードを有効にするのか、無偏光モードを有効にするのかを示す情報が含まれている。偏光モードは、第1発光ダイオード16を消灯させて第2発光ダイオード17を点灯させるモードであり、無偏光モードは、第1発光ダイオード16を点灯させて第2発光ダイオード17を消灯させるモードである。
そして、チューニング部29cは照明部4の明るさについて粗調整を実行する。本実施形態では、照明部4の明るさについて粗調整を実行し、偏光モードと無偏光モードのうち読み取り結果の優れた方を選択し、選択した照明モードについて明るさの微調整を実行するものとする。明るさを調整しているときには、図16に示すようなチューニング用インターフェース45が表示される。
その後、チューニング部29cはその時点で照明部4に設定されている照明モードとは異なる照明モードに切り替える。つまり、チューニング部29cは照明部4に偏光モードが設定されていれば無偏光モードに切り替え、無偏光モードが設定されていれば偏光モードに切り替える。
しかる後、チューニング部29cは二次元コードの読み取りテストを実行する。たとえば、チューニング部29cは撮像制御部29bに撮像を実行させて画像データを取得させ、デコード部31に二次元コードの探索を実行させる。ここでは、その時点で有効となっている読取条件のうち、照明モードだけが変更される。デコード部31は撮像素子5aによって取得されて画像データ記憶部35bに記憶されている画像データについて二次元コードを探索し、探索結果をチューニング部29cに出力する。
チューニング部29cはデコード部31の探索結果に基づき、読み取りテストに成功したかどうかを判定する。読取条件を変えながら読み取りテストを複数回実行したときは、1回でも読み取りに成功したかどうかを判定する。
読み取りに成功したら、チューニング部29cは各照明モードについて全部でN個(例:256個)の明るさレベルがあると仮定したとき、そのN個のうちのn個(例:27個)の明るさレベルのそれぞれについて読み取りテストを実行する。これにより、偏光モードについて27個の明るさレベルそれぞれについての読み取り結果が得られ、無偏光モードについて27個の明るさレベルそれぞれについての読み取り結果が得られる。なお、偏光モードと無偏光モードではチューニングの対象となる明るさレベルが異なってもよい。
偏光フィルタを透過することにより、偏光モードの明るさは無偏光モードの明るさの約半分になる。そこで、偏光モードの明るさレベルについてはN個のうちN/2レベル以上を割り当て、無偏光モードの明るさレベルについてはN個のうちN/2レベル未満を割り当ててもよい。これにより、N個のレベルのすべてを網羅的に探索する場合と比較して、読み取りテストの時間を半分に短縮できる。もちろん、時間短縮の要求がなければ、各照明モードにおいてN個のレベルのすべてを網羅的に探索してもよい。
そして、チューニング部29cは複数の照明モードのうちよりデコード結果が良好な照明モードを決定する。たとえば、チューニング部29cは各照明モードにおける読み取りテストの成功数を比較し、より多く成功した照明モードを決定する。たとえば、偏光モードでは27個の読み取りテストに成功し、無偏光モードでは10個の読み取りテストに成功した場合、偏光モードが選択される。なお、偏光モードの成功数と無偏光モードの成功数が同一であるか、または両者の差に有意な差が認められない場合、チューニング部29cは無偏光モードを選択してもよい。これは同じ明るさを実現する場合、無偏光モードの方が消費電力や熱に関して有利だからである。ただし、外乱光などが発生しやすい環境では、偏光モードの方が外乱光の一部を偏向フィルタでカットできるため、読み取り成功率が高まる。よって、このよう場合は偏光モードを優先的に採用してもよい。ここでは、読み取りテストの成功数を比較したが、チューニング部29cは読み取り成功率を比較してもよいし、読み取りのしやすさを示すマッチングレベルを算出して比較してもよい。
尚、マッチングレベルは、たとえば、図17に示すようにチューニング用インターフェース45の中に組み込まれたマッチングレベル表示領域45eに表示させることができる。マッチングレベル表示領域45eには、グラフ形式でマッチングレベルが表示される。横軸は明るさを示している。縦軸は、特定の明るさにおけるマッチングレベルを示している。
また、チューニング部29cは明るさの粗調整結果を決定する。たとえば、明るさレベルを0から255まで変更できると仮定する。そのうちn個の明るさレベルについて読み取りテストを実行する。そして、チューニング部29cは読み取りに成功したm個の明るさレベルの中心となる明るさ(例:平均値)を算出する。このようにして明るさの粗調整が実行される。
ところで、他方の照明モードでは読み取りテストに1回も成功しなかった場合、チューニング部29cは、他方の照明モードで読取条件の探索処理を省略または中止して、元の照明モードを選択し、チューニング部29cは元の照明モードについてn個(例:27個)の明るさレベルそれぞれについて読み取りテストを実行する。これにより、元の照明モードである偏光モードまたは無偏光モードについて27個の明るさそれぞれについての読み取り結果が得られる。その後、チューニング部29cは読み取りに成功したm個のレベルの中心となる明るさレベル(例:平均値)を算出する。
明るさの粗調整が終了すると、明るさの微調整を実行する。チューニング部29cは粗調整により決定された明るさレベルの周囲で明るさを変動させ、最も読み取り成功率またはマッチングレベルが高くなる明るさレベルを探索して決定する。
その後、チューニング部29cは再度読み取りテストを実行する。チューニング部29cは読み取値成功率または成功回数が閾値を超えているかどうかを判定する。読み取値成功率または成功回数が閾値を超えていれば、チューニング部29cはチューニング処理を終了する。一方で、読み取値成功率または成功回数が閾値を超えていなければ、再度チューニング部29cは明るさ以外の読取条件(例:露光時間、ゲイン、画像処理フィルタの係数など)を変更して読み取値成功率または成功回数が閾値を超えているか否かを判定する。
露光時間、ゲイン、画像処理フィルタの係数など、即ち、撮像部5の撮像条件を構成するパラメータ及びデコード部31における画像処理条件を構成するパラメータなどは、図13に示すユーザーインターフェースにたとえばバンク1として表示させることができ、このパラメータセットはパラメータセット記憶部35cに記憶する。
[読取テストモード]
図18は、読取テストモードの制御内容を示すフローチャートである。読取テストモードは、使用者が図11に示す指示受付部29fを操作することによってなされた実行指示を受けてから実行される。実行指示が、光学的情報読取装置1を運用する前の設定時になされれば、処理部29dは、光学的情報読取装置1の設定時に読取テストモードを実行する。
図18は、読取テストモードの制御内容を示すフローチャートである。読取テストモードは、使用者が図11に示す指示受付部29fを操作することによってなされた実行指示を受けてから実行される。実行指示が、光学的情報読取装置1を運用する前の設定時になされれば、処理部29dは、光学的情報読取装置1の設定時に読取テストモードを実行する。
図18に示すフローチャートのステップSA1では、まず、ワークWに付されて照明されているコードCが含まれる画像を撮像素子5aにより撮像する撮像工程を行う。その後、撮像工程で撮像された画像に含まれるコードにデコード処理を行う(デコード工程)。この撮像工程及びデコード工程は、コードの位置を変化させない状態でたとえば10回試行する。また、撮像工程で撮像された画像に含まれるコードの位置を検出する。撮像工程及びデコード工程の試行回数は10回未満であってもよいし、10回を超える回数であってもよい。
その後、ステップSA2に進み、ステップSA1のデコード処理の結果、1回でも読み取りに成功したか否かを判定する。読み取り成功回数が0回であれば、コードを全く読み取ることができないということであり、読取テストモードをこれ以上続けることはできないので、ステップSA7に進んで読取テストモードを終了する。
一方、ステップSA1のデコード処理の結果、1回でも読み取りに成功した場合にはステップSA2でYESと判定されてステップSA3に進む。ステップSA3では、デコード工程におけるデコード処理のし易さを示すスコアをスコア算出部30で算出するスコア算出工程を行う。
ステップSA3に続くステップSA4では、撮像素子5aによる撮像視野内において、スコア算出工程でスコアを算出するコードが含まれる領域を決定する領域決定工程を行う。図19に示すように、たとえば撮像視野を横に5つ(A〜E列)、縦に5つ(1〜5番)分割して合計25の領域を設定している場合に、コードCが、C列2番の領域に位置している場合には、ステップSA4でC列2番の領域をコードCが位置している領域として決定する。
ステップSA4でコードCが位置している領域を決定した後、ステップSA5に進み、ステップSA4で決定した領域にスコアが存在するか否かを判定する。ステップSA3を初めて行った場合には、全ての領域には対応するスコアが存在しないので、ステップSA5の判定結果はNOとなる。一方、ステップSA3を2回以上行った場合には、いずれかの領域に対応するスコアが存在しており、このスコアが存在する領域と、直前のステップSA4で決定した領域とが重複していれば、ステップSA5の判定結果はYESとなる。
ステップSA5の判定結果がNOの場合、ステップSA8に進み、ステップSA3で算出したスコアを対応する領域と関連付けてスコア記憶部35dに書き込む(スコア記憶工程)。一方、ステップSA5の判定結果がYESの場合、ステップSA6に進み、直前のステップSA3で算出したスコアを破棄する。そして、ステップSA7に進んで読取テストモードを一旦終了する。
その後、読取テストモードを再度行うことで、上述した制御内容が繰り返され、そのときにコードが撮像視野内において図19に示す撮像視野のC列2番の領域以外の領域に移動している場合には、その領域におけるスコアがステップSA3で算出され、算出するスコアが位置する領域がステップSA4で決定される。その後、決定した領域にスコアが存在しなければその領域とスコアとを関連付けてスコア記憶部35dに書き込み、一方、ステップSA4で決定した領域にスコアが存在していればスコアを書き込むことなく破棄する。
使用者は撮像視野内でコードを様々な場所に移動して読取テストモードを実行させることで、各領域におけるスコアを得ることができる。そして、処理部29dは、図21に示すように、読取テストモード用インターフェース47を表示部42に表示させる(表示工程)。読取テストモード用インターフェース47の右側には、撮像素子5aにより撮像された画像を表示する画像表示エリア47aが組み込まれ、この画像表示エリア47aの左側にはスコア表示エリア47bが組み込まれている。画像表示エリア47aをスコア表示エリア47bよりも大きくしているが、これに限らず、画像表示エリア47aをスコア表示エリア47bよりも小さくしてもよいし、画像表示エリア47aとスコア表示エリア47bとを同じ大きさにしてもよい。
スコア表示エリア47bには、図20に示す二次元マップM2が表示される。この実施形態では、二次元マップM2の複数の領域のうち、スコアの算出及び記憶(書き込み)がなされていない領域を白色としており、スコアの算出及び記憶(書き込み)がなされた領域を着色している。着色された領域において濃淡があるのは、たとえば色が濃くなればなるほどスコアが高い(読み取り易い)ことを示している。また、各領域には、スコアを数値で表示することもできる。
したがって、スコア記憶部35dに記憶された各領域に対応するスコアの大きさを、複数領域分、同一画面上に同時に表示してその表示状態を所定時間維持することができるので、使用者は、撮像視野において安定して読み取ることができる領域と、安定して読み取ることが困難な領域とを視覚により容易に把握することができる。尚、全ての領域にスコアを表示させる必要はなく、コードが存在する可能性の無い領域が予め分かっている場合には、その領域ではスコアを表示させないようにすることもできる。
スコアの大きさの表示方法は、上記した方法に限られるものではなく、着色は省略してもよいし、着色する場合には色の濃淡ではなく、色相、色彩を変えてもよい。また、スコアは数値のみで表示することや、バーの長短等で相対的に把握できるように表示することも可能である。また、スコアの大きさの表示方法としては、たとえば「NG」と「OK」のように簡単に表示する方法であってもよい。
また、図22に示すスコアの別の表示例では、撮像素子5aが撮像した画像と、二次元マップM2とを重ねて表示し、撮像素子5aが撮像した画像を透過させている。二次元マップM2を画像の上に重ねる形態とするのが好ましい。この例では、領域の分割数が3×3の9とされており、これに対応して二次元マップM2の領域も9つに分割されている。そして、撮像素子5aが撮像した画像の大きさと、二次元マップM2の大きさとは同じにされており、さらに、撮像素子5aが撮像した画像の各領域の大きさと、二次元マップM2の各領域の大きさも同じにされている。二次元マップM2の複数の領域のうち、スコアの算出及び記憶がなされていない領域は透明にして、撮像素子5aが撮像した画像をそのまま表示することができる。
一方、二次元マップM2の複数の領域のうち、スコアの算出及び記憶がなされた領域を着色しており、この着色された部分では撮像素子5aが撮像した画像が薄くなるように表示される。尚、スコアの算出及び記憶がなされた領域を薄くする処理を行うこともできる。また、各領域には、スコアを数値で表示することもできる。数値で表示する場合は、たとえば、読み取り成功率(%)やマッチングスコア、読み取りに要した時間等を使用することができる。読み取り成功率は10%刻みで表示することもできる。
また、読取テストモードは、図23に示すフローチャートに示すように行うことも可能である。図23に示すフローチャートのステップSB1〜ステップSB4までは、図18に示すフローチャートのステップSA1〜ステップSA4とそれぞれ同じである。図23に示すフローチャートのステップSB4からステップSB5に進むと、ステップSB4で決定した領域の現在のスコアが、過去に算出した同領域のスコアよりも大きいか否かを判定する。ステップSB3を初めて行った場合には、全ての領域には対応するスコアが存在しないので、ステップSB5の判定結果はNOとなる。一方、ステップSB3を2回以上行った場合には、ステップSB4で決定した領域に、過去に算出されたスコアがすでに存在していることがあり、この場合に、現在のスコアと過去のスコアとを比較して、現在のスコアの方が大きい場合には、ステップSB6に進んで現在のスコアを過去のスコアに対して上書き、即ちスコアを更新して表示する。つまり、過去のスコアを消去して現在のスコアを当該領域と関連付けて新たに記憶する。
また、ステップSB5において現在のスコアと過去のスコアとを比較して、現在のスコアと過去のスコアとが同じ、または過去のスコアの方が大きい場合には、ステップSB8に進んで現在のスコアを破棄して過去のスコアのままにしておく。尚、ステップSB5において過去のスコアの方が大きい場合にのみ、ステップSB8に進んで現在のスコアを破棄して過去のスコアのままにしておくこともできる。
そして、ステップSB7に進んで読取テストモードを一旦終了する。その後、読取テストモードを再度行うことで、上述した制御内容が繰り返され、そのときにコードが撮像視野内において他の領域に移動している場合には、その領域におけるスコアがステップSB3で算出され、領域がステップSB4で決定される。その後、ステップSB5を経てステップSB7へと進む。
また、撮像視野内においてコード位置の変更がなされることによって当該コードが撮像視野内において複数の領域に亘って移動することになるが、この場合に、コードの移動軌跡に沿って、撮像素子5aが撮像した画像または二次元マップM2における対応する領域に、スコアを追加して表示または更新して表示させることもできる。この場合、たとえば図19に示す撮像視野内で、コードCがC列2番の領域→C列3番の領域→B列3番の領域→A列3番の領域という順番で移動した場合、C列2番の領域におけるスコアの算出、C列3番の領域におけるスコアの算出、B列3番の領域におけるスコアの算出、A列3番の領域におけるスコアの算出が順番に行われるとともに、各スコアに対応した領域が決定される。したがって図20に示す二次元マップM2上には、C列2番の領域→C列3番の領域→B列3番の領域→A列3番の領域という順番でスコアの大きさが順番に表示され、全てのスコアの大きさの表示状態が維持されるので、使用者は表示部42を見るだけで撮像視野において安定して読み取ることができる領域と、安定して読み取ることが困難な領域とを視覚により容易に把握することができる。また、読取テストを行っていない領域を把握することができる。
上述のようにして読取テストモードを実行した結果の一例を図24に示す。二次元マップM2におけるB列1番、2番、C列1番、2番、D列1番、2番の各領域は、正反射光が撮像部5に入射する領域であった等の理由により、スコア(マッチングレベル)は0となっている。一方、上記各領域から離れた領域(A列〜E列の5番)ではスコアが80以上となっている。スコアが80以上ある領域は、安定して読み取ることができる領域とすることができる。
図24に示す例では、撮像視野の下側の領域でスコアが高く、安定して読み取ることができるので、複数のコードが撮像視野の下側の領域に位置するようにワークを配置して運用すればよいことが分かる。このように複数のコードを1つの撮像視野内に配置して一度に読み取る場合に、本発明の読取テストモードは有効である。
また、読取テストモードは、図25に示すフローチャートに示すように行うことも可能である。図25に示すフローチャートのステップSC1〜ステップSC3までは、図18に示すフローチャートのステップSA1〜ステップSA3とそれぞれ同じである。図25に示すフローチャートのステップSC3からステップSC4に進むと、撮像素子5aによる撮像視野内において、スコア算出工程でスコアを算出するコードが含まれる領域を決定する領域決定工程を行うとともに、そのコードの深度、即ち撮像部5の撮像素子5aとコードとの相対距離を決定する。コードの深度は、撮像部5の光学系5bを構成するレンズとコードとの相対距離であってもよい。
コードの深度は、たとえばPPC(2次元コードを構成する1つのセルが画像データにおいていくつの画素に相当するかを示す値)を用いて算出することができる。PPCは、デコード結果や画像データなどを用いて周知の手法に基づいて演算することができ、まず、チューニング工程においてPPCを演算して得ておく。その後、読取テストモードを行った際にもデコード結果や画像データなどを用いてPPCを演算する。そして、チューニング工程におけるPPCと、読取テストモード実行時におけるPPCとの差分を求めると、チューニング工程におけるコードの深度と読取テストモード実行時におけるコードの深度との相対差が得られる。読取テストモードでは、コードと撮像素子5aとの相対距離を複数通りに変えて実行する。これにより、図26に示すように、撮像視野を模擬的に示した三次元マップM3における対応する領域に、各領域に対応するスコアの大きさを同時に表示することができる。これにより、撮像視野のX方向及びY方向のコードの位置だけでなく、Z方向にコード位置が変更になっても、使用者は表示部42を見るだけで撮像視野において安定して読み取ることができる領域と、安定して読み取ることが困難な領域とを視覚により容易に把握することができる。
尚、コードの深度を得る方法としては、たとえばAF制御部29aによる測距情報から得る方法を用いることもできる。また、AF機構5cによるレンズの繰り出し量と焦点距離との関係を事前に得ておき、レンズの繰り出し量に基づいてコードの深度を得ることもできる。
ステップSC4を経た後、ステップSC5に進む。ステップSC5では、図23に示すフローチャートのステップSB5と同様な処理を行い、ステップSC6〜SC8を経る。ステップSC6〜SC8は、図23に示すフローチャートのステップSB6〜SB8と同様である。
(第2実施形態)
上記の例では、撮像視野を予め決められた区画で分割した複数の領域が用意され、スコア記憶部35dが各領域に対応するスコアを記憶するための予め定められたメモリ領域を備えている例を示したが、デコード部31によるコード位置の検出結果に基づいて、撮像視野を分割する領域の区画を動的に決定するようにしてもよい。
(第2実施形態)
上記の例では、撮像視野を予め決められた区画で分割した複数の領域が用意され、スコア記憶部35dが各領域に対応するスコアを記憶するための予め定められたメモリ領域を備えている例を示したが、デコード部31によるコード位置の検出結果に基づいて、撮像視野を分割する領域の区画を動的に決定するようにしてもよい。
図27は、各コードCが属する領域を、検出されたコード位置に基づいて動的に区画する例を示した図である。デコード部31は、撮像視野内に存在するコード位置を検出し、撮像視野におけるコード位置の座標を特定する。領域決定部33は特定された座標位置を中心とした所定の面積を有する領域A1を、当該コードCが属する領域として決定する。
領域決定部33は、ユーザによりコード位置が変更されて、新たなコード位置座標が特定された際に、先に特定されたコード位置座標と新たに特定されたコード位置座標間の距離を算出する。算出された距離が所定値よりも大きい場合に、コード位置が変更されたと判定し、新たに特定された座標位置を含む領域を、当該コードが属する領域A2として新たに決定する。算出された距離が所定値よりも小さい場合には、コード位置は変更されていないと判定し、新たな領域は決定しない。これが繰り返されて領域A3、A4も決定することができる。
スコア算出部30は、各領域A1〜A4に対応するコードCに基づいてスコアを算出する。同領域に属するコードCを含む画像が複数取得された場合は、最もスコアが高いものか、複数のスコアの平均スコアを当該領域のスコアとすればよい。スコア記憶部35dは、各領域A1〜A4の座標情報と、各領域A1〜A4に対応するコードのスコアを関連付けて記憶する。
表示部6は、スコア算出部30により算出された複数のスコアを、コードCを撮像した画像上または撮像視野を模擬的に表現したマップ画像上の各スコアに対応する領域に同時に表示する。スコアの大きさは、スコアの数値を表示してもよいし、大きさに応じて各領域を異なる濃淡値や色で表現するようにしてもよい。ユーザによるコード位置の変更に応じて、リアルタイムにスコアの大きさ表示が更新されることが好ましい。これにより、ユーザはスコアの取得が完了した領域と、完了していない領域をリアルタイムに確認することができる。
また、コード位置座標が特定された際に、そのコード位置に対応する上記コード画像上またはマップ画像上の位置にスコアを直接表示するようにしてもよい。この場合、領域決定部33による領域の決定は不要である。図28は、各コードが検出された位置にスコアを表示する例を示した図である。デコード部31は、撮像視野内に存在するコード位置を検出し、コード位置の座標を特定する。表示部6は、特定された座標を中心とした円を表示し、スコア算出部30により算出されたスコアをその中心に表示する。
[運用時に実行される工程]
以上のようにして光学的情報読取装置1の設定が完了して光学的情報読取装置1の運用準備が終わると、光学的情報読取装置1を運用することができる。光学的情報読取装置1の運用時には、撮像素子5aによって撮像された画像に含まれるコードを検出してデコード部31がデコードして出力する。出力されたデコード結果はデコード記憶部35aに記憶されるとともに、コンピュータ100に出力されて利用される。
以上のようにして光学的情報読取装置1の設定が完了して光学的情報読取装置1の運用準備が終わると、光学的情報読取装置1を運用することができる。光学的情報読取装置1の運用時には、撮像素子5aによって撮像された画像に含まれるコードを検出してデコード部31がデコードして出力する。出力されたデコード結果はデコード記憶部35aに記憶されるとともに、コンピュータ100に出力されて利用される。
使用者は、事前に読取テストモードを行っていることから、撮像視野において安定して読み取ることができる領域と、安定して読み取ることが困難な領域とを把握している。したがって、安定して読み取ることができる領域にコードが配置されるように、ワークの位置を変更したり、光学的情報読取装置1の向きを変更することができる。
[偏光フィルタアタッチメントの有無検知方法]
偏光フィルタアタッチメント3のような着脱可能な部材が本体に取り付けられているか否かを自動で検知する方法として、一般的には、たとえば機械的なスイッチや電気的接点を使用する方法が知られているが、これらの場合は構造が複雑になるというデメリットがある。
偏光フィルタアタッチメント3のような着脱可能な部材が本体に取り付けられているか否かを自動で検知する方法として、一般的には、たとえば機械的なスイッチや電気的接点を使用する方法が知られているが、これらの場合は構造が複雑になるというデメリットがある。
この実施形態では機械的なスイッチや電気的接点を使用することなく、偏光フィルタアタッチメント3の有無を自動で検知することができるように構成されている。具体的には、光が偏光フィルタを透過することで照射する光量が半減し、また、光を受光する際も偏光フィルタを透過することで光量が半減する性質を利用し、次のようにソフトウエアによって偏光フィルタアタッチメント3の有無を自動で検知する。
すなわち、まず、第1発光ダイオード16を点灯させて第2発光ダイオード17を消灯させた状態で撮像部5に撮像させる。その後、第1発光ダイオード16を消灯させて第2発光ダイオード17を点灯させた状態で撮像部5に撮像させる。この順番はどちらが先でもよい。その後、2つの画像の明るさを比較して略同等であれば偏光フィルタアタッチメント3が装着されていないと判断する。一方、一方の画像の明るさが他方の画像の明るさの倍程度(または半分程度)であれば、偏光フィルタアタッチメント3が装着されていると判断する。
つまり、偏光フィルタアタッチメント3の偏光フィルタを透過するように配置されている発光体を発光させ、かつ、偏光フィルタを透過しないように配置されている発光体を光らせない状態にして撮像した画像と、偏光フィルタアタッチメント3の偏光フィルタを透過するように配置されている発光体を光らせず、かつ、偏光フィルタを透過しないように配置されている発光体を発光させて撮像した画像との明るさを比較する比較部を設けておく。そして、この比較部による2つの画像の比較結果に基づいて偏光フィルタアタッチメント3の有無を自動で検知することができる。
[実施形態の作用効果]
以上説明したように、この実施形態に係る光学的情報読取装置1によれば、読取テストモードの実行を指示すると、撮像素子5aによってコードが含まれる画像を撮像した後、デコード部31がその画像に含まれるコード位置を検出するとともに、検出されたコードをデコード処理する。そして、スコア算出部30がデコード処理のし易さを示すスコアを算出する。これが繰り返して行われる。また、スコアを算出するコードが含まれる領域が領域決定部33により撮像視野内において決定される。
以上説明したように、この実施形態に係る光学的情報読取装置1によれば、読取テストモードの実行を指示すると、撮像素子5aによってコードが含まれる画像を撮像した後、デコード部31がその画像に含まれるコード位置を検出するとともに、検出されたコードをデコード処理する。そして、スコア算出部30がデコード処理のし易さを示すスコアを算出する。これが繰り返して行われる。また、スコアを算出するコードが含まれる領域が領域決定部33により撮像視野内において決定される。
上記読取テストモードの実行時に、たとえばコードが付されたワークを動かす等して、撮像視野内においてコード位置の変更がなされると、スコアを算出する対象となるコードが撮像視野内を移動することになるので、領域決定部33により複数の異なる領域が順次決定される。このとき、スコア算出部30により算出されたスコアと、該スコアに対応する領域とが関連付けられた状態でスコア記憶部35dに記憶される。
その後、スコア記憶部35dに記憶された各領域に対応するスコアを、撮像部5aが撮像した画像または撮像視野を模擬的に示したマップM2、M3における対応する領域に、同時に表示することができる。これにより、使用者は、光学的情報読取装置1の運用前の準備段階において、撮像視野におけるどの領域でデコード処理がし易いか、あるいはデコード処理がし難いかをスコアによって具体的に得ることができる。言い換えると、撮像視野において安定して読み取ることができる領域と、安定して読み取ることが困難な領域とを使用者が視覚により容易に把握することができる。したがって、運用環境下における撮像視野の全体をどの程度有効に活用できるのかを事前に確認することができ、運用時のトラブルを未然に防止できる。
上述の実施形態はあらゆる点で単なる例示に過ぎず、限定的に解釈してはならない。さらに、特許請求の範囲の均等範囲に属する変形や変更は、全て本発明の範囲内のものである。
以上説明したように、本発明に係る光学的情報読取装置は、たとえば、バーコードや二次元コード等のコードを読み取る場合に使用することができる。
1 光学的情報読取装置
4 照明部
5 撮像部
5a 撮像素子
29 制御ユニット
29d 処理部
29f 指示受付部
30 スコア算出部
31 デコード部
35 記憶装置
35d スコア記憶部
42 表示部
C コード
W ワーク
4 照明部
5 撮像部
5a 撮像素子
29 制御ユニット
29d 処理部
29f 指示受付部
30 スコア算出部
31 デコード部
35 記憶装置
35d スコア記憶部
42 表示部
C コード
W ワーク
Claims (7)
- ワークに付されたコードが含まれる画像を撮像する撮像素子を有する撮像部と、
上記撮像部により撮像された画像に含まれるコード位置を検出するとともに、検出されたコードにデコード処理を行うデコード部と、
上記デコード部によるデコード処理のし易さを示すスコアを算出するスコア算出部と、
上記撮像部による撮像処理と、上記デコード部によるコード位置の検出処理及びデコード処理と、上記スコア算出部によるスコア算出処理とを繰り返して行う読取テストモードの実行指示を受け付ける指示受付部と、
上記読取テストモードの実行時に、撮像視野内において上記コード位置の変更がなされることによって異なる位置に検出された複数のコードのスコアを記憶可能に構成されたスコア記憶部と、
上記スコア記憶部に記憶された複数のスコアの大きさを、上記撮像部が撮像した画像または上記撮像視野を模擬的に示したマップ上の各スコアが得られたコード位置に対応する領域に、同時に表示可能な表示部とを備えていることを特徴とする光学的情報読取装置。 - 請求項1に記載の光学的情報読取装置において、
上記スコア算出部によってスコアを算出するコードが、上記撮像視野を予め分割することによって形成された複数の既定の領域のどれに属するかを決定する領域決定部を更に備え、
上記スコア記憶部は、予め分割された上記撮像視野内の各領域に対応するメモリを備え、各領域に対応するスコアを、各領域に対応するメモリに記憶するように構成されていることを特徴とする光学的情報読取装置。 - 請求項2に記載の光学的情報読取装置において、
上記表示部は、上記撮像視野内において上記コード位置の変更がなされることによって当該コードが上記撮像視野内において複数の領域に亘って移動する場合に、当該コードの移動軌跡に沿って、上記撮像部が撮像した画像または上記撮像視野を模擬的に示したマップにおける対応する領域に、上記スコアを追加または更新して表示するように構成されていることを特徴とする光学的情報読取装置。 - 請求項1から3のいずれか1つに記載の光学的情報読取装置において、
上記表示部は、上記撮像部が撮像した画像を上記マップと並べて表示可能に構成されていることを特徴とする光学的情報読取装置。 - 請求項1から3のいずれか1つに記載の光学的情報読取装置において、
上記表示部は、上記撮像部が撮像した画像と上記マップとを重ねて表示可能に構成されていることを特徴とする光学的情報読取装置。 - 請求項1から5のいずれか1つに記載の光学的情報読取装置において、
上記光学的情報読取装置を運用する前に行われる該光学的情報読取装置の設定時に上記読取テストモードを実行するように構成されていることを特徴とする光学的情報読取装置。 - ワークに付されて照明されているコードが含まれる画像を撮像部により撮像する撮像工程と、
上記撮像工程で撮像された画像に含まれるコード位置を検出するとともに、検出したコードにデコード処理を行うデコード工程と、
上記デコード工程におけるデコード処理のし易さを示すスコアを算出するスコア算出工程と、
上記撮像工程と、上記デコード工程と、上記スコア算出工程とを繰り返して行う読取テストモードを実行する読取テストモード実行工程と、
上記読取テストモード実行工程中、撮像視野内において上記コード位置を変更することによって複数の異なる位置で算出されたスコアを記憶するスコア記憶工程と、
上記スコア記憶工程で記憶された複数のスコアの大きさを、上記撮像部が撮像した画像または上記撮像視野を模擬的に示したマップ上の各スコアが得られた位置に対応する領域に、同時に表示する表示工程とを備えていることを特徴とする光学的情報読取方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017032322A JP2018136855A (ja) | 2017-02-23 | 2017-02-23 | 光学的情報読取装置及び光学的情報読取方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017032322A JP2018136855A (ja) | 2017-02-23 | 2017-02-23 | 光学的情報読取装置及び光学的情報読取方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2018136855A true JP2018136855A (ja) | 2018-08-30 |
Family
ID=63366952
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017032322A Pending JP2018136855A (ja) | 2017-02-23 | 2017-02-23 | 光学的情報読取装置及び光学的情報読取方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2018136855A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2022074597A (ja) * | 2020-11-04 | 2022-05-18 | 有限会社東奥電気 | 医療器具二次元コード読取装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004078896A (ja) * | 2002-06-18 | 2004-03-11 | Omron Corp | 光学情報コードの読取方法および光学情報コード読取装置 |
JP2014157519A (ja) * | 2013-02-18 | 2014-08-28 | Keyence Corp | 光学コード読取システム及び光学コードの読取制御方法 |
-
2017
- 2017-02-23 JP JP2017032322A patent/JP2018136855A/ja active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004078896A (ja) * | 2002-06-18 | 2004-03-11 | Omron Corp | 光学情報コードの読取方法および光学情報コード読取装置 |
JP2014157519A (ja) * | 2013-02-18 | 2014-08-28 | Keyence Corp | 光学コード読取システム及び光学コードの読取制御方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2022074597A (ja) * | 2020-11-04 | 2022-05-18 | 有限会社東奥電気 | 医療器具二次元コード読取装置 |
JP7114106B2 (ja) | 2020-11-04 | 2022-08-08 | 有限会社東奥電気 | 医療器具二次元コード読取装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7108747B2 (ja) | 光学的情報読取装置 | |
JP6893092B2 (ja) | 光学的情報読取装置 | |
US7278573B2 (en) | Device for reading optical code | |
US7481369B2 (en) | Method and apparatus for optically picking up an image of an information code | |
US8302864B2 (en) | Method and apparatus using aiming pattern for machine vision training | |
JP2011503748A (ja) | 複数の画像フレームを使用してパターンを読取るシステム、及び方法 | |
JP6355470B2 (ja) | 光学的情報読取装置 | |
JP5956941B2 (ja) | 光学コード読取システム及び光学コードの読取制御方法 | |
US20090084855A1 (en) | Methods and Apparatus for Directing Bar Code Positioning for Imaging Scanning | |
JP2006244139A (ja) | 光学情報読取装置 | |
JP2018136855A (ja) | 光学的情報読取装置及び光学的情報読取方法 | |
US11308301B2 (en) | Optical reading device | |
US20230289545A1 (en) | Optical information reading device | |
JP2019071018A (ja) | 光学的情報読取装置及び光学的情報読取方法 | |
JP2018136854A (ja) | 光学的情報読取装置 | |
JP2018136858A (ja) | 光学的情報読取装置 | |
JP2011191943A (ja) | 画像処理装置および画像処理プログラム | |
JPH11312210A (ja) | シンボル読取装置 | |
JP5533714B2 (ja) | 光学情報読み取り装置 | |
US11854163B2 (en) | Optical information reading device | |
JP7289703B2 (ja) | 手持ち式光学情報読取装置 | |
JP6486767B2 (ja) | 固定式の光学的情報読取装置およびそれを用いた光学的情報読取方法 | |
JP2019135572A (ja) | バーコード読取装置、及びバーコード読取方法、プログラム | |
JP6586201B2 (ja) | 光学的情報読取装置 | |
JP2023079341A (ja) | 光学情報読取装置の設定装置、光学情報読取システム及び光学情報読取方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190910 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20200715 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20200818 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20210302 |