JP2018136858A - 光学的情報読取装置 - Google Patents
光学的情報読取装置 Download PDFInfo
- Publication number
- JP2018136858A JP2018136858A JP2017032329A JP2017032329A JP2018136858A JP 2018136858 A JP2018136858 A JP 2018136858A JP 2017032329 A JP2017032329 A JP 2017032329A JP 2017032329 A JP2017032329 A JP 2017032329A JP 2018136858 A JP2018136858 A JP 2018136858A
- Authority
- JP
- Japan
- Prior art keywords
- filter
- image
- unit
- optical information
- gain
- 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
Landscapes
- Studio Devices (AREA)
Abstract
【課題】ゲインを上げることによって画像の明るさを明るくする場合に、平滑化フィルタを必要に応じて自動的に適用可能にしてコードの読取精度を高める。
【解決手段】ゲイン設定部によって設定されたゲインの大きさが所定の閾値よりも大きいと判定される場合に弱平滑化フィルタを画像に自動的に適用した後、デコード処理を実行する。一方、ゲインの大きさが所定の閾値以下と判定される場合に弱平滑化フィルタを適用することなく、デコード処理を実行する。
【選択図】図20
【解決手段】ゲイン設定部によって設定されたゲインの大きさが所定の閾値よりも大きいと判定される場合に弱平滑化フィルタを画像に自動的に適用した後、デコード処理を実行する。一方、ゲインの大きさが所定の閾値以下と判定される場合に弱平滑化フィルタを適用することなく、デコード処理を実行する。
【選択図】図20
Description
本発明は、情報を光学的に読み取る光学的情報読取装置に関する。
近年、たとえば物品の流通経路を製造段階から消費段階あるいは廃棄段階まで追跡可能にする、いわゆるトレーサビリティが重要視されてきており、このトレーサビリティを目的としたコードリーダが普及してきている。また、トレーサビリティ以外にもコードリーダは様々な分野で利用されている。
一般的に、コードリーダは、ワークに付されたバーコードや二次元コード等のコードをカメラによって撮像し、得られた画像に含まれるコードを画像処理によって切り出して二値化し、デコード処理して情報を読み取ることができるように構成されており、情報を光学的に読み取る装置であることから光学的情報読取装置とも呼ばれている(たとえば特許文献1参照)。
ところで、光学的情報読取装置のカメラによってコードを撮像したときの画像が暗過ぎてデコード処理ができないような場合には、カメラの露光時間を長くするか、ゲインを上げることによって画像の明るさをデコード処理が可能な明るさまで明るくする必要がある。
しかしながら、露光時間を長くすると被写体であるコードがブレ易くなり、特に高速に移動するワークに付されたコードの撮像に対応できなくなるので、露光時間の調整には限界がある。また、露光時間を長くすると、照明の点灯時間も同様に延ばす必要があるので、照明装置の発熱量が増加するというデメリットもある。
そこで、高速移動中のワークに付されたコードを読み取る場合やコードの読み取り間隔が短い場合には、ゲインを上げることによって画像の明るさを確保する方法を採用することがある。ところが、CMOSセンサ等の撮像素子で撮像された画像の各画素には、撮像対象物の明るさに応じた情報だけではなく、読み出し時のショットノイズも加わっている。このため、ゲインを上げると、ノイズも本来の情報と合わせて増幅されるので、画像のS/N比が悪化し、その結果、露光時間を長くする場合と比較してデコード処理の難易度が上がるという問題がある。
ゲインを上げることによって画像のS/N比が悪化した場合、特許文献1にも開示されているような平滑化フィルタを適用してノイズを減ずることは可能であるが、平滑化フィルタを適用するとノイズだけではなく、画像のコントラストも減じてしまうので、逆にデコード処理の難易度が上がるという問題がある。つまり、ゲインを上げた場合に使用者が平滑化フィルタを適用するか否かの設定を行うのは容易ではない。
本発明は、かかる点に鑑みてなされたものであり、その目的とするところは、ゲインを上げることによって画像の明るさを明るくする場合に、平滑化フィルタを必要に応じて自動的に適用可能にしてコードの読取精度を高めることにある。
上記目的を達成するために、本発明では、ワークに付されたコードを撮像する撮像素子を有する撮像部と、上記撮像部が撮像した画像に適用されるゲインを設定するためのゲイン設定部と、上記撮像部が撮像した画像に平滑化フィルタを適用するか否か、または適用する平滑化フィルタによる平滑化の強さを設定するためのフィルタ設定部と、上記ゲイン設定部により設定されたゲインの大きさが所定の閾値よりも大きいか否かを判定し、上記ゲイン設定部により設定されたゲインの大きさが所定の閾値よりも大きいと判定される場合に、上記フィルタ設定部により適用可能な平滑化フィルタよりも弱い平滑化機能を有する弱平滑化フィルタを、上記撮像部が撮像した画像に自動的に適用する前処理を実行してから上記画像に含まれるコードのデコード処理を実行する一方、上記ゲイン設定部により設定されたゲインの大きさが所定の閾値以下と判定される場合に、上記前処理を実行せずに、上記画像に含まれるコードのデコード処理を実行する処理部とを備えている。
この構成によれば、たとえば撮像部が撮像した画像が暗くてデコード処理ができないような場合にはゲインを上げることで画像を明るくすることができる。このときに設定されたゲインの大きさが所定の閾値よりも大きい場合には、撮像素子からの読み出し時に加わったノイズの増幅によって画像のS/N比が悪化していることがある。この場合、撮像部が撮像した画像に対して、弱平滑化フィルタが自動的に適用される。ここで、弱平滑化フィルタは、フィルタ設定部によって一般的に適用され得る平滑化フィルタに比べて平滑化機能が弱いので、弱平均化フィルタの適用によるコントラストの減少の程度は低い。よって、ノイズが低減された画像を用いてデコード処理が可能になる。
一方、設定されたゲインの大きさが所定の閾値以下の場合には、読み出し時に加わったノイズの影響はそれほど強くなく、画像のS/N比の悪化の程度は低くなっていることがあるので、弱平滑化フィルタを適用することなく、デコード処理が可能になると考えられる。
また、上記処理部は、上記ゲイン設定部により設定されたゲインの大きさに応じて上記弱平滑化フィルタの強さを変化させるように構成されていてもよい。
また、上記フィルタ設定部は、上記撮像部により撮像された画像に適用する画像処理フィルタの種別を、膨脹フィルタ、収縮フィルタ及び平滑化フィルタを少なくとも含む画像処理フィルタ群の中から選択して変更するとともに、上記画像に適用する画像処理フィルタの強さを変化させて得られた複数の画像を生成し、生成された複数の画像に含まれるコードのデコード処理のし易さを示すスコアを画像毎に算出し、算出された複数のスコアを比較することにより、適用する画像処理フィルタの種別と強さを設定するように構成されていてもよい。
また、上記光学的情報読取装置は、上記撮像部が出力する多階調の画像を低階調の画像に変換する階調変換処理を実行するとともに、上記前処理を実行する第1プロセッサと、上記フィルタ設定部により設定されるフィルタ処理の少なくとも一部及び上記デコード処理を実行する第2プロセッサとを備えていてもよい。
また、上記処理部は、上記光学的情報読取装置の設定時に、上記ゲイン設定部により設定されたゲインの大きさが所定の閾値よりも大きいと判定される場合に、上記前処理を実行してから、上記画像に含まれるコードのデコード処理を実行するように構成されていてもよい。
本発明によれば、ゲインの大きさが所定の閾値よりも大きいと判定される場合に弱平滑化フィルタを画像に自動的に適用した後、デコード処理を実行することができ、一方、ゲインの大きさが所定の閾値以下と判定される場合に弱平滑化フィルタを適用することなく、デコード処理を実行することができる。これにより、ゲインを上げることによって画像の明るさを明るくする場合に、弱平滑化フィルタを必要に応じて自動的に適用可能にしてコードの読取精度を高めることができる。
以下、本発明の実施形態を図面に基づいて詳細に説明する。尚、以下の好ましい実施形態の説明は、本質的に例示に過ぎず、本発明、その適用物或いはその用途を制限することを意図するものではない。
図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座標を求めるようにしてもよい。
[通信部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と、ゲイン設定部29eと、露光時間設定部29fと、フィルタ設定部29gと、UI管理部29hとを有している。AF制御部29aは、AF機構5cを制御するユニットであり、従来から周知のコントラストAFや位相差AFによって光学系5bのピント合わせを行うことができるように構成されている。
撮像制御部29bは、撮像素子5aが撮像した画像に適用されるゲインが所定値になるように制御したり、照明部4の光量が所定の光量となるように制御したり、撮像素子5aの露光時間(シャッタースピード)が所定時間となるように制御するためのユニットである。ここで、ゲインとは、撮像素子5aに適用する増幅率(アナログゲイン)と、撮像素子5aから出力された画像の明るさをデジタル画像処理によって増幅する際の増幅率(デジタルゲイン)とを含んでおり、両方を調整することができるように構成されているが、どちらか一方のみ調整可能にしてもよい。照明部4の光量については、第1発光ダイオード16と第2発光ダイオード17を別々に制御して変更することができる。ゲイン、照明部4の光量及び露光時間は、撮像部5の撮像条件である。
ゲイン設定部29eは、撮像制御部29bで適用されるゲインの大きさを設定する部分であり、このゲイン設定部29eで設定されたゲインは、撮像素子5aが撮像した画像に対して撮像制御部29bで適用されることになる。つまり、このゲイン設定部29eで設定されたゲインとなるように撮像制御部29bはゲインを調整する。ゲイン設定部29eは、アナログゲインとデジタルゲインの一方のみ設定してもよいし、両方を設定してもよい。尚、ゲインはたとえば図21に示す表のように単位をdBで表すことができる。
また、ゲイン設定部29eは、光学的情報読取装置1の使用者が任意に設定するためのユーザーインターフェース(ゲイン設定用インターフェース)等で構成されていてもよい。この場合、ゲイン設定部29eにおいて使用者が適していると考えるゲインに設定されることになるので、チューニング工程で自動的に設定される値とは異なるゲインに設定されることがある。
露光時間設定部29fは、撮像制御部29bで適用される露光時間を設定する部分である。この露光時間設定部29fで設定された露光時間となるように撮像制御部29bは露光時間を調整する。露光時間設定部29fは、光学的情報読取装置1の使用者が任意に設定するためのユーザーインターフェース(露光時間設定用インターフェース)等で構成されていてもよい。この場合、露光時間設定部29fにおいて使用者が適していると考える露光時間に設定されることになるので、チューニング工程で自動的に設定される時間とは異なる露光時間に設定されることがある。
フィルタ設定部29gは、撮像素子5aが撮像した画像に平滑化フィルタを適用するか否か、または適用する平滑化フィルタによる平滑化の強さを設定するための部分である。フィルタ設定部29gは、撮像素子5aにより撮像された画像に適用する画像処理フィルタの種別を、平滑化フィルタだけではなく、膨脹フィルタ、収縮フィルタ及び平滑化フィルタを少なくとも含む画像処理フィルタ群の中から選択して変更するとともに、撮像素子5aにより撮像された画像に適用する画像処理フィルタの強さを変化させることができるように構成されている。フィルタ設定部29gが適用する画像処理フィルタの種類は上記した画像処理フィルタに限られるものではない。
そして、フィルタ設定部29gは、上記画像処理フィルタ群の中から一の画像処理フィルタを選択して撮像素子5aが撮像した画像に適用するとともに、適用する画像処理フィルタの強さを複数通りに変化させて複数の画像を生成することができる。さらに、フィルタ設定部29gは、上記画像処理フィルタ群の中から別の画像処理フィルタを選択して変更し、その変更後の画像処理フィルタを、撮像素子5aが撮像した画像に適用するとともに、適用する画像処理フィルタの強さを複数通りに変化させて複数の画像を生成する。また、フィルタ設定部29gは、上記画像処理フィルタ群の中から複数種の画像処理フィルタを選択して撮像素子5aが撮像した画像に一度に適用するとともに、適用する各画像処理フィルタの強さを複数通りに変化させて複数の画像を生成する。フィルタ設定部29gは、このようにして生成された複数の画像に含まれる各コードのデコード処理のし易さを示すスコアを画像毎に算出し、算出された複数のスコアを比較することにより、適用する画像処理フィルタの種別と強さを設定するように構成されている。尚、デコード処理自体は、デコード部31が行ってもよい。
各画像に含まれているコードのデコード処理のし易さについては次のように判定することができる。たとえば平均読み取り成功率が高い場合や、読み取りの誤りが少ない場合は、デコード処理がし易い場合であり、反対に、読み取り成功率が低い場合や、読み取りの誤りが多い場合には、デコード処理がし難い場合となる。上述した平均読み取り成功率を、コードのデコード処理のし易さを示すスコアとしてもよいし、マッチングレベルを、コードのデコード処理のし易さを示すスコアとしてもよい。マッチングレベルは、たとえば0〜100の値で示すことができ、数値が大きくなるほどマッチングレベルが高くなる。
また、コードのデコード処理のし易さを示すスコアとしては、たとえばコードの読み取りに要する時間に基づいて算出することもできる。コードの読み取りに要する時間が長いということはコードのデコード処理がしにくい場合であり、一方、コードの読み取りに要する時間が短くて済むということはコードのデコード処理がし易い場合である。この場合のスコアは、コードの読み取りに要する時間をそのままスコアとして用いてもよいし、最も時間がかかった場合を「0」とし、最も短かった場合を「100」として0〜100の値をスコアとして用いてもよい。コードのデコード処理のし易さを示すスコアは上述したものに限られるものではなく、各種の算出方法に基づいて得られたスコアを用いることができる。
フィルタ設定部29gは、基本的には、スコアが最も高かった(コードのデコード処理が最もし易かった)画像処理フィルタを適用するとともに、スコアが最も高かった画像処理フィルタの強さを設定する。フィルタ設定部29gによる画像処理フィルタの適用及び画像処理フィルタの強さの設定については、たとえばマッチングレベルのみを基準としてもよいし、読み取り成功率のみを基準としてもよいし、コードの読み取りに要する時間のみを基準としてもよい。また、フィルタ設定部29gによる画像処理フィルタの適用及び画像処理フィルタの強さの設定については、マッチングレベル、読み取り成功率、コードの読み取りに要する時間を総合的に考慮して決定することもできる。この場合、マッチングレベルが最も高いフィルタ以外の画像処理フィルタを設定することもある。
チューニング部29cは、ゲイン、照明部4の光量及び露光時間等の撮像条件や、画像処理条件を変更して最適化するためのユニットである。画像処理条件とは、画像処理フィルタの係数(画像処理フィルタの強弱)や、複数の画像処理フィルタがある場合に画像処理フィルタの選択、種類の異なる画像処理フィルタの組み合わせ等である。搬送時のワークWに対する外光の影響や、コードが付されている面の色及び材質等によって適切な撮像条件及び画像処理条件は異なる。よって、チューニング部29cは、より適切な撮像条件及び画像処理条件を探索して、AF制御部29a、撮像制御部29b、デコード部31による処理を設定する。画像処理フィルタは、膨脹フィルタ、収縮フィルタ及び平滑化フィルタ以外にも、従来から周知の各種画像処理フィルタを使用することができる。
処理部29dは、ゲイン設定部29eにより設定されたゲインの大きさが所定の閾値よりも大きいか否かを判定し、ゲイン設定部29eにより設定されたゲインの大きさが所定の閾値よりも大きいと判定される場合に、フィルタ設定部29eにより適用可能な一般的な平滑化フィルタよりも弱い平滑化機能を有する弱平滑化フィルタを、撮像素子5aが撮像した画像に自動的に適用する前処理を実行してから、撮像素子5aが撮像した画像に含まれるコードのデコード処理を実行する。一方、処理部29dは、ゲイン設定部29eにより設定されたゲインの大きさが所定の閾値以下と判定される場合には、前処理、即ち弱平滑化フィルタを自動的に適用する処理を実行せずに、撮像素子5aが撮像した画像に含まれるコードのデコード処理を実行するように構成されている。
また、処理部29dは、ゲイン設定部29eにより設定されたゲインの大きさに応じて弱平滑化フィルタの強さを変化させるように構成されていてもよい。ゲイン設定部29eにより設定されたゲインが大きくなればなるほど弱平滑化フィルタの強さを強くしてもよいし、反対に、ゲイン設定部29eにより設定されたゲインが小さくなればなるほど弱平滑化フィルタの強さを強くしてもよい。この処理部29dによる制御内容については後述するフローチャートに基づいて詳細に説明する。
図11に示すUI管理部29eは、表示部6に、各種ユーザーインターフェース、撮像部5で撮像されたコード、コードのデコード結果である文字列、読み取り成功率、マッチングレベル等を表示させたり、セレクトボタン11及びエンターボタン12からの入力を受け付けたり、インジケータ9の点灯を制御するユニットである。
また、図12に示すように、光学的情報読取装置1は、撮像素子5aが出力する画像を変換する変換処理を実行するとともに上記前処理を実行するFPGA(field programmable gate array)(第1プロセッサ)34と、フィルタ設定部29gにより設定されるフィルタ処理の少なくとも一部を実行するとともに、デコード処理を実行するデコード部31を有する制御ユニット29(第2プロセッサ)とを備えていてもよい。FPGA34は、撮像素子5aが出力する多階調画像(たとえば12bit画像)を低階調の画像(たとえば8bit画像)に変換する階調変換処理を実行するように構成されている。このFPGA34が、上記弱平滑化フィルタを、撮像素子5aが撮像した画像に自動的に適用する前処理を実行する。これにより、弱平滑化処理が実行された後の画像が制御ユニット29に入力されるので、ノイズの少ない画像を用いてデコード処理を行うことができる。また、FPGA34で前処理を実行することで処理を高速化することができ、コードをより一層高速に読み取ることができるようになるので好ましい。尚、FPGA34は一例であってFPGA34に限定されるものではなく、FPGA34と同様な処理を行うことができる他の演算装置を用いて構成することもできる。
[記憶装置35の構成]
記憶装置35は、メモリやハードディスク等で構成されている。記憶装置35には、デコード結果記憶部35aと、画像データ記憶部35bと、パラメータセット記憶部35cとが設けられている。デコード結果記憶部35aは、デコード部31によりデコードされた結果であるデコード結果を記憶する部分である。画像データ記憶部35bは、撮像素子5aによって撮像された画像を記憶する部分である。
記憶装置35は、メモリやハードディスク等で構成されている。記憶装置35には、デコード結果記憶部35aと、画像データ記憶部35bと、パラメータセット記憶部35cとが設けられている。デコード結果記憶部35aは、デコード部31によりデコードされた結果であるデコード結果を記憶する部分である。画像データ記憶部35bは、撮像素子5aによって撮像された画像を記憶する部分である。
図11に示すパラメータセット記憶部35cは、コンピュータ100等の設定装置によって設定された設定情報やセレクトボタン11及びエンターボタン12によって設定された設定情報等を記憶する部分である。パラメータセット記憶部35cには、撮像部5の撮像条件(ゲイン、照明部4の光量及び露光時間等)と、画像処理条件(画像処理フィルタの種類等)との少なくとも一方を構成する複数のパラメータを含むパラメータセットを記憶することができる。この実施形態では、図14に示すパラメータセット表示フォーマット46の中に、バンク1〜5として表示するように、撮像部5の撮像条件を構成するパラメータ及び画像処理条件を構成するパラメータがセットになったパラメータセットを複数通り記憶することができるように構成されている。バンク1〜5には異なるパラメータセットを記憶させることができ、たとえばワークWが異なる場合等に対応することができる。バンクの数は任意に設定することができる。
この光学的情報読取装置1では、パラメータセット記憶部35cに記憶されている複数のパラメータセットのうち、一のパラメータセットから他のパラメータセットに切り替えることができるように構成されている。パラメータセットの切替は、使用者が行うこともできるし、PLC101で行うように構成することもできる。パラメータセットの切替を使用者が行う場合には、図14に示すユーザーインターフェースに組み込まれているパラメータセット切替部46bを操作すればよい。パラメータセット切替部46bを「有効」にすることで、そのバンクのパラメータセットが光学的情報読取装置1の運用時に使用され、また、パラメータセット切替部46bを「無効」にすることで、そのバンクのパラメータセットが光学的情報読取装置1の運用時に使用されないようになる。つまり、パラメータセット切替部46bは、一のパラメータセットから他のパラメータセットに切り替えるためのものである。尚、パラメータセット切替部46bの形態は図示した形態に限られるものではなく、たとえばボタン等、各種の形態を使用することができる。
ここで、図14に示すパラメータセット46について、補足説明する。図14では、「共通」パラメータとして、「オルタネート」(複数登録したパラメータセットを自動的に切り換えながら撮像・デコードを試行する機能)や「バンク内リトライ回数」(オルタネートするまでに行う撮像・デコードの回数)などが含まれている。「コード」パラメータとしては、「コード詳細設定」(読取を行うコード種別)や「桁限定出力機能」(読取データの出力桁を限定する機能)などが含まれている。「照明」パラメータとしては、「内部照明の使用」(光学的情報読取装置1に内蔵されている照明の使用有無)、「外部照明の使用」(光学的情報読取装置1に外付けされている照明の使用有無)及び「偏光フィルタ」(後述する偏光モードを有効にするか否か)が含まれている。「撮像」パラメータとしては、「露光時間」(撮像時の露光時間μs)、「ゲイン」(撮像時のゲイン)及び「コントラスト調整方式」(上述した「HDR」、「超HDR」、「標準特性」及び「コントラスト強調特性」のいずれか)が含まれている。さらに、「画像処理フィルタ」パラメータとして、「1番目画像処理フィルタ」(1番目に実行する画像フィルタの種別)や「1番目画像処理フィルタ回数」(1番目の画像フィルタを実行する回数)などが含まれている。
図14では、バンク1〜5において、上述した「コントラスト調整方式」は、それぞれ「HDR」「コントラスト強調」「標準」「超HDR」「HDR」に設定されている。また、上述した「オルタネート」は、バンク1およびバンク2のみが「有効」となっている。したがって、光学的情報読取装置1は、まず、バンク1の設定内容であるコントラスト調整方式「HDR」を用いて、デコードを試みる。デコードに失敗した場合には、バンク1の設定内容からバンク2の設定内容に切り換えて、バンク2の設定内容であるコントラスト調整方式「コントラスト強調」を用いて、デコードを試みる。要するに、複数登録したパラメータセットを自動的に切り換えながらデコードを試みることで、自動的にコントラスト調整方式を切り替えながらデコードを試みることができ、ひいては読取精度を高めることができる。
なお、上述した「オルタネート」の順序は、種々の方法が考えられる。例えば、上述したように、1番から順番にバンクを切り換えてデコードを試行してもよい。その他にも、例えば、読み取り成功したバンクを優先するようにしてもよい。具体的には、読取に成功したバンクについては、次の読取時に優先的に設定されるようにしてもよい。これにより、例えばロット単位で印字状態が変わる場合に、読取タクトを短縮することができる。
[コンピュータ100の構成]
コンピュータ100は、図13にブロック図で示すように、CPU40と、記憶装置41と、表示部42と、入力部43と、通信部44とを備えている。光学的情報読取装置1を小型化することで、光学的情報読取装置1の表示部6やボタン11、12等だけでは、光学的情報読取装置1の全ての設定を行うことが困難になるので、光学的情報読取装置1とは別にコンピュータ100を用意し、コンピュータ100で光学的情報読取装置1の各種設定を行って設定情報を光学的情報読取装置1に転送するようにしてもよい。
コンピュータ100は、図13にブロック図で示すように、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の撮像条件や画像処理条件等を設定するためのユーザーインターフェースや、光学的情報読取装置1から出力されたデコード結果、画像データ等を表示するためのユーザーインターフェースを生成し、表示部42に表示させる。設定部40cは、撮像部5の撮像条件及び画像処理条件を設定する。
コンピュータ100の記憶装置41は、デコード結果記憶部41aと、画像データ記憶部41bと、パラメータセット記憶部41cとが設けられている。これら記憶部41a〜41cは、光学的情報読取装置1のデコード結果記憶部35aと、画像データ記憶部35bと、パラメータセット記憶部35cと同様な情報を記憶する部分であり、光学的情報読取装置1の構成要素の一部とすることができる。
[設定時に実行される工程]
次に、上記のように構成された光学的情報読取装置1が設定時に実行する工程について説明する。以下に述べる工程は、光学的情報読取装置1の制御ユニット29が実行してもよいし、コンピュータ100のCPU40が光学的情報読取装置1の各部を制御しながら実行してもよい。この実施形態では、光学的情報読取装置1の制御ユニット29にチューニング部29cが設けられているので、制御ユニット29がチューニング工程を実行する。
次に、上記のように構成された光学的情報読取装置1が設定時に実行する工程について説明する。以下に述べる工程は、光学的情報読取装置1の制御ユニット29が実行してもよいし、コンピュータ100のCPU40が光学的情報読取装置1の各部を制御しながら実行してもよい。この実施形態では、光学的情報読取装置1の制御ユニット29にチューニング部29cが設けられているので、制御ユニット29がチューニング工程を実行する。
光学的情報読取装置1の設定時には図15に示すフローチャートに従ってチューニング工程を実行し、チューニング工程が完了した後、光学的情報読取装置1の運用に移る。チューニング工程では、コンピュータ100のUI制御部40bが、図16に示すようなユーザーインターフェース45をコンピュータ100の表示部42に表示させる。図16に示すユーザーインターフェース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によって制御して図17に示すようにコードCにピントを合わせる。これにより、コードCが画像表示領域45d内にあることを確認できる。
使用者がチューニング用インターフェース45のチューニングボタン45cをクリックすると、チューニング工程が実行される。まず、図15に示すフローチャートのステップSA1、SA2が実行される。ステップSA1、SA2は1つの工程として実行することも可能である。チューニング工程は、光学的情報読取装置1のセレクトボタン11及びエンターボタン12の操作によって実行することもできる。
はじめに、ステップSA1の撮像条件の最適化の詳細について図20に示すフローチャートに基づいて説明する。図20に示すフローチャートのステップSB1では、撮像制御部29bが、その時点で有効となっている撮像素子5aについての撮像条件、照明部4の照明条件、画像処理条件などをパラメータセット記憶部35cから読み出し、照明部4、撮像素子5a等の各部を設定する。照明条件には、偏光モードを有効にするのか、無偏光モードを有効にするのかを示す情報が含まれている。偏光モードは、第1発光ダイオード16を消灯させて第2発光ダイオード17を点灯させるモードであり、無偏光モードは、第1発光ダイオード16を点灯させて第2発光ダイオード17を消灯させるモードである。尚、明るさを調整しているときには、図18に示すようなチューニング用インターフェース45を表示することができる。
ステップSB2では、チューニング部29cが撮像制御部29bに撮像を実行させて画像データを取得させる。撮像を実行した後、ステップSB3に進み、ステップSB1で読み込んだ撮像条件に含まれているゲインが閾値よりも大きいか否かを判定する。ステップSB3においてゲインが閾値よりも大きい場合にはステップSB4に進み、フィルタ設定部29gにより適用可能な平滑化フィルタよりも弱い平滑化機能を有する弱平滑化フィルタを、撮像素子5aが撮像した画像に自動的に適用する前処理を実行した後、ステップSB5に進む。一方、ステップSB3においてゲインが閾値以下と判定される場合にはステップSB5に進む。
ステップSB3の「閾値」とは、画像のS/N比が、デコード処理に悪影響を与える程度にまで悪化してしまうゲインの大きさであって、かつ、弱平滑化フィルタを適用することでデコード処理を良好にできる程度にまでS/N比の改善が見込まれる値である。したがって、ステップSB3でYESと判定されるということは、ゲインを上げて画像の明るさは確保されているものの、画像のS/N比がデコード処理に悪影響を与える程度に悪化していてそのままではデコード処理の難易度が高いが、弱平均化フィルタを適用することで、デコード処理を良好にできる程度にまでS/N比の改善が見込まれる状態である。ステップSB3の「閾値」は、たとえば撮像素子5aのノイズ特性等に応じて事前に決めておけばよい。また、弱平均化機能とは、上記S/N比を改善しつつ、デコード処理の難易度が上がらないように所定以上のコントラストを確保できる弱い平均化である。
ステップSB5では撮像素子が撮像した画像に含まれるコードのデコード処理を実行する。そして、ステップSB6に進み、デコード部31によるコードのデコード処理のし易さを示すスコアを算出する。スコアは、たとえば、上述したマッチングレベル、読み取り成功率、コードの読み取りに要する時間等とすることができる。算出したスコアは記憶装置35に記憶しておく。尚、マッチングレベルは、たとえば、図19に示すようにチューニング用インターフェース45の中に組み込まれたマッチングレベル表示領域45eに表示させることができる。マッチングレベル表示領域45eには、グラフ形式でマッチングレベルが表示される。横軸は明るさを示している。縦軸は、特定の明るさにおけるマッチングレベルを示している。
次いでステップSB7に進み、試行していない撮像条件、照明条件、画像処理条件などがあればステップSB1に戻り、試行していない条件を選択してステップSB2に進む。たとえば、チューニング部29cはその時点で照明部4に設定されている照明モードとは異なる照明モードに切り替える。つまり、チューニング部29cは照明部4に偏光モードが設定されていれば無偏光モードに切り替え、無偏光モードが設定されていれば偏光モードに切り替える。また、照明部4の明るさを変化させたり、ゲインや露光時間を変化させてもよい。
一方、全ての条件を試行したのであれば、ステップSB7でNOと判定されてステップSB8に進む。ステップSB8は全ての撮像条件を試行した後に行われるステップであり、このステップSB8では、全ての撮像条件のうち、最もスコアが高かった撮像条件を選択する。たとえば、図21に示すように、条件1〜4のそれぞれについて、露光時間、ゲイン、弱平均化フィルタの適否、読取成否、マッチングレベルを関連付けて記憶装置25に記憶させておくことができる。そして、たとえば最もマッチングレベルの高い条件2を選択することができる。尚、条件2は、ゲインが閾値以下であることから弱平均化処理は適用されないが、たとえば条件3のようにゲインが閾値よりも大きい場合には弱平均化処理が適用される。
以上のようにして、図15に示すフローチャートのステップSA1が行われる。その後、同フローチャートのステップSA2に進み、チューニング部29cは、最適な画像処理フィルタを選択するために画像処理フィルタを変更するとともに、その選択した画像処理フィルタの強さを変更する。画像処理フィルタの種別の選択及び画像処理フィルタの強さは、読み取値成功率または成功回数が閾値を超えるように調整し、読み取値成功率が最も高くなるように、またはマッチングレベルが最も高くなるように、フィルタ設定部29gにより設定される。尚、画像処理フィルタを適用しない方が読み取値成功率またはマッチングレベルが高い場合には画像処理フィルタを適用しない。
上述のようにして露光時間、ゲイン、適用する画像処理フィルタの種別、画像処理フィルタの強さ(係数)など、即ち、撮像部5の撮像条件を構成するパラメータ及びデコード部31における画像処理条件を構成するパラメータなどが設定される。このパラメータは、図14に示すユーザーインターフェースにたとえばバンク1として表示させることができ、このパラメータセットはパラメータセット記憶部35cに記憶する。その後、パラメータセットが反映される(図15に示すフローチャートのステップSA3)。
[弱平均化フィルタ]
上記弱平均化フィルタとしては、たとえばガウシアンフィルタを用いることができる。図22に示すようにバーコードの黒部分(バー部分)と白部分(スペース部分)とが存在していると仮定した場合、平均化フィルタを適用しない画像の明るさを示す波形(元波形)は実線で示すように表される。図22における2点鎖線で囲んだ領域は、黒部分と白部分との間隔が短い領域であり、バーコードのナローバーとナロースペースとが連続する領域である。この元波形の場合、2点鎖線で囲んだ領域であってもコントラストは大きい。一方、元波形に対して弱平均化フィルタを適用した場合に、注目画素の寄与度が66%となるように平滑化機能の強さを設定すると、粗い破線で示すように、特に2点鎖線で囲んだ領域でコントラストが小さくなる。また、注目画素の寄与度が50%となるように平滑化機能の強さを設定すると、細かい破線で示すように更にコントラストが小さくなる。注目画素の寄与度が50%を下回るとコントラストがほとんど消失してしまい、デコード処理の難易度が上がってしまう。従って、弱平均化フィルタの強さは、注目画素の寄与度が50%以上となるように設定するのが好ましく、より好ましくは60%以上である。また、弱平均化フィルタの強さ上限は、フィルタ設定部29gにより適用可能な平滑化フィルタの強さよりも弱ければよく、特に限定されないが、たとえば注目画素の寄与度が95%となるように設定することができる。尚、注目画素の寄与度が50%となるようなガウシアンフィルタは、σ=0.564程度であり、このときのS/N比の改善度合いは、弱平均化フィルタの非適用時に比べて1.84倍程度になる。
上記弱平均化フィルタとしては、たとえばガウシアンフィルタを用いることができる。図22に示すようにバーコードの黒部分(バー部分)と白部分(スペース部分)とが存在していると仮定した場合、平均化フィルタを適用しない画像の明るさを示す波形(元波形)は実線で示すように表される。図22における2点鎖線で囲んだ領域は、黒部分と白部分との間隔が短い領域であり、バーコードのナローバーとナロースペースとが連続する領域である。この元波形の場合、2点鎖線で囲んだ領域であってもコントラストは大きい。一方、元波形に対して弱平均化フィルタを適用した場合に、注目画素の寄与度が66%となるように平滑化機能の強さを設定すると、粗い破線で示すように、特に2点鎖線で囲んだ領域でコントラストが小さくなる。また、注目画素の寄与度が50%となるように平滑化機能の強さを設定すると、細かい破線で示すように更にコントラストが小さくなる。注目画素の寄与度が50%を下回るとコントラストがほとんど消失してしまい、デコード処理の難易度が上がってしまう。従って、弱平均化フィルタの強さは、注目画素の寄与度が50%以上となるように設定するのが好ましく、より好ましくは60%以上である。また、弱平均化フィルタの強さ上限は、フィルタ設定部29gにより適用可能な平滑化フィルタの強さよりも弱ければよく、特に限定されないが、たとえば注目画素の寄与度が95%となるように設定することができる。尚、注目画素の寄与度が50%となるようなガウシアンフィルタは、σ=0.564程度であり、このときのS/N比の改善度合いは、弱平均化フィルタの非適用時に比べて1.84倍程度になる。
実際の画像について見てみると、図24に示すように、弱平均化フィルタを適用しない元画像と、本発明による弱平均化後の画像と、従来のガウシアンフィルタ(フィルタ設定部29gで適用される強い平均化フィルタ)適用後の画像とを比較すると、本発明による弱平均化後の画像では、元画像よりもノイズが減少しており、しかも、従来のガウシアンフィルタ適用後の画像よりもコントラストが大きくなっていることがわかる。
[運用時に実行される工程]
以上のようにして光学的情報読取装置1の設定が完了して光学的情報読取装置1の運用準備が終わると、光学的情報読取装置1を運用することができる。光学的情報読取装置1の運用時には、図23に示すフローチャートに示すように、読取制御が実行される。読取制御では、まず、ステップSC1において記憶装置35から撮像条件を読み出す。この撮像条件は上記チューニング工程で決定された条件等である。
以上のようにして光学的情報読取装置1の設定が完了して光学的情報読取装置1の運用準備が終わると、光学的情報読取装置1を運用することができる。光学的情報読取装置1の運用時には、図23に示すフローチャートに示すように、読取制御が実行される。読取制御では、まず、ステップSC1において記憶装置35から撮像条件を読み出す。この撮像条件は上記チューニング工程で決定された条件等である。
ステップSC2では、撮像素子5aによってコードが含まれる画像を撮像する。そして、ステップSC3においてステップSC1で読み込んだ撮像条件に含まれているゲインが閾値よりも大きいか否かを判定する。ステップSC3においてゲインが閾値よりも大きい場合にはステップSC4に進み、弱平滑化フィルタを、撮像素子5aが撮像した画像に自動的に適用する前処理を実行した後、ステップSC5に進む。一方、ステップSC3においてゲインが閾値以下と判定される場合にはステップSC5に進む。ステップSC5では撮像素子が撮像した画像に含まれるコードのデコード処理を実行する。そして、ステップSC6に進んでデコード結果を出力する。出力されたデコード結果はデコード記憶部35aに記憶されるとともに、コンピュータ100に出力されて利用される。
[偏光フィルタアタッチメントの有無検知方法]
偏光フィルタアタッチメント3のような着脱可能な部材が本体に取り付けられているか否かを自動で検知する方法として、一般的には、たとえば機械的なスイッチや電気的接点を使用する方法が知られているが、これらの場合は構造が複雑になるというデメリットがある。
偏光フィルタアタッチメント3のような着脱可能な部材が本体に取り付けられているか否かを自動で検知する方法として、一般的には、たとえば機械的なスイッチや電気的接点を使用する方法が知られているが、これらの場合は構造が複雑になるというデメリットがある。
この実施形態では機械的なスイッチや電気的接点を使用することなく、偏光フィルタアタッチメント3の有無を自動で検知することができるように構成されている。具体的には、光が偏光フィルタを透過することで照射する光量が半減し、また、光を受光する際も偏光フィルタを透過することで光量が半減する性質を利用し、次のようにソフトウエアによって偏光フィルタアタッチメント3の有無を自動で検知する。
すなわち、まず、第1発光ダイオード16を点灯させて第2発光ダイオード17を消灯させた状態で撮像部5に撮像させる。その後、第1発光ダイオード16を消灯させて第2発光ダイオード17を点灯させた状態で撮像部5に撮像させる。この順番はどちらが先でもよい。その後、2つの画像の明るさを比較して略同等であれば偏光フィルタアタッチメント3が装着されていないと判断する。一方、一方の画像の明るさが他方の画像の明るさの倍程度(または半分程度)であれば、偏光フィルタアタッチメント3が装着されていると判断する。
つまり、偏光フィルタアタッチメント3の偏光フィルタを透過するように配置されている発光体を発光させ、かつ、偏光フィルタを透過しないように配置されている発光体を光らせない状態にして撮像した画像と、偏光フィルタアタッチメント3の偏光フィルタを透過するように配置されている発光体を光らせず、かつ、偏光フィルタを透過しないように配置されている発光体を発光させて撮像した画像との明るさを比較する比較部を設けておく。そして、この比較部による2つの画像の比較結果に基づいて偏光フィルタアタッチメント3の有無を自動で検知することができる。
[実施形態の作用効果]
以上説明したように、この実施形態に係る光学的情報読取装置1によれば、たとえば撮像素子5aが撮像した画像が暗くてデコード処理ができないような場合にはゲインを上げることで画像を明るくすることができる。このときに設定されたゲインの大きさが所定の閾値よりも大きい場合には、撮像素子5aからの読み出し時に加わったノイズの増幅によって画像のS/N比が悪化していることがある。この場合、撮像素子5aが撮像した画像に対して、弱平滑化フィルタが自動的に適用される。この弱平滑化フィルタは、フィルタ設定部29gによって一般的に適用され得る平滑化フィルタに比べて平滑化機能が弱いので、コントラストの減少の程度は低い。よって、ノイズが低減された画像を用いてデコード処理が可能になる。
以上説明したように、この実施形態に係る光学的情報読取装置1によれば、たとえば撮像素子5aが撮像した画像が暗くてデコード処理ができないような場合にはゲインを上げることで画像を明るくすることができる。このときに設定されたゲインの大きさが所定の閾値よりも大きい場合には、撮像素子5aからの読み出し時に加わったノイズの増幅によって画像のS/N比が悪化していることがある。この場合、撮像素子5aが撮像した画像に対して、弱平滑化フィルタが自動的に適用される。この弱平滑化フィルタは、フィルタ設定部29gによって一般的に適用され得る平滑化フィルタに比べて平滑化機能が弱いので、コントラストの減少の程度は低い。よって、ノイズが低減された画像を用いてデコード処理が可能になる。
一方、設定されたゲインの大きさが所定の閾値以下の場合には、読み出し時に加わったノイズの影響はそれほど強くなく、画像のS/N比の悪化は回避できていることがあるので、弱平滑化フィルタを適用することなく、デコード処理が可能になる。
上述の実施形態はあらゆる点で単なる例示に過ぎず、限定的に解釈してはならない。さらに、特許請求の範囲の均等範囲に属する変形や変更は、全て本発明の範囲内のものである。
以上説明したように、本発明に係る光学的情報読取装置は、たとえば、バーコードや二次元コード等のコードを読み取る場合に使用することができる。
1 光学的情報読取装置
4 照明部
5 撮像部
5a 撮像素子
29 制御ユニット(第2プロセッサ)
29d 処理部
29e ゲイン設定部
29g フィルタ設定部
31 デコード部
34 FPGA(第1プロセッサ)
35 記憶装置
C コード
W ワーク
4 照明部
5 撮像部
5a 撮像素子
29 制御ユニット(第2プロセッサ)
29d 処理部
29e ゲイン設定部
29g フィルタ設定部
31 デコード部
34 FPGA(第1プロセッサ)
35 記憶装置
C コード
W ワーク
Claims (5)
- ワークに付されたコードを撮像する撮像素子を有する撮像部と、
上記撮像部が撮像した画像に適用されるゲインを設定するためのゲイン設定部と、
上記撮像部が撮像した画像に平滑化フィルタを適用するか否か、または適用する平滑化フィルタによる平滑化の強さを設定するためのフィルタ設定部と、
上記ゲイン設定部により設定されたゲインの大きさが所定の閾値よりも大きいか否かを判定し、上記ゲイン設定部により設定されたゲインの大きさが所定の閾値よりも大きいと判定される場合に、上記フィルタ設定部により適用可能な平滑化フィルタよりも弱い平滑化機能を有する弱平滑化フィルタを、上記撮像部が撮像した画像に自動的に適用する前処理を実行してから上記画像に含まれるコードのデコード処理を実行する一方、上記ゲイン設定部により設定されたゲインの大きさが所定の閾値以下と判定される場合に、上記前処理を実行せずに、上記画像に含まれるコードのデコード処理を実行する処理部とを備えていることを特徴とする光学的情報読取装置。 - 請求項1に記載の光学的情報読取装置において、
上記処理部は、上記ゲイン設定部により設定されたゲインの大きさに応じて上記弱平滑化フィルタの強さを変化させるように構成されていることを特徴とする光学的情報読取装置。 - 請求項1または2に記載の光学的情報読取装置において、
上記フィルタ設定部は、上記撮像部により撮像された画像に適用する画像処理フィルタの種別を、膨脹フィルタ、収縮フィルタ及び平滑化フィルタを少なくとも含む画像処理フィルタ群の中から選択して変更するとともに、上記画像に適用する画像処理フィルタの強さを変化させて得られた複数の画像を生成し、生成された複数の画像に含まれるコードのデコード処理のし易さを示すスコアを画像毎に算出し、算出された複数のスコアを比較することにより、適用する画像処理フィルタの種別と強さを設定するように構成されていることを特徴とする光学的情報読取装置。 - 請求項1から3のいずれか1つに記載の光学的情報読取装置において、
上記光学的情報読取装置は、上記撮像部が出力する多階調の画像を低階調の画像に変換する階調変換処理を実行するとともに、上記前処理を実行する第1プロセッサと、上記フィルタ設定部により設定されるフィルタ処理の少なくとも一部及び上記デコード処理を実行する第2プロセッサとを備えていることを特徴とする光学的情報読取装置。 - 請求項1から4のいずれか1つに記載の光学的情報読取装置において、
上記処理部は、上記光学的情報読取装置の設定時に、上記ゲイン設定部により設定されたゲインの大きさが所定の閾値よりも大きいと判定される場合に、上記前処理を実行してから、上記画像に含まれるコードのデコード処理を実行するように構成されていることを特徴とする光学的情報読取装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017032329A JP2018136858A (ja) | 2017-02-23 | 2017-02-23 | 光学的情報読取装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017032329A JP2018136858A (ja) | 2017-02-23 | 2017-02-23 | 光学的情報読取装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2018136858A true JP2018136858A (ja) | 2018-08-30 |
Family
ID=63365623
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017032329A Pending JP2018136858A (ja) | 2017-02-23 | 2017-02-23 | 光学的情報読取装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2018136858A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11823005B2 (en) | 2020-03-19 | 2023-11-21 | Keyence Corporation | Optical reading device |
-
2017
- 2017-02-23 JP JP2017032329A patent/JP2018136858A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11823005B2 (en) | 2020-03-19 | 2023-11-21 | Keyence Corporation | Optical reading device |
JP7451844B2 (ja) | 2020-03-19 | 2024-03-19 | 株式会社キーエンス | 光学読取装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2018136853A (ja) | 光学的情報読取装置 | |
JP7108747B2 (ja) | 光学的情報読取装置 | |
EP3255580B1 (en) | Hand-mounted indicia-reading device with finger motion triggering | |
US10244180B2 (en) | Imaging module and reader for, and method of, expeditiously setting imaging parameters of imagers for imaging targets to be read over a range of working distances | |
JP4058529B2 (ja) | 光学情報読取装置 | |
US20050167498A1 (en) | Method and apparatus for optically picking up an image of an information code | |
JP5956941B2 (ja) | 光学コード読取システム及び光学コードの読取制御方法 | |
JP6434118B2 (ja) | 光学的情報読取装置、光学的情報読取方法およびプログラム | |
JP2016033788A (ja) | 光学的情報読取装置、光学的情報読取方法およびプログラム | |
US11823005B2 (en) | Optical reading device | |
JP2019071018A (ja) | 光学的情報読取装置及び光学的情報読取方法 | |
JP2018136858A (ja) | 光学的情報読取装置 | |
JP2007087005A (ja) | 光学的情報読取装置 | |
JP2006163858A (ja) | 光学情報コード読取装置 | |
JP2018136854A (ja) | 光学的情報読取装置 | |
CN116508316A (zh) | 具有多孔径光学组件的机器视觉系统和方法 | |
JP5533714B2 (ja) | 光学情報読み取り装置 | |
JP2011197856A (ja) | 光学的情報読取装置 | |
JP5104713B2 (ja) | 光学的情報読取装置 | |
JPH11312211A (ja) | シンボル読取り装置 | |
JP5168245B2 (ja) | 光学的情報読取装置 | |
JP2011113308A (ja) | シンボル認識装置及びその制御プログラム | |
JP2016170599A (ja) | 情報コード読取装置 | |
JP2021149603A (ja) | 光学読取装置 | |
JP2021047541A (ja) | 光学式情報読取装置 |