(57)【要約】【課題】ゲインを上げることによって画像の明るさを明るくする場合に、平滑化フィルタを必要に応じて自動的に適用可能にしてコードの読取精度を高める。【解決手段】ゲイン設定部によって設定されたゲインの大きさが所定の閾値よりも大きいと判定される場合に弱平滑化フィルタを画像に自動的に適用した後、デコード処理を実行する。一方、ゲインの大きさが所定の閾値以下と判定される場合に弱平滑化フィルタを適用することなく、デコード処理を実行する。【選択図】図２０
2018136858.tif 000002
【特許請求の範囲】
【請求項１】
ワークに付されたコードを撮像する撮像素子を有する撮像部と、
上記撮像部が撮像した画像に適用されるゲインを設定するためのゲイン設定部と、
上記撮像部が撮像した画像に平滑化フィルタを適用するか否か、または適用する平滑化フィルタによる平滑化の強さを設定するためのフィルタ設定部と、
上記ゲイン設定部により設定されたゲインの大きさが所定の閾値よりも大きいか否かを判定し、上記ゲイン設定部により設定されたゲインの大きさが所定の閾値よりも大きいと判定される場合に、上記フィルタ設定部により適用可能な平滑化フィルタよりも弱い平滑化機能を有する弱平滑化フィルタを、上記撮像部が撮像した画像に自動的に適用する前処理を実行してから上記画像に含まれるコードのデコード処理を実行する一方、上記ゲイン設定部により設定されたゲインの大きさが所定の閾値以下と判定される場合に、上記前処理を実行せずに、上記画像に含まれるコードのデコード処理を実行する処理部とを備えていることを特徴とする光学的情報読取装置。
【請求項２】
請求項１に記載の光学的情報読取装置において、
上記処理部は、上記ゲイン設定部により設定されたゲインの大きさに応じて上記弱平滑化フィルタの強さを変化させるように構成されていることを特徴とする光学的情報読取装置。
【請求項３】
請求項１または２に記載の光学的情報読取装置において、
上記フィルタ設定部は、上記撮像部により撮像された画像に適用する画像処理フィルタの種別を、膨脹フィルタ、収縮フィルタ及び平滑化フィルタを少なくとも含む画像処理フィルタ群の中から選択して変更するとともに、上記画像に適用する画像処理フィルタの強さを変化させて得られた複数の画像を生成し、生成された複数の画像に含まれるコードのデコード処理のし易さを示すスコアを画像毎に算出し、算出された複数のスコアを比較することにより、適用する画像処理フィルタの種別と強さを設定するように構成されていることを特徴とする光学的情報読取装置。
【請求項４】
請求項１から３のいずれか１つに記載の光学的情報読取装置において、
上記光学的情報読取装置は、上記撮像部が出力する多階調の画像を低階調の画像に変換する階調変換処理を実行するとともに、上記前処理を実行する第１プロセッサと、上記フィルタ設定部により設定されるフィルタ処理の少なくとも一部及び上記デコード処理を実行する第２プロセッサとを備えていることを特徴とする光学的情報読取装置。
【請求項５】
請求項１から４のいずれか１つに記載の光学的情報読取装置において、
上記処理部は、上記光学的情報読取装置の設定時に、上記ゲイン設定部により設定されたゲインの大きさが所定の閾値よりも大きいと判定される場合に、上記前処理を実行してから、上記画像に含まれるコードのデコード処理を実行するように構成されていることを特徴とする光学的情報読取装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報を光学的に読み取る光学的情報読取装置に関する。
【背景技術】
【０００２】
近年、たとえば物品の流通経路を製造段階から消費段階あるいは廃棄段階まで追跡可能にする、いわゆるトレーサビリティが重要視されてきており、このトレーサビリティを目的としたコードリーダが普及してきている。また、トレーサビリティ以外にもコードリーダは様々な分野で利用されている。
【０００３】
一般的に、コードリーダは、ワークに付されたバーコードや二次元コード等のコードをカメラによって撮像し、得られた画像に含まれるコードを画像処理によって切り出して二値化し、デコード処理して情報を読み取ることができるように構成されており、情報を光学的に読み取る装置であることから光学的情報読取装置とも呼ばれている（たとえば特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１６−０３３７８８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、光学的情報読取装置のカメラによってコードを撮像したときの画像が暗過ぎてデコード処理ができないような場合には、カメラの露光時間を長くするか、ゲインを上げることによって画像の明るさをデコード処理が可能な明るさまで明るくする必要がある。
【０００６】
しかしながら、露光時間を長くすると被写体であるコードがブレ易くなり、特に高速に移動するワークに付されたコードの撮像に対応できなくなるので、露光時間の調整には限界がある。また、露光時間を長くすると、照明の点灯時間も同様に延ばす必要があるので、照明装置の発熱量が増加するというデメリットもある。
【０００７】
そこで、高速移動中のワークに付されたコードを読み取る場合やコードの読み取り間隔が短い場合には、ゲインを上げることによって画像の明るさを確保する方法を採用することがある。ところが、ＣＭＯＳセンサ等の撮像素子で撮像された画像の各画素には、撮像対象物の明るさに応じた情報だけではなく、読み出し時のショットノイズも加わっている。このため、ゲインを上げると、ノイズも本来の情報と合わせて増幅されるので、画像のＳ／Ｎ比が悪化し、その結果、露光時間を長くする場合と比較してデコード処理の難易度が上がるという問題がある。
【０００８】
ゲインを上げることによって画像のＳ／Ｎ比が悪化した場合、特許文献１にも開示されているような平滑化フィルタを適用してノイズを減ずることは可能であるが、平滑化フィルタを適用するとノイズだけではなく、画像のコントラストも減じてしまうので、逆にデコード処理の難易度が上がるという問題がある。つまり、ゲインを上げた場合に使用者が平滑化フィルタを適用するか否かの設定を行うのは容易ではない。
【０００９】
本発明は、かかる点に鑑みてなされたものであり、その目的とするところは、ゲインを上げることによって画像の明るさを明るくする場合に、平滑化フィルタを必要に応じて自動的に適用可能にしてコードの読取精度を高めることにある。
【課題を解決するための手段】
【００１０】
上記目的を達成するために、本発明では、ワークに付されたコードを撮像する撮像素子を有する撮像部と、上記撮像部が撮像した画像に適用されるゲインを設定するためのゲイン設定部と、上記撮像部が撮像した画像に平滑化フィルタを適用するか否か、または適用する平滑化フィルタによる平滑化の強さを設定するためのフィルタ設定部と、上記ゲイン設定部により設定されたゲインの大きさが所定の閾値よりも大きいか否かを判定し、上記ゲイン設定部により設定されたゲインの大きさが所定の閾値よりも大きいと判定される場合に、上記フィルタ設定部により適用可能な平滑化フィルタよりも弱い平滑化機能を有する弱平滑化フィルタを、上記撮像部が撮像した画像に自動的に適用する前処理を実行してから上記画像に含まれるコードのデコード処理を実行する一方、上記ゲイン設定部により設定されたゲインの大きさが所定の閾値以下と判定される場合に、上記前処理を実行せずに、上記画像に含まれるコードのデコード処理を実行する処理部とを備えている。
【００１１】
この構成によれば、たとえば撮像部が撮像した画像が暗くてデコード処理ができないような場合にはゲインを上げることで画像を明るくすることができる。このときに設定されたゲインの大きさが所定の閾値よりも大きい場合には、撮像素子からの読み出し時に加わったノイズの増幅によって画像のＳ／Ｎ比が悪化していることがある。この場合、撮像部が撮像した画像に対して、弱平滑化フィルタが自動的に適用される。ここで、弱平滑化フィルタは、フィルタ設定部によって一般的に適用され得る平滑化フィルタに比べて平滑化機能が弱いので、弱平均化フィルタの適用によるコントラストの減少の程度は低い。よって、ノイズが低減された画像を用いてデコード処理が可能になる。
【００１２】
一方、設定されたゲインの大きさが所定の閾値以下の場合には、読み出し時に加わったノイズの影響はそれほど強くなく、画像のＳ／Ｎ比の悪化の程度は低くなっていることがあるので、弱平滑化フィルタを適用することなく、デコード処理が可能になると考えられる。
【００１３】
また、上記処理部は、上記ゲイン設定部により設定されたゲインの大きさに応じて上記弱平滑化フィルタの強さを変化させるように構成されていてもよい。
【００１４】
また、上記フィルタ設定部は、上記撮像部により撮像された画像に適用する画像処理フィルタの種別を、膨脹フィルタ、収縮フィルタ及び平滑化フィルタを少なくとも含む画像処理フィルタ群の中から選択して変更するとともに、上記画像に適用する画像処理フィルタの強さを変化させて得られた複数の画像を生成し、生成された複数の画像に含まれるコードのデコード処理のし易さを示すスコアを画像毎に算出し、算出された複数のスコアを比較することにより、適用する画像処理フィルタの種別と強さを設定するように構成されていてもよい。
【００１５】
また、上記光学的情報読取装置は、上記撮像部が出力する多階調の画像を低階調の画像に変換する階調変換処理を実行するとともに、上記前処理を実行する第１プロセッサと、上記フィルタ設定部により設定されるフィルタ処理の少なくとも一部及び上記デコード処理を実行する第２プロセッサとを備えていてもよい。
【００１６】
また、上記処理部は、上記光学的情報読取装置の設定時に、上記ゲイン設定部により設定されたゲインの大きさが所定の閾値よりも大きいと判定される場合に、上記前処理を実行してから、上記画像に含まれるコードのデコード処理を実行するように構成されていてもよい。
【発明の効果】
【００１７】
本発明によれば、ゲインの大きさが所定の閾値よりも大きいと判定される場合に弱平滑化フィルタを画像に自動的に適用した後、デコード処理を実行することができ、一方、ゲインの大きさが所定の閾値以下と判定される場合に弱平滑化フィルタを適用することなく、デコード処理を実行することができる。これにより、ゲインを上げることによって画像の明るさを明るくする場合に、弱平滑化フィルタを必要に応じて自動的に適用可能にしてコードの読取精度を高めることができる。
【図面の簡単な説明】
【００１８】
【図１】光学的情報読取装置の運用時を説明する図である。
【図２】光学的情報読取装置の斜視図である。
【図３】光学的情報読取装置を照明部側から見た図である。
【図４】光学的情報読取装置の側面図である。
【図５】光学的情報読取装置を表示部側から見た図である。
【図６】偏光フィルタアタッチメントを本体から取り外した状態を示す斜視図である。
【図７】リフレクタの斜視図である。
【図８】リフレクタの正面図である。
【図９】透光パネルの斜視図である。
【図１０】透光パネルの正面図である。
【図１１】光学的情報読取装置のブロック図である。
【図１２】ＦＰＧＡを備えている場合の光学的情報読取装置のブロック図である。
【図１３】コンピュータのブロック図である。
【図１４】パラメータセット記憶部の記憶内容を表示するためのユーザーインターフェースである。
【図１５】チューニング工程を示すフローチャートである。
【図１６】モニタ時におけるチューニング用インターフェースである。
【図１７】ピント合わせが完了した状態のチューニング用インターフェースである。
【図１８】明るさ調整中のチューニング用インターフェースである。
【図１９】マッチングレベルを表示したチューニング用インターフェースである。
【図２０】撮像条件の最適化の詳細手順を示すフローチャートである。
【図２１】得られた撮像条件の例を示す図である。
【図２２】弱平滑化フィルタの強さを変化させた場合の明るさの変化を示すグラフである。
【図２３】運用時における制御内容を示すフローチャートである。
【図２４】元画像、弱平滑化後の画像、従来のガウシアンフィルタ適用後の画像を示す図である。
【発明を実施するための形態】
【００１９】
以下、本発明の実施形態を図面に基づいて詳細に説明する。尚、以下の好ましい実施形態の説明は、本質的に例示に過ぎず、本発明、その適用物或いはその用途を制限することを意図するものではない。
【００２０】
図１は、本発明の実施形態に係る光学的情報読取装置１の運用時を模式的に示す図である。この例では、複数のワークＷが搬送用ベルトコンベアＢの上面に載置された状態で図１における矢印Ｙの方向へ搬送されており、そのワークＷから上方へ離れた所に、実施形態に係る光学的情報読取装置１が設置されている。光学的情報読取装置１は、ワークＷに付されているコードを撮像し、撮像された画像に含まれるコードをデコード処理して情報を読み取ることができるように構成されたコードリーダである。光学的情報読取装置１は、その運用時に動かないようにブラケット等（図示せず）に固定して使用してもよいし、ロボット（図示せず）や使用者等が把持して動かしながら運用してもよい。また、静止状態にあるワークＷのコードを光学的情報読取装置１によって読み取るようにしてもよい。運用時とは、搬送用ベルトコンベアＢによって搬送されるワークＷのコードを順に読み取る動作を行っている時である。
【００２１】
また、各ワークＷの上面にはコードが付されている。コードには、バーコード及び二次元コードの両方が含まれる。二次元コードとしては、たとえば、ＱＲコード（登録商標）、マイクロＱＲコード、データマトリクス（Ｄａｔａ  ｍａｔｒｉｘ；Ｄａｔａ  ｃｏｄｅ）、ベリコード（Ｖｅｒｉ  ｃｏｄｅ）、アズテックコード（Ａｚｔｅｃ  ｃｏｄｅ）、ＰＤＦ４１７、マキシコード（Ｍａｘｉ  ｃｏｄｅ）などがある。二次元コードにはスタック型とマトリクス型があるが、本発明はいずれの二次元コードに対しても適用できる。コードは、ワークＷに直接印刷あるいは刻印することによって付してもよいし、ラベルに印刷した後にワークＷに貼付することによって付してもよく、その手段、方法は問わない。
【００２２】
光学的情報読取装置１は、コンピュータ１００及びプログラマブル・ロジック・コントローラ（ＰＬＣ）１０１にそれぞれ信号線１００ａ、１０１ａによって有線接続されているが、これに限らず、光学的情報読取装置１、コンピュータ１００及びＰＬＣ１０１に通信モジュールを内蔵し、光学的情報読取装置１と、コンピュータ１００及びＰＬＣ１０１とを無線接続するようにしてもよい。ＰＬＣ１０１は、搬送用ベルトコンベアＢ及び光学的情報読取装置１をシーケンス制御するための制御装置であり、汎用のＰＬＣを利用することができる。コンピュータ１００は、汎用あるいは専用の電子計算機や携帯型端末等を利用することができる。
【００２３】
また、光学的情報読取装置１は、その運用時において、ＰＬＣ１０１から信号線１０１ａを介して、コード読取の開始タイミングを規定する読取開始トリガ信号を受信する。そして、光学的情報読取装置１は、この読取開始トリガ信号に基づいてコードの撮像やデコードを行う。その後、デコードした結果は、信号線１０１ａを介してＰＬＣ１０１へ送信される。このように、光学的情報読取装置１の運用時には、光学的情報読取装置１とＰＬＣ１０１等の外部制御装置との間で、信号線１０１ａを介して読取開始トリガ信号の入力とデコード結果の出力が繰り返し行われる。なお、読取開始トリガ信号の入力やデコード結果の出力は、上述したように、光学的情報読取装置１とＰＬＣ１０１との間の信号線１０１ａを介して行ってもよいし、それ以外の図示しない信号線を介して行ってもよい。例えば、ワークの到着を検知するためのセンサと光学的情報読取装置１とを直接的に接続し、そのセンサから光学的情報読取装置１へ読取開始トリガ信号を入力するようにしてもよい。
【００２４】
［光学的情報読取装置１の全体構成］
図２〜図６に示すように、光学的情報読取装置１は、装置本体２と、偏光フィルタアタッチメント３とを備えている。偏光フィルタアタッチメント３は省略してもよい。装置本体２には、照明部４と、撮像部５と、表示部６と、電源コネクタ７と、信号線コネクタ８とが設けられている。さらに、装置本体２には、図５に示すインジケータ９と、図３に示すエイマー１０と、図５に示すセレクトボタン１１と、エンターボタン１２とが設けられている。
【００２５】
この実施形態の説明では、図２〜図６に示すように光学的情報読取装置１の前面、後面、上面、下面、左面、右面を定義するが、これは説明の便宜を図るためだけであり、光学的情報読取装置１の使用時における向きを限定するものではない。すなわち、図１に示すように、光学的情報読取装置１の前面が下に向くように設置して使用することや、光学的情報読取装置１の前面が上に向くように設置して使用すること、あるいは光学的情報読取装置１の前面が傾斜した状態となるように設置して使用すること等が可能である。また、光学的情報読取装置１の左右方向は幅方向と呼ぶこともできる。
【００２６】
装置本体２は、上下方向に長い略矩形箱状をなすケーシング２ａを備えている。ケーシング２ａの内部には、図１１に示す制御ユニット２９やデコード部３１等が設けられている。図２及び図６に示すように、ケーシング２ａの前面に偏光フィルタアタッチメント３が着脱可能に取り付けられている。また、ケーシング２ａの前面には、光学的情報読取装置１の前方へ向けて光を照射することによってワークＷの少なくともコードを照明する照明部４と、光学的情報読取装置１の前方にあるワークＷの少なくともコードを撮像する撮像部５とが設けられている。さらに、ケーシング２ａの前面には、発光ダイオード（ＬＥＤ）等の発光体で構成されたエイマー１０が設けられている。このエイマー１０は、光学的情報読取装置１の前方へ向けて光を照射することによって撮像部５による撮像範囲や照明部４の光軸の目安を示すためのものである。使用者は、エイマー１０から照射される光を参照して光学的情報読取装置１を設置することもできる。
【００２７】
ケーシング２ａの上面には表示部６が設けられている。また、ケーシング２ａの上面には、光学的情報読取装置１の設定時等に使用するセレクトボタン１１及びエンターボタン１２とが設けられている。セレクトボタン１１及びエンターボタン１２は制御ユニット２９に接続されていて、制御ユニット２９はセレクトボタン１１及びエンターボタン１２の操作状態を検出可能になっている。セレクトボタン１１は、表示部６に表示された複数の選択肢の中から１つを選択する際に操作するボタンである。エンターボタン１２は、セレクトボタン１１で選択した結果を確定する際に操作するボタンである。
【００２８】
さらに、ケーシング２ａの上面の左右両側には、それぞれインジケータ９が設けられている。インジケータ９は、制御ユニット２９に接続されていて、たとえば発光ダイオード等の発光体で構成することができる。光学的情報読取装置１の作動状態をインジケータ９の点灯状態によって外部に報知することができる。
【００２９】
ケーシング２ａの下面には、光学的情報読取装置１に電力を供給するための電力配線が接続される電源コネクタ７と、コンピュータ１００及びＰＬＣ１０１に接続される信号線１００ａ、１０１ａ用のＥｔｈｅｒｎｅｔコネクタ８とが設けられている。尚、Ｅｔｈｅｒｎｅｔ規格は一例であり、Ｅｔｈｅｒｎｅｔ規格以外の規格の信号線を利用することもできる。
【００３０】
［照明部４の構成］
照明部４は、図７及び図８に示すリフレクタ１５と、図３等に示す複数の第１発光ダイオード１６及び複数の第２発光ダイオード１７とを備えている。第１発光ダイオード１６と第２発光ダイオード１７とは、制御ユニット２９に電気的に接続されていて制御ユニット２９により個別に制御され、別々に点灯及び消灯させることができるようになっている。
【００３１】
図７及び図８に示すように、リフレクタ１５は、光学的情報読取装置１の前面の上部から下部に亘って延びる板状をなしている。第１発光ダイオード１６及び第２発光ダイオード１７はそれぞれ７つ設けられているが、第１発光ダイオード１６及び第２発光ダイオード１７の数はこれに限られるものではない。第１発光ダイオード１６及び第２発光ダイオード１７はリフレクタ１５の後側に配置されて前方へ光を照射するように光軸が設定されている。リフレクタ１５の上下方向中間部には、撮像部５を外部に臨ませるための撮像用開口部１５ａが形成されている。リフレクタ１５における撮像用開口部１５ａの左右両側には、それぞれエイマー１０の光を通すためのエイマー用開口部１５ｂが形成されている。
【００３２】
リフレクタ１５における撮像用開口部１５ａよりも下側部分には、第１発光ダイオード１６の光を通すとともに前方へ集光して照射するための第１孔１５ｃが第１発光ダイオード１６の数と同じだけ、即ち７つ形成されている。これら第１孔１５ｃは同じ形状とされており、前側へ向かって次第に拡径するコーン形状をなしている。第１孔１５ｃの内面は、光の反射率を高めるために金メッキ等のメッキ処理が施されている。
【００３３】
７つの第１孔１５ｃのうち、４つの第１孔１５ｃは、光学的情報読取装置１の左右方向（幅方向）に並ぶように配置されている。残りの３つの第１孔１５ｃは、その中心が上記４つの第１孔１５ｃの中心よりも下に位置するように、かつ、上記４つの第１孔１５ｃのうち、隣合う第１孔１５ｃ、１５ｃの中心間にそれぞれ位置するように配置されている。これにより、７つの第１孔１５ｃを密に配置することができる。第１発光ダイオード１６は、各第１孔１５ｃの中心に配置される。
【００３４】
リフレクタ１５における撮像用開口部１５ａよりも上側部分には、第２発光ダイオード１７の光を通すとともに前方へ集光して照射するための第２孔１５ｄが第２発光ダイオード１７の数と同じだけ、即ち７つ形成されている。これら第２孔１５ｄは第１孔１５ｃと同じ形状とされており、第２孔１５ｄの内面には第１孔１５ｃと同様なメッキ処理が施されている。
【００３５】
７つの第２孔１５ｄのうち、４つの第２孔１５ｄは、光学的情報読取装置１の左右方向（幅方向）に並ぶように配置されている。残りの３つの第２孔１５ｄは、その中心が上記４つの第２孔１５ｄの中心よりも上に位置するように、かつ、上記４つの第２孔１５ｄのうち、隣合う第２孔１５ｄ、１５ｄの中心間にそれぞれ位置するように配置されている。これにより、７つの第２孔１５ｄを密に配置することができる。第２発光ダイオード１７は、各第２孔１５ｄの中心に配置される。
【００３６】
照明部４は撮像部５と別体に構成されていてもよい。この場合、照明部４と撮像部５とを有線または無線接続することができる。また、後述する制御ユニット２９は、照明部４に内蔵されていてもよいし、撮像部５に内蔵されていてもよい。
【００３７】
［偏光フィルタアタッチメント３の構成］
図６に示すように、偏光フィルタアタッチメント３は、枠部材２０と、透光パネル２１とを備えている。枠部材２０は、光学的情報読取装置１の前面の外形状に略一致する外形状を有している。この枠部材２０の内部に、透光パネル２１が設けられている。透光パネル２１は、照明部４の第１発光ダイオード１６及び第２発光ダイオード１７を前方から覆うとともに、撮像部５も前方から覆うように形成されている。図９及び図１０に示すように、透光パネル２１における第１発光ダイオード１６を覆う部分、即ち下側部分２１ａは第１発光ダイオード１６の光を出射する部分であり、この下側部分２１ａは、無色透明で偏光フィルタを有していない部分である。一方、透光パネル２１における第２発光ダイオード１７を覆う部分、即ち上側部分２１ｂは第２発光ダイオード１７の光を出射する部分であり、この上側部分２１ｂは、偏光フィルタが設けられた部分である。さらに、透光パネル２１における下側部分２１ａと上側部分２１ｂとの間の中間部分２１ｃは撮像部５を覆う部分であり、撮像部５に入射する光が透過する部分である。中間部分２１ｃも偏光フィルタが設けられた部分である。上側部分２１ｂの偏光フィルタの偏光方向と、中間部分２１ｃの偏光フィルタの偏光方向とは、たとえば９０度異なっている。図９及び図１０では、偏光フィルタが設けられている部分を薄く着色して示している。図２、図３及び図６では偏光フィルタが設けられている部分を無着色としているが、実際には図９や図１０と同様に薄く着色される。
【００３８】
つまり、第１発光ダイオード１６から照射された光は偏光フィルタを通過せずにワークＷに達する一方、第２発光ダイオード１７から照射された光は偏光フィルタを通過してワークＷに達する。そして、ワークＷからの反射光は偏光フィルタを通過して撮像部５に入射することになる。
【００３９】
従って、使用者が偏光フィルタアタッチメント３を取り外さなくても、光学的情報読取装置１が第１発光ダイオード１６と第２発光ダイオード１７のどちらを点灯させるかを電気的に切り替えることで、様々なワークＷに容易に対応することができる。具体的には、偏光フィルタが無い方がより有利なワークＷ（たとえば鋳物等）については第１発光ダイオード１６を点灯させて第２発光ダイオード１７を消灯させる。一方、偏光フィルタが有る方がより有利なワークＷ（たとえばプリント基板やフライス加工面、黒色樹脂等に二次元コードが付されている場合）については第１発光ダイオード１６を消灯させて第２発光ダイオード１７を点灯させる。
【００４０】
［撮像部５の構成］
図１１は光学的情報読取装置１の構成を示すブロック図である。図１１に示すように、撮像部５は、ワークＷに付されていて上記照明部４によって照明されているコードを撮像する撮像素子５ａと、レンズ等を有する光学系５ｂと、オートフォーカス機構（ＡＦ機構）５ｃとを備えている。光学系５ｂには、ワークＷのコードが付された部分から反射した光が入射するようになっている。撮像素子５ａは、光学系５ｂを通して得られたコードの画像を電気信号に変換するＣＣＤ(charge-coupled device)やＣＭＯＳ（complementary metal oxide semiconductor）等の受光素子からなるイメージセンサである。撮像素子５ａは制御ユニット２９に接続されていて、撮像素子５ａによって変換された電気信号は、制御ユニット２９に入力される。また、ＡＦ機構５ｃは、光学系５ｂを構成するレンズのうち、合焦用レンズの位置や屈折率を変更することによってピント合わせを行う機構である。ＡＦ機構５ｃも制御ユニット２９に接続され、制御ユニット２９のＡＦ制御部２９ａにより制御される。
【００４１】
［表示部６の構成］
表示部６は、たとえば有機ＥＬディスプレイや液晶ディスプレイ等からなるものである。表示部６は、制御ユニット２９に接続され、たとえば撮像部５で撮像された画像、撮像部５で撮像されたコード、コードのデコード結果である文字列、読み取り成功率、マッチングレベル等を表示させることができる。読み取り成功率とは、複数回読み取り処理を実行したときの平均読み取り成功率であり、デコード部３１によるコードのデコード処理のし易さを示すスコアである。また、マッチングレベルとは、デコードが成功したコードの読み取りのしやすさを示す読取余裕度であり、これもデコード部３１によるコードのデコード処理のし易さを示すスコアである。マッチングレベルは、デコード時に発生した誤り訂正の数等から求めることができ、たとえば数値で表すことができる。誤り訂正が少なければ少ないほどマッチングレベル（読取余裕度）が高くなり、一方、誤り訂正が多ければ多いほどマッチングレベル（読取余裕度）が低くなる。
【００４２】
［デコード部３１の構成］
光学的情報読取装置１は、撮像素子５ａにより撮像された画像に含まれるコード位置を検出するとともに、検出されたコードにデコード処理を行うデコード部３１を有している。具体的に、デコード部３１は、白黒の二値化されたデータをデコードするように構成されており、デコードの際には、符号化されたデータの対照関係を示すテーブルを使用することができる。さらに、デコード部３１は、デコードした結果が正しいか否かを所定のチェック方式に従ってチェックする。データに誤りが発見された場合にはエラー訂正機能を使用して正しいデータを演算する。エラー訂正機能はコードの種類によって異なる。
【００４３】
デコード部３１は、コードをデコードして得られたデコード結果を記憶装置３５に書き込むように構成されている。また、デコード部３１では、デコード前の画像に対して各種画像処理フィルタ等の画像処理を行うこともできる。
【００４４】
デコード部３１が、撮像素子５ａにより撮像された画像に含まれるコード位置を検出する際には、撮像素子５ａにより撮像された画像内においてコードを探索し、コードが探索されたら、探索されたコードのたとえば中心部を推定し、その中心部のＸ座標とＹ座標を求める。コードの位置を検出する方法は、これに限られるものではなく、たとえばコードの端部のＸ座標とＹ座標を求めるようにしてもよい。
【００４５】
［通信部３２の構成］
光学的情報読取装置１は通信部３２を有している。通信部３２は、コンピュータ１００及びＰＬＣ１０１と通信を行う部分である。通信部３２は、コンピュータ１００及びＰＬＣ１０１と接続されるＩ／Ｏ部、ＲＳ２３２Ｃ等のシリアル通信部、無線ＬＡＮや有線ＬＡＮ等のネットワーク通信部を有していてもよい。
【００４６】
［制御ユニット２９の構成］
図１１に示す制御ユニット２９は、光学的情報読取装置１の各部を制御するためのユニットであり、ＣＰＵやＭＰＵ、システムＬＳＩ、ＤＳＰや専用ハードウエア等で構成することができる。制御ユニット２９は、後述するように様々な機能を搭載しているが、これらは論理回路によって実現されていてもよいし、ソフトウエアを実行することによって実現されていてもよい。
【００４７】
制御ユニット２９は、ＡＦ制御部２９ａと、撮像制御部２９ｂと、チューニング部２９ｃと、処理部２９ｄと、ゲイン設定部２９ｅと、露光時間設定部２９ｆと、フィルタ設定部２９ｇと、ＵＩ管理部２９ｈとを有している。ＡＦ制御部２９ａは、ＡＦ機構５ｃを制御するユニットであり、従来から周知のコントラストＡＦや位相差ＡＦによって光学系５ｂのピント合わせを行うことができるように構成されている。
【００４８】
撮像制御部２９ｂは、撮像素子５ａが撮像した画像に適用されるゲインが所定値になるように制御したり、照明部４の光量が所定の光量となるように制御したり、撮像素子５ａの露光時間（シャッタースピード）が所定時間となるように制御するためのユニットである。ここで、ゲインとは、撮像素子５ａに適用する増幅率（アナログゲイン）と、撮像素子５ａから出力された画像の明るさをデジタル画像処理によって増幅する際の増幅率（デジタルゲイン）とを含んでおり、両方を調整することができるように構成されているが、どちらか一方のみ調整可能にしてもよい。照明部４の光量については、第１発光ダイオード１６と第２発光ダイオード１７を別々に制御して変更することができる。ゲイン、照明部４の光量及び露光時間は、撮像部５の撮像条件である。
【００４９】
ゲイン設定部２９ｅは、撮像制御部２９ｂで適用されるゲインの大きさを設定する部分であり、このゲイン設定部２９ｅで設定されたゲインは、撮像素子５ａが撮像した画像に対して撮像制御部２９ｂで適用されることになる。つまり、このゲイン設定部２９ｅで設定されたゲインとなるように撮像制御部２９ｂはゲインを調整する。ゲイン設定部２９ｅは、アナログゲインとデジタルゲインの一方のみ設定してもよいし、両方を設定してもよい。尚、ゲインはたとえば図２１に示す表のように単位をｄＢで表すことができる。
【００５０】
また、ゲイン設定部２９ｅは、光学的情報読取装置１の使用者が任意に設定するためのユーザーインターフェース（ゲイン設定用インターフェース）等で構成されていてもよい。この場合、ゲイン設定部２９ｅにおいて使用者が適していると考えるゲインに設定されることになるので、チューニング工程で自動的に設定される値とは異なるゲインに設定されることがある。
【００５１】
露光時間設定部２９ｆは、撮像制御部２９ｂで適用される露光時間を設定する部分である。この露光時間設定部２９ｆで設定された露光時間となるように撮像制御部２９ｂは露光時間を調整する。露光時間設定部２９ｆは、光学的情報読取装置１の使用者が任意に設定するためのユーザーインターフェース（露光時間設定用インターフェース）等で構成されていてもよい。この場合、露光時間設定部２９ｆにおいて使用者が適していると考える露光時間に設定されることになるので、チューニング工程で自動的に設定される時間とは異なる露光時間に設定されることがある。
【００５２】
フィルタ設定部２９ｇは、撮像素子５ａが撮像した画像に平滑化フィルタを適用するか否か、または適用する平滑化フィルタによる平滑化の強さを設定するための部分である。フィルタ設定部２９ｇは、撮像素子５ａにより撮像された画像に適用する画像処理フィルタの種別を、平滑化フィルタだけではなく、膨脹フィルタ、収縮フィルタ及び平滑化フィルタを少なくとも含む画像処理フィルタ群の中から選択して変更するとともに、撮像素子５ａにより撮像された画像に適用する画像処理フィルタの強さを変化させることができるように構成されている。フィルタ設定部２９ｇが適用する画像処理フィルタの種類は上記した画像処理フィルタに限られるものではない。
【００５３】
そして、フィルタ設定部２９ｇは、上記画像処理フィルタ群の中から一の画像処理フィルタを選択して撮像素子５ａが撮像した画像に適用するとともに、適用する画像処理フィルタの強さを複数通りに変化させて複数の画像を生成することができる。さらに、フィルタ設定部２９ｇは、上記画像処理フィルタ群の中から別の画像処理フィルタを選択して変更し、その変更後の画像処理フィルタを、撮像素子５ａが撮像した画像に適用するとともに、適用する画像処理フィルタの強さを複数通りに変化させて複数の画像を生成する。また、フィルタ設定部２９ｇは、上記画像処理フィルタ群の中から複数種の画像処理フィルタを選択して撮像素子５ａが撮像した画像に一度に適用するとともに、適用する各画像処理フィルタの強さを複数通りに変化させて複数の画像を生成する。フィルタ設定部２９ｇは、このようにして生成された複数の画像に含まれる各コードのデコード処理のし易さを示すスコアを画像毎に算出し、算出された複数のスコアを比較することにより、適用する画像処理フィルタの種別と強さを設定するように構成されている。尚、デコード処理自体は、デコード部３１が行ってもよい。
【００５４】
各画像に含まれているコードのデコード処理のし易さについては次のように判定することができる。たとえば平均読み取り成功率が高い場合や、読み取りの誤りが少ない場合は、デコード処理がし易い場合であり、反対に、読み取り成功率が低い場合や、読み取りの誤りが多い場合には、デコード処理がし難い場合となる。上述した平均読み取り成功率を、コードのデコード処理のし易さを示すスコアとしてもよいし、マッチングレベルを、コードのデコード処理のし易さを示すスコアとしてもよい。マッチングレベルは、たとえば０〜１００の値で示すことができ、数値が大きくなるほどマッチングレベルが高くなる。
【００５５】
また、コードのデコード処理のし易さを示すスコアとしては、たとえばコードの読み取りに要する時間に基づいて算出することもできる。コードの読み取りに要する時間が長いということはコードのデコード処理がしにくい場合であり、一方、コードの読み取りに要する時間が短くて済むということはコードのデコード処理がし易い場合である。この場合のスコアは、コードの読み取りに要する時間をそのままスコアとして用いてもよいし、最も時間がかかった場合を「０」とし、最も短かった場合を「１００」として０〜１００の値をスコアとして用いてもよい。コードのデコード処理のし易さを示すスコアは上述したものに限られるものではなく、各種の算出方法に基づいて得られたスコアを用いることができる。
【００５６】
フィルタ設定部２９ｇは、基本的には、スコアが最も高かった（コードのデコード処理が最もし易かった）画像処理フィルタを適用するとともに、スコアが最も高かった画像処理フィルタの強さを設定する。フィルタ設定部２９ｇによる画像処理フィルタの適用及び画像処理フィルタの強さの設定については、たとえばマッチングレベルのみを基準としてもよいし、読み取り成功率のみを基準としてもよいし、コードの読み取りに要する時間のみを基準としてもよい。また、フィルタ設定部２９ｇによる画像処理フィルタの適用及び画像処理フィルタの強さの設定については、マッチングレベル、読み取り成功率、コードの読み取りに要する時間を総合的に考慮して決定することもできる。この場合、マッチングレベルが最も高いフィルタ以外の画像処理フィルタを設定することもある。
【００５７】
チューニング部２９ｃは、ゲイン、照明部４の光量及び露光時間等の撮像条件や、画像処理条件を変更して最適化するためのユニットである。画像処理条件とは、画像処理フィルタの係数（画像処理フィルタの強弱）や、複数の画像処理フィルタがある場合に画像処理フィルタの選択、種類の異なる画像処理フィルタの組み合わせ等である。搬送時のワークＷに対する外光の影響や、コードが付されている面の色及び材質等によって適切な撮像条件及び画像処理条件は異なる。よって、チューニング部２９ｃは、より適切な撮像条件及び画像処理条件を探索して、ＡＦ制御部２９ａ、撮像制御部２９ｂ、デコード部３１による処理を設定する。画像処理フィルタは、膨脹フィルタ、収縮フィルタ及び平滑化フィルタ以外にも、従来から周知の各種画像処理フィルタを使用することができる。
【００５８】
処理部２９ｄは、ゲイン設定部２９ｅにより設定されたゲインの大きさが所定の閾値よりも大きいか否かを判定し、ゲイン設定部２９ｅにより設定されたゲインの大きさが所定の閾値よりも大きいと判定される場合に、フィルタ設定部２９ｅにより適用可能な一般的な平滑化フィルタよりも弱い平滑化機能を有する弱平滑化フィルタを、撮像素子５ａが撮像した画像に自動的に適用する前処理を実行してから、撮像素子５ａが撮像した画像に含まれるコードのデコード処理を実行する。一方、処理部２９ｄは、ゲイン設定部２９ｅにより設定されたゲインの大きさが所定の閾値以下と判定される場合には、前処理、即ち弱平滑化フィルタを自動的に適用する処理を実行せずに、撮像素子５ａが撮像した画像に含まれるコードのデコード処理を実行するように構成されている。
【００５９】
また、処理部２９ｄは、ゲイン設定部２９ｅにより設定されたゲインの大きさに応じて弱平滑化フィルタの強さを変化させるように構成されていてもよい。ゲイン設定部２９ｅにより設定されたゲインが大きくなればなるほど弱平滑化フィルタの強さを強くしてもよいし、反対に、ゲイン設定部２９ｅにより設定されたゲインが小さくなればなるほど弱平滑化フィルタの強さを強くしてもよい。この処理部２９ｄによる制御内容については後述するフローチャートに基づいて詳細に説明する。
【００６０】
図１１に示すＵＩ管理部２９ｅは、表示部６に、各種ユーザーインターフェース、撮像部５で撮像されたコード、コードのデコード結果である文字列、読み取り成功率、マッチングレベル等を表示させたり、セレクトボタン１１及びエンターボタン１２からの入力を受け付けたり、インジケータ９の点灯を制御するユニットである。
【００６１】
また、図１２に示すように、光学的情報読取装置１は、撮像素子５ａが出力する画像を変換する変換処理を実行するとともに上記前処理を実行するＦＰＧＡ（field programmable gate array）（第１プロセッサ）３４と、フィルタ設定部２９ｇにより設定されるフィルタ処理の少なくとも一部を実行するとともに、デコード処理を実行するデコード部３１を有する制御ユニット２９（第２プロセッサ）とを備えていてもよい。ＦＰＧＡ３４は、撮像素子５ａが出力する多階調画像（たとえば１２ｂｉｔ画像）を低階調の画像（たとえば８ｂｉｔ画像）に変換する階調変換処理を実行するように構成されている。このＦＰＧＡ３４が、上記弱平滑化フィルタを、撮像素子５ａが撮像した画像に自動的に適用する前処理を実行する。これにより、弱平滑化処理が実行された後の画像が制御ユニット２９に入力されるので、ノイズの少ない画像を用いてデコード処理を行うことができる。また、ＦＰＧＡ３４で前処理を実行することで処理を高速化することができ、コードをより一層高速に読み取ることができるようになるので好ましい。尚、ＦＰＧＡ３４は一例であってＦＰＧＡ３４に限定されるものではなく、ＦＰＧＡ３４と同様な処理を行うことができる他の演算装置を用いて構成することもできる。
【００６２】
［記憶装置３５の構成］
記憶装置３５は、メモリやハードディスク等で構成されている。記憶装置３５には、デコード結果記憶部３５ａと、画像データ記憶部３５ｂと、パラメータセット記憶部３５ｃとが設けられている。デコード結果記憶部３５ａは、デコード部３１によりデコードされた結果であるデコード結果を記憶する部分である。画像データ記憶部３５ｂは、撮像素子５ａによって撮像された画像を記憶する部分である。
【００６３】
図１１に示すパラメータセット記憶部３５ｃは、コンピュータ１００等の設定装置によって設定された設定情報やセレクトボタン１１及びエンターボタン１２によって設定された設定情報等を記憶する部分である。パラメータセット記憶部３５ｃには、撮像部５の撮像条件（ゲイン、照明部４の光量及び露光時間等）と、画像処理条件（画像処理フィルタの種類等）との少なくとも一方を構成する複数のパラメータを含むパラメータセットを記憶することができる。この実施形態では、図１４に示すパラメータセット表示フォーマット４６の中に、バンク１〜５として表示するように、撮像部５の撮像条件を構成するパラメータ及び画像処理条件を構成するパラメータがセットになったパラメータセットを複数通り記憶することができるように構成されている。バンク１〜５には異なるパラメータセットを記憶させることができ、たとえばワークＷが異なる場合等に対応することができる。バンクの数は任意に設定することができる。
【００６４】
この光学的情報読取装置１では、パラメータセット記憶部３５ｃに記憶されている複数のパラメータセットのうち、一のパラメータセットから他のパラメータセットに切り替えることができるように構成されている。パラメータセットの切替は、使用者が行うこともできるし、ＰＬＣ１０１で行うように構成することもできる。パラメータセットの切替を使用者が行う場合には、図１４に示すユーザーインターフェースに組み込まれているパラメータセット切替部４６ｂを操作すればよい。パラメータセット切替部４６ｂを「有効」にすることで、そのバンクのパラメータセットが光学的情報読取装置１の運用時に使用され、また、パラメータセット切替部４６ｂを「無効」にすることで、そのバンクのパラメータセットが光学的情報読取装置１の運用時に使用されないようになる。つまり、パラメータセット切替部４６ｂは、一のパラメータセットから他のパラメータセットに切り替えるためのものである。尚、パラメータセット切替部４６ｂの形態は図示した形態に限られるものではなく、たとえばボタン等、各種の形態を使用することができる。
【００６５】
ここで、図１４に示すパラメータセット４６について、補足説明する。図１４では、「共通」パラメータとして、「オルタネート」（複数登録したパラメータセットを自動的に切り換えながら撮像・デコードを試行する機能）や「バンク内リトライ回数」（オルタネートするまでに行う撮像・デコードの回数）などが含まれている。「コード」パラメータとしては、「コード詳細設定」（読取を行うコード種別）や「桁限定出力機能」（読取データの出力桁を限定する機能）などが含まれている。「照明」パラメータとしては、「内部照明の使用」（光学的情報読取装置１に内蔵されている照明の使用有無）、「外部照明の使用」（光学的情報読取装置１に外付けされている照明の使用有無）及び「偏光フィルタ」（後述する偏光モードを有効にするか否か）が含まれている。「撮像」パラメータとしては、「露光時間」（撮像時の露光時間μｓ）、「ゲイン」（撮像時のゲイン）及び「コントラスト調整方式」（上述した「ＨＤＲ」、「超ＨＤＲ」、「標準特性」及び「コントラスト強調特性」のいずれか）が含まれている。さらに、「画像処理フィルタ」パラメータとして、「１番目画像処理フィルタ」（１番目に実行する画像フィルタの種別）や「１番目画像処理フィルタ回数」（１番目の画像フィルタを実行する回数）などが含まれている。
【００６６】
図１４では、バンク１〜５において、上述した「コントラスト調整方式」は、それぞれ「ＨＤＲ」「コントラスト強調」「標準」「超ＨＤＲ」「ＨＤＲ」に設定されている。また、上述した「オルタネート」は、バンク１およびバンク２のみが「有効」となっている。したがって、光学的情報読取装置１は、まず、バンク１の設定内容であるコントラスト調整方式「ＨＤＲ」を用いて、デコードを試みる。デコードに失敗した場合には、バンク１の設定内容からバンク２の設定内容に切り換えて、バンク２の設定内容であるコントラスト調整方式「コントラスト強調」を用いて、デコードを試みる。要するに、複数登録したパラメータセットを自動的に切り換えながらデコードを試みることで、自動的にコントラスト調整方式を切り替えながらデコードを試みることができ、ひいては読取精度を高めることができる。
【００６７】
なお、上述した「オルタネート」の順序は、種々の方法が考えられる。例えば、上述したように、１番から順番にバンクを切り換えてデコードを試行してもよい。その他にも、例えば、読み取り成功したバンクを優先するようにしてもよい。具体的には、読取に成功したバンクについては、次の読取時に優先的に設定されるようにしてもよい。これにより、例えばロット単位で印字状態が変わる場合に、読取タクトを短縮することができる。
【００６８】
［コンピュータ１００の構成］
コンピュータ１００は、図１３にブロック図で示すように、ＣＰＵ４０と、記憶装置４１と、表示部４２と、入力部４３と、通信部４４とを備えている。光学的情報読取装置１を小型化することで、光学的情報読取装置１の表示部６やボタン１１、１２等だけでは、光学的情報読取装置１の全ての設定を行うことが困難になるので、光学的情報読取装置１とは別にコンピュータ１００を用意し、コンピュータ１００で光学的情報読取装置１の各種設定を行って設定情報を光学的情報読取装置１に転送するようにしてもよい。
【００６９】
また、コンピュータ１００と光学的情報読取装置１とを双方向通信可能に接続して、上述した光学的情報読取装置１の処理の一部をコンピュータ１００で行うようにしてもよい。逆も可能である。この場合、コンピュータ１００の一部が光学的情報読取装置１の構成要素の一部になる。たとえばＣＰＵ４０や表示部４２を光学的情報読取装置１の構成要素の一部とすることもできる。
【００７０】
ＣＰＵ４０は、記憶装置４１に記憶されているプログラムに基づいてコンピュータ１００が備えている各部を制御するユニットである。記憶装置４１は、メモリやハードディスク等で構成されている。表示部４２は、たとえば液晶ディスプレイ等で構成されている。入力部４３は、キーボードやマウス、表示部４２に設けられたタッチスクリーンやタッチセンサ等で構成されている。通信部４４は、光学的情報読取装置１と通信を行う部分である。通信部４４は、光学的情報読取装置１と接続されるＩ／Ｏ部、ＲＳ２３２Ｃ等のシリアル通信部、無線ＬＡＮや有線ＬＡＮ等のネットワーク通信部を有していてもよい。
【００７１】
ＣＰＵ４０は、様々な演算を行う演算部４０ａを備えている。演算部４０ａには、ＵＩ制御部４０ｂと設定部４０ｃとが設けられている。ＵＩ制御部４０ｂは、光学的情報読取装置１の撮像部５の撮像条件や画像処理条件等を設定するためのユーザーインターフェースや、光学的情報読取装置１から出力されたデコード結果、画像データ等を表示するためのユーザーインターフェースを生成し、表示部４２に表示させる。設定部４０ｃは、撮像部５の撮像条件及び画像処理条件を設定する。
【００７２】
コンピュータ１００の記憶装置４１は、デコード結果記憶部４１ａと、画像データ記憶部４１ｂと、パラメータセット記憶部４１ｃとが設けられている。これら記憶部４１ａ〜４１ｃは、光学的情報読取装置１のデコード結果記憶部３５ａと、画像データ記憶部３５ｂと、パラメータセット記憶部３５ｃと同様な情報を記憶する部分であり、光学的情報読取装置１の構成要素の一部とすることができる。
【００７３】
［設定時に実行される工程］
次に、上記のように構成された光学的情報読取装置１が設定時に実行する工程について説明する。以下に述べる工程は、光学的情報読取装置１の制御ユニット２９が実行してもよいし、コンピュータ１００のＣＰＵ４０が光学的情報読取装置１の各部を制御しながら実行してもよい。この実施形態では、光学的情報読取装置１の制御ユニット２９にチューニング部２９ｃが設けられているので、制御ユニット２９がチューニング工程を実行する。
【００７４】
光学的情報読取装置１の設定時には図１５に示すフローチャートに従ってチューニング工程を実行し、チューニング工程が完了した後、光学的情報読取装置１の運用に移る。チューニング工程では、コンピュータ１００のＵＩ制御部４０ｂが、図１６に示すようなユーザーインターフェース４５をコンピュータ１００の表示部４２に表示させる。図１６に示すユーザーインターフェース４５は、チューニング用インターフェースである。チューニング用インターフェース４５には、モニタボタン４５ａ、オートフォーカスボタン４５ｂ、チューニングボタン４５ｃ及び画像表示領域４５ｄが組み込まれている。
【００７５】
使用者がコンピュータ１００の入力部４３を操作してモニタボタン４５ａをクリックすると、光学的情報読取装置１の撮像部５によって現在撮像されている画像が画像表示領域４５ｄに表示され、この画像表示領域４５ｄに表示される画像はほぼリアルタイムで更新される。使用者は、チューニング用インターフェース４５の画像を見ながら、ワークＷのコードＣが画像表示領域４５ｄに表示されるようにワークＷを移動させる。
【００７６】
その後、使用者がチューニング用インターフェース４５のオートフォーカスボタン４５ｂをクリックすると、撮像部５のＡＦ機構５ｃをＡＦ制御部２９ａによって制御して図１７に示すようにコードＣにピントを合わせる。これにより、コードＣが画像表示領域４５ｄ内にあることを確認できる。
【００７７】
使用者がチューニング用インターフェース４５のチューニングボタン４５ｃをクリックすると、チューニング工程が実行される。まず、図１５に示すフローチャートのステップＳＡ１、ＳＡ２が実行される。ステップＳＡ１、ＳＡ２は１つの工程として実行することも可能である。チューニング工程は、光学的情報読取装置１のセレクトボタン１１及びエンターボタン１２の操作によって実行することもできる。
【００７８】
はじめに、ステップＳＡ１の撮像条件の最適化の詳細について図２０に示すフローチャートに基づいて説明する。図２０に示すフローチャートのステップＳＢ１では、撮像制御部２９ｂが、その時点で有効となっている撮像素子５ａについての撮像条件、照明部４の照明条件、画像処理条件などをパラメータセット記憶部３５ｃから読み出し、照明部４、撮像素子５ａ等の各部を設定する。照明条件には、偏光モードを有効にするのか、無偏光モードを有効にするのかを示す情報が含まれている。偏光モードは、第１発光ダイオード１６を消灯させて第２発光ダイオード１７を点灯させるモードであり、無偏光モードは、第１発光ダイオード１６を点灯させて第２発光ダイオード１７を消灯させるモードである。尚、明るさを調整しているときには、図１８に示すようなチューニング用インターフェース４５を表示することができる。
【００７９】
ステップＳＢ２では、チューニング部２９ｃが撮像制御部２９ｂに撮像を実行させて画像データを取得させる。撮像を実行した後、ステップＳＢ３に進み、ステップＳＢ１で読み込んだ撮像条件に含まれているゲインが閾値よりも大きいか否かを判定する。ステップＳＢ３においてゲインが閾値よりも大きい場合にはステップＳＢ４に進み、フィルタ設定部２９ｇにより適用可能な平滑化フィルタよりも弱い平滑化機能を有する弱平滑化フィルタを、撮像素子５ａが撮像した画像に自動的に適用する前処理を実行した後、ステップＳＢ５に進む。一方、ステップＳＢ３においてゲインが閾値以下と判定される場合にはステップＳＢ５に進む。
【００８０】
ステップＳＢ３の「閾値」とは、画像のＳ／Ｎ比が、デコード処理に悪影響を与える程度にまで悪化してしまうゲインの大きさであって、かつ、弱平滑化フィルタを適用することでデコード処理を良好にできる程度にまでＳ／Ｎ比の改善が見込まれる値である。したがって、ステップＳＢ３でＹＥＳと判定されるということは、ゲインを上げて画像の明るさは確保されているものの、画像のＳ／Ｎ比がデコード処理に悪影響を与える程度に悪化していてそのままではデコード処理の難易度が高いが、弱平均化フィルタを適用することで、デコード処理を良好にできる程度にまでＳ／Ｎ比の改善が見込まれる状態である。ステップＳＢ３の「閾値」は、たとえば撮像素子５ａのノイズ特性等に応じて事前に決めておけばよい。また、弱平均化機能とは、上記Ｓ／Ｎ比を改善しつつ、デコード処理の難易度が上がらないように所定以上のコントラストを確保できる弱い平均化である。
【００８１】
ステップＳＢ５では撮像素子が撮像した画像に含まれるコードのデコード処理を実行する。そして、ステップＳＢ６に進み、デコード部３１によるコードのデコード処理のし易さを示すスコアを算出する。スコアは、たとえば、上述したマッチングレベル、読み取り成功率、コードの読み取りに要する時間等とすることができる。算出したスコアは記憶装置３５に記憶しておく。尚、マッチングレベルは、たとえば、図１９に示すようにチューニング用インターフェース４５の中に組み込まれたマッチングレベル表示領域４５ｅに表示させることができる。マッチングレベル表示領域４５ｅには、グラフ形式でマッチングレベルが表示される。横軸は明るさを示している。縦軸は、特定の明るさにおけるマッチングレベルを示している。
【００８２】
次いでステップＳＢ７に進み、試行していない撮像条件、照明条件、画像処理条件などがあればステップＳＢ１に戻り、試行していない条件を選択してステップＳＢ２に進む。たとえば、チューニング部２９ｃはその時点で照明部４に設定されている照明モードとは異なる照明モードに切り替える。つまり、チューニング部２９ｃは照明部４に偏光モードが設定されていれば無偏光モードに切り替え、無偏光モードが設定されていれば偏光モードに切り替える。また、照明部４の明るさを変化させたり、ゲインや露光時間を変化させてもよい。
【００８３】
一方、全ての条件を試行したのであれば、ステップＳＢ７でＮＯと判定されてステップＳＢ８に進む。ステップＳＢ８は全ての撮像条件を試行した後に行われるステップであり、このステップＳＢ８では、全ての撮像条件のうち、最もスコアが高かった撮像条件を選択する。たとえば、図２１に示すように、条件１〜４のそれぞれについて、露光時間、ゲイン、弱平均化フィルタの適否、読取成否、マッチングレベルを関連付けて記憶装置２５に記憶させておくことができる。そして、たとえば最もマッチングレベルの高い条件２を選択することができる。尚、条件２は、ゲインが閾値以下であることから弱平均化処理は適用されないが、たとえば条件３のようにゲインが閾値よりも大きい場合には弱平均化処理が適用される。
【００８４】
以上のようにして、図１５に示すフローチャートのステップＳＡ１が行われる。その後、同フローチャートのステップＳＡ２に進み、チューニング部２９ｃは、最適な画像処理フィルタを選択するために画像処理フィルタを変更するとともに、その選択した画像処理フィルタの強さを変更する。画像処理フィルタの種別の選択及び画像処理フィルタの強さは、読み取値成功率または成功回数が閾値を超えるように調整し、読み取値成功率が最も高くなるように、またはマッチングレベルが最も高くなるように、フィルタ設定部２９ｇにより設定される。尚、画像処理フィルタを適用しない方が読み取値成功率またはマッチングレベルが高い場合には画像処理フィルタを適用しない。
【００８５】
上述のようにして露光時間、ゲイン、適用する画像処理フィルタの種別、画像処理フィルタの強さ（係数）など、即ち、撮像部５の撮像条件を構成するパラメータ及びデコード部３１における画像処理条件を構成するパラメータなどが設定される。このパラメータは、図１４に示すユーザーインターフェースにたとえばバンク１として表示させることができ、このパラメータセットはパラメータセット記憶部３５ｃに記憶する。その後、パラメータセットが反映される（図１５に示すフローチャートのステップＳＡ３）。
【００８６】
［弱平均化フィルタ］
上記弱平均化フィルタとしては、たとえばガウシアンフィルタを用いることができる。図２２に示すようにバーコードの黒部分（バー部分）と白部分（スペース部分）とが存在していると仮定した場合、平均化フィルタを適用しない画像の明るさを示す波形（元波形）は実線で示すように表される。図２２における２点鎖線で囲んだ領域は、黒部分と白部分との間隔が短い領域であり、バーコードのナローバーとナロースペースとが連続する領域である。この元波形の場合、２点鎖線で囲んだ領域であってもコントラストは大きい。一方、元波形に対して弱平均化フィルタを適用した場合に、注目画素の寄与度が６６％となるように平滑化機能の強さを設定すると、粗い破線で示すように、特に２点鎖線で囲んだ領域でコントラストが小さくなる。また、注目画素の寄与度が５０％となるように平滑化機能の強さを設定すると、細かい破線で示すように更にコントラストが小さくなる。注目画素の寄与度が５０％を下回るとコントラストがほとんど消失してしまい、デコード処理の難易度が上がってしまう。従って、弱平均化フィルタの強さは、注目画素の寄与度が５０％以上となるように設定するのが好ましく、より好ましくは６０％以上である。また、弱平均化フィルタの強さ上限は、フィルタ設定部２９ｇにより適用可能な平滑化フィルタの強さよりも弱ければよく、特に限定されないが、たとえば注目画素の寄与度が９５％となるように設定することができる。尚、注目画素の寄与度が５０％となるようなガウシアンフィルタは、σ＝０．５６４程度であり、このときのＳ／Ｎ比の改善度合いは、弱平均化フィルタの非適用時に比べて１．８４倍程度になる。
【００８７】
実際の画像について見てみると、図２４に示すように、弱平均化フィルタを適用しない元画像と、本発明による弱平均化後の画像と、従来のガウシアンフィルタ（フィルタ設定部２９ｇで適用される強い平均化フィルタ）適用後の画像とを比較すると、本発明による弱平均化後の画像では、元画像よりもノイズが減少しており、しかも、従来のガウシアンフィルタ適用後の画像よりもコントラストが大きくなっていることがわかる。
【００８８】
［運用時に実行される工程］
以上のようにして光学的情報読取装置１の設定が完了して光学的情報読取装置１の運用準備が終わると、光学的情報読取装置１を運用することができる。光学的情報読取装置１の運用時には、図２３に示すフローチャートに示すように、読取制御が実行される。読取制御では、まず、ステップＳＣ１において記憶装置３５から撮像条件を読み出す。この撮像条件は上記チューニング工程で決定された条件等である。
【００８９】
ステップＳＣ２では、撮像素子５ａによってコードが含まれる画像を撮像する。そして、ステップＳＣ３においてステップＳＣ１で読み込んだ撮像条件に含まれているゲインが閾値よりも大きいか否かを判定する。ステップＳＣ３においてゲインが閾値よりも大きい場合にはステップＳＣ４に進み、弱平滑化フィルタを、撮像素子５ａが撮像した画像に自動的に適用する前処理を実行した後、ステップＳＣ５に進む。一方、ステップＳＣ３においてゲインが閾値以下と判定される場合にはステップＳＣ５に進む。ステップＳＣ５では撮像素子が撮像した画像に含まれるコードのデコード処理を実行する。そして、ステップＳＣ６に進んでデコード結果を出力する。出力されたデコード結果はデコード記憶部３５ａに記憶されるとともに、コンピュータ１００に出力されて利用される。
【００９０】
［偏光フィルタアタッチメントの有無検知方法］
偏光フィルタアタッチメント３のような着脱可能な部材が本体に取り付けられているか否かを自動で検知する方法として、一般的には、たとえば機械的なスイッチや電気的接点を使用する方法が知られているが、これらの場合は構造が複雑になるというデメリットがある。
【００９１】
この実施形態では機械的なスイッチや電気的接点を使用することなく、偏光フィルタアタッチメント３の有無を自動で検知することができるように構成されている。具体的には、光が偏光フィルタを透過することで照射する光量が半減し、また、光を受光する際も偏光フィルタを透過することで光量が半減する性質を利用し、次のようにソフトウエアによって偏光フィルタアタッチメント３の有無を自動で検知する。
【００９２】
すなわち、まず、第１発光ダイオード１６を点灯させて第２発光ダイオード１７を消灯させた状態で撮像部５に撮像させる。その後、第１発光ダイオード１６を消灯させて第２発光ダイオード１７を点灯させた状態で撮像部５に撮像させる。この順番はどちらが先でもよい。その後、２つの画像の明るさを比較して略同等であれば偏光フィルタアタッチメント３が装着されていないと判断する。一方、一方の画像の明るさが他方の画像の明るさの倍程度（または半分程度）であれば、偏光フィルタアタッチメント３が装着されていると判断する。
【００９３】
つまり、偏光フィルタアタッチメント３の偏光フィルタを透過するように配置されている発光体を発光させ、かつ、偏光フィルタを透過しないように配置されている発光体を光らせない状態にして撮像した画像と、偏光フィルタアタッチメント３の偏光フィルタを透過するように配置されている発光体を光らせず、かつ、偏光フィルタを透過しないように配置されている発光体を発光させて撮像した画像との明るさを比較する比較部を設けておく。そして、この比較部による２つの画像の比較結果に基づいて偏光フィルタアタッチメント３の有無を自動で検知することができる。
【００９４】
［実施形態の作用効果］
以上説明したように、この実施形態に係る光学的情報読取装置１によれば、たとえば撮像素子５ａが撮像した画像が暗くてデコード処理ができないような場合にはゲインを上げることで画像を明るくすることができる。このときに設定されたゲインの大きさが所定の閾値よりも大きい場合には、撮像素子５ａからの読み出し時に加わったノイズの増幅によって画像のＳ／Ｎ比が悪化していることがある。この場合、撮像素子５ａが撮像した画像に対して、弱平滑化フィルタが自動的に適用される。この弱平滑化フィルタは、フィルタ設定部２９ｇによって一般的に適用され得る平滑化フィルタに比べて平滑化機能が弱いので、コントラストの減少の程度は低い。よって、ノイズが低減された画像を用いてデコード処理が可能になる。
【００９５】
一方、設定されたゲインの大きさが所定の閾値以下の場合には、読み出し時に加わったノイズの影響はそれほど強くなく、画像のＳ／Ｎ比の悪化は回避できていることがあるので、弱平滑化フィルタを適用することなく、デコード処理が可能になる。
【００９６】
上述の実施形態はあらゆる点で単なる例示に過ぎず、限定的に解釈してはならない。さらに、特許請求の範囲の均等範囲に属する変形や変更は、全て本発明の範囲内のものである。
【産業上の利用可能性】
【００９７】
以上説明したように、本発明に係る光学的情報読取装置は、たとえば、バーコードや二次元コード等のコードを読み取る場合に使用することができる。
【符号の説明】
【００９８】
１                光学的情報読取装置
４                照明部
５                撮像部
５ａ              撮像素子
２９              制御ユニット（第２プロセッサ）
２９ｄ            処理部
２９ｅ            ゲイン設定部
２９ｇ            フィルタ設定部
３１              デコード部
３４              ＦＰＧＡ（第１プロセッサ）
３５              記憶装置
Ｃ                コード
Ｗ                ワーク
【図１】
2018136858.tif 000003
【図２】
2018136858.tif 000004
【図３】
2018136858.tif 000005
【図４】
2018136858.tif 000006
【図５】
2018136858.tif 000007
【図６】
2018136858.tif 000008
【図７】
2018136858.tif 000009
【図８】
2018136858.tif 000010
【図９】
2018136858.tif 000011
【図１０】
2018136858.tif 000012
【図１１】
2018136858.tif 000013
【図１２】
2018136858.tif 000014
【図１３】
2018136858.tif 000015
【図１４】
2018136858.tif 000016
【図１５】
2018136858.tif 000017
【図１６】
2018136858.tif 000018
【図１７】
2018136858.tif 000019
【図１８】
2018136858.tif 000020
【図１９】
2018136858.tif 000021
【図２０】
2018136858.tif 000022
【図２１】
2018136858.tif 000023
【図２２】
2018136858.tif 000024
【図２３】
2018136858.tif 000025
【図２４】
2018136858.tif 000026