説明

光学的情報読取装置及びその撮像条件設定方法

【課題】ティーチング機能を有する光学的情報読取装置においてユーザの用途に柔軟に対応し簡便に撮像条件を設定することができる光学的情報読取装置及び撮像条件の設定方法を提供すること。
【解決手段】使用用途に応じてあらかじめティーチンタイプの選択を促し、選択されたティーチンタイプに応じてティーチングテーブルより最適の撮像条件テーブルを選択する。撮像条件テーブルに応じて撮像しつつその結果を保持し、その結果に基づいて最適の撮像条件を選択する。こうすればユーザの用途に応じて撮像条件を選択することができる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は2次元コード等を光学的に読み取る光学的情報読取技術に係り、特に2次元撮像素子を用いた光学的情報読取装置及びその撮像条件設定方法に関する。
【背景技術】
【0002】
例えば、1次元コードや2次元コード等の光学的情報を撮像し、その撮像した光学的情報をデコードすることにより光学的情報の読み取りを行う光学的情報読取装置が知られている。光学的情報読取装置の中には、光学的情報の読み取りに成功したとき、即ち光学的情報をデコードできたときに、デコード時間や読み取られた光学的情報のコントラスト等の読取結果を表示させることができるようになっているものがある(特許文献1)。このような構成によれば、ユーザは、光学コードの読み取りを複数回行わせて、各読取時における読取結果を比較することにより、最適な撮像条件を設定することができる。又光学的情報読取装置の中には、ユーザによる1回の指示操作に対して撮像条件を異ならせて光学的情報の読み取りを複数回実行し、各読取時における読取結果に基づいて、最適の撮像条件等を自動的に設定することができる機能、いわゆるティーチング機能を備えているものもある(特許文献2)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2004−54871号公報
【特許文献2】特開2008−59194号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
このようなティーチング機能は、固定的な手順で撮像条件を変更してテストを繰り返し、コントラストやデコード時間等の読取結果に基づいて最適と思われる撮像条件を設定している。そのためユーザが実際の運用環境、目的に応じて、更に詳細に個別の設定を実施したい場合は、ユーザは読取結果を確認しながら実際の運用環境、目的においてより適切な読取条件に変更するといった作業を繰り返さなければならず、設定作業が煩雑となる。この場合、個別の運用環境、目的を考慮した場合に適切とはなり得ないと考えられる撮像条件も試行することとなると、時間を浪費することにもなる。
【0005】
本発明では上述した点を考慮した上で、ユーザの用途に柔軟に対応し、簡便に撮像条件を設定することができる光学的情報読取装置及びその設定方法を提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明の光学的情報読取装置は、読取対象を撮像する2次元撮像素子を有する撮像部と、前記撮像部の撮像の際に読取対象を照明するための照明部と、前記撮像部及び前記照明部における撮像条件を設定する撮像制御部と、前記撮像部で撮像された読取対象を画像処理してデコードするデコード制御部と、ティーチングタイプ毎に設定されている撮像条件テーブルを含むティーチングテーブルを保持するティーチングテーブル保持部と、ティーチングタイプに応じて選択された前記ティーチングテーブルに基づいて撮像条件を変化させつつ読取対象を撮像し、前記デコード手段によるデコード結果に基づいて撮像条件を設定するティーチング制御部と、を具備するものである。
【0007】
ここで前記ティーチングテーブルは、画像の膨張処理、収縮処理を含むフィルタ種別を示すフィルタ条件テーブルを更に有するようにしてもよい。
【0008】
ここで前記撮像条件テーブルの撮像条件は、オフセット値、ダイナミックレンジ及び白黒反転処理、左右反転処理、エリア限定、内部照明利用の有無、外部照明利用の有無の少なくとも1つを含むようにしてもよい。
【0009】
本発明の光学的情報読取装置の撮像条件設定方法は、読取対象を撮像する2次元撮像素子を有する撮像部と、前記撮像部の撮像の際に読取対象を照明するための照明部と、前記撮像部で撮像された読取対象を画像処理してデコードするデコード部と、を有する光学的情報読取装置の撮像条件設定方法であって、読取対象に応じたティーチングタイプの選択を促し、選択されたティーチンタイプに基づき、前記撮像部におけるゲイン、露光時間を含むパラメータのうち1つを優先的に変更するパラメータを特定し、撮像条件を変化させた撮像条件テーブルを含むティーチングテーブルを決定し、前記ティーチングテーブルに基づいて撮像条件を変化させつつ読取対象を撮像し、前記撮像後に前記デコード部によってデコード処理を実施し、デコード処理の結果に基づいて撮像条件を設定するものである。
【0010】
ここで前記ティーチングテーブルは、画像の膨張処理、収縮処理を含むフィルタ種別を示すフィルタ条件テーブルを更に有するようにしてもよい。これにより、撮像条件に加えてフィルタ条件も同様にティーチングによって最適の条件を選択して設定することができる。
【0011】
ここで前記撮像条件テーブルの撮像条件は、オフセット値、ダイナミックレンジ及び白黒反転判別処理、左右反転処理、エリア限定、内部照明利用の有無、外部照明利用の有無の少なくとも1つを含むようにしてもよい。
【0012】
ここで前記選択可能なティーチングタイプは、静止している読取対象の2次元コードを読み取る通常ティーチング、読取対象の2次元画像をコード読み取りの可否とは別に撮像する撮像ティーチング、移動中の読取対象を撮像して2次元コードをデコードする移動体ティーチング、及び読取対象物の表面に直接刻印された2次元画像を撮像してデコードするDPMティーチングを含むようにしてもよい。
【発明の効果】
【0013】
このような特徴を有する本発明の光学的情報読取装置によれば、使用用途に応じてあらかじめティーチングタイプの選択を促し、ユーザが選択したティーチングタイプに応じて最適の撮像条件テーブルを選択する。選択された撮像条件テーブルに基づいて条件を変更しつつ撮像を繰り返し、その結果を保持し、その結果に基づいて最適の撮像条件を選択する。こうすればユーザの実際の運用環境や用途に応じたティーチングを行い、撮像条件等を選択して設定することができる。
【図面の簡単な説明】
【0014】
【図1】図1は本発明の実施の形態による2次元コードリーダの使用状態を示す斜視図である。
【図2】図2は本実施の形態による2次元コードリーダの構成を示すブロック図である。
【図3】図3は本実施の形態のティーチング条件設定処理を行うPCのハードウェア構成を示すブロック図である。
【図4A】図4Aはイメージセンサからの10ビットの出力と8ビットの変換後の出力の関係を示す図である。
【図4B】図4Bはイメージセンサからの10ビットの出力と8ビットの変換後の出力の関係を示す図である。
【図4C】図4Cはイメージセンサからの10ビットの出力と8ビットの変換後の出力の関係を示す図である。
【図5】図5は本実施の形態による通常ティーチングでのティーチングテーブルを示す図である。
【図6】図6は通常ティーチング選択時のユーザの選択画面を示す図である。
【図7】図7は本実施の形態による移動体ティーチングでのティーチングテーブルを示す図である。
【図8】図8は移動体ティーチング選択時のユーザの選択画面を示す図である。
【図9】図9は本実施の形態によるDPMティーチングでのティーチングテーブルを示す図である。
【図10】図10はDPMティーチング選択時のユーザの選択画面を示す図である。
【図11】図11は撮像ティーチング選択時のユーザの選択画面を示す図である。
【図12】図12は本実施の形態によるフィルタ条件テーブルを示す図である。
【図13A】図13Aは撮像された2次元コードの元の画像の一例を示す図である。
【図13B】図13Bは元の画像に対して膨張処理を施した画像の例を示す図である。
【図13C】図13Cは元の画像に対して収縮処理を施した画像の例を示す図である。
【図13D】図13Dは元の画像に対して膨張処理及び収縮処理を施した画像の例を示す図である。
【図14】図14は本実施の形態によるデコード条件テーブルを示す図である。
【図15】図15は本実施の形態によるティーチングテーブルを示す図である。
【図16】図16はティーチング条件設定を示す図である。
【図17】図17は読取設定を示す図である。
【図18】図18は本実施の形態によるティーチング時のフローチャートである。
【図19】図19は本実施の形態による評価例を示すテーブルである。
【発明を実施するための形態】
【0015】
図1は本発明の実施の形態による2次元コードリーダの使用状態を示す斜視図であり、図2はその構成を示すブロック図である。図1に示すように2次元コードリーダ1は2次元コードが印字された商品や製造物等の物体2の搬送ライン3に隣接して設置され、2次元コードに記録された情報を読取るものである。
【0016】
図2においてイメージセンサ11は2次元コードを読取る撮像部であり、2次元撮像素子、例えばCMOS、CCDイメージセンサとその周辺回路を含む。照明部12は例えばLEDで構成され、撮像時に物体2を照明するものである。イメージセンサ11の出力は撮像制御部13に与えられる。撮像制御部13はイメージセンサ11の出力を増幅する増幅器やA/D変換器を有しており、イメージセンサ11の露光時間を選択したり、白黒反転、左右反転、エリア指定などの種々の撮像条件を設定することができる。そして得られた画像データはメモリ14に一旦保持される。このとき読取った画像データにビット変換やフィルタ処理を施してメモリ14に保持する場合もある。デコード制御部15はメモリ14より画像データを読出し、デコード条件に基づいて検出した画像から2次元コードをデコードするものである。デコード出力は読取結果として外部通信部16を介して図1に示す外部ホスト機器、例えばプログラマブルロジックコントローラ(以下、PLCという)4やパーソナルコンピュータ(以下、PCという)5に与えられる。
【0017】
さて通常の読取動作ではこれらのブロックのみで動作が完了するが、本実施の形態では撮像制御部13によりイメージセンサ11の撮像条件やフィルタ条件が最適となるように、あらかじめティーチングを行ってこれらの条件を設定している。以下のブロックはこの処理を行うためのブロックである。ティーチング制御部21はティーチングテーブルに基づいてティーチングを実行し、ティーチング結果を判別する処理を行う。ティーチングテーブル保持部22は、後述するティーチングの種類に応じてティーチングを実行するためのティーチングテーブルを保持しており、更に撮像条件テーブル、フィルタ条件テーブル、及びデコード条件テーブルが含まれている。撮像条件テーブルはティーチングの手法に基づいて撮像条件のうちあらかじめ選択された項目を変化させるためのテーブルである。フィルタ条件テーブルはティーチングの際に実行するフィルタの種類を保持するテーブルである。又デコード条件テーブルは複数のデコードアルゴリズムを選択するテーブルであり、これらのテーブルの詳細な構成は後述する。ティーチング制御部21には設定管理部23が接続される。設定管理部23はティーチング条件、フィルタ条件などユーザが設定したティーチング条件や読取設定などを保持するものである。又テスト部24は後述するように最適と思われるいくつかの撮像条件に対してテストを行い、最終的に1つ又は複数の撮像条件を選択するためのものである。表示部25はその結果をユーザに表示するものである。これらの撮像条件は、撮像制御部13の撮像条件やデコード制御部15のデコード条件を保持し、撮像結果・デコード結果に応じて適宜切り替えられる、いわゆるパラメータバンクとしてメモリ(図示しない)に格納するようにしても良い。
【0018】
図3は本実施の形態のティーチング条件設定ソフトウェアが実行されるPC5のハードウェア構成を示すものである。PC5はコンピュータ本体31、キーボードやポインティングデバイス等の入力装置32、CRTやLCD等の表示装置33、プログラムを格納するハードディスクやメモリカード等の外部記憶装置34などから構成される。
【0019】
コンピュータ本体31は、演算処理機能を有するCPUと、OSを含む基本的な動作プログラム等が格納されたROMや表示用画面データ等を記憶するRAMを含む内部メモリと、インターネットやLAN等のネットワークを介してコードリーダ等とデータ通信を行うための通信機能を有する通信用インターフェース35とを備え、予め外部記憶装置34に格納されているティーチング条件設定ソフトウェアやネットワークを介して取得したティーチング条件設定ソフトウェアをCPUの主メモリ上に呼び出し、CPUがそのティーチング設定ソフトウェアを実行することにより、コンピュータにてティーチング条件設定を行うことができる。
【0020】
コンピュータがティーチング条件設定ソフトウェアを実行することにより実現するティーチング条件設定装置の主要機能は、後述するティーチング条件設定画面を表示装置33に表示させる機能を有する表示制御部36と、ティーチング条件設定テーブルの作成・編集機能やティーチング条件設定テーブルを外部記憶装置等に格納する機能をティーチング条件設定処理部37とからなる。
【0021】
次にティーチングタイプについて説明する。本実施の形態においてティーチングのタイプを以下の4つとしている。
(1)デコードティーチング(通常ティーチング)
デコードティーチング(通常ティーチング)は、静止している物体に貼り付けられている2次元コードの画像からの2次元コードを読取る場合にその条件を決める一般的なティーチングである。
(2)撮像ティーチング
撮像ティーチングは、デコード処理を行わず、イメージセンサで撮像した画像をそのまま画像データとして上位ホスト、特にPC5に出力するときの撮像条件を設定するためのティーチングである。
(3)移動体ティーチング
移動体ティーチングは、図1に示すように搬送ライン3上を移動する物体2に付された2次元コードを読取るためのティーチングである。
(4)DPMティーチング
DPM(direct parts marking)ティーチングは、レーザマーカ等で物体の表面に印字した基板や金属体の2次元コードを読取るためのティーチングである。
【0022】
撮像条件等のテーブルの選択時には、ユーザはこれらの4つのティーチングタイプのうちの1つを選択する。これによってあらかじめ夫々のティーチングのタイプ毎に定められた撮像条件テーブルを選択する。又撮像条件のうちいくつかの項目はユーザが任意に設定することができる。こうしてあらかじめ決められている撮像条件テーブルを選択すると共に、ユーザが任意に選択した項目も加えてそのときの撮像条件テーブルを作成する。
【0023】
以下、テーブルの選択を具体例と共に詳細に説明する。図5,図7,図9はあらかじめ決められている種々のティーチングにおける撮像条件テーブルのいくつかの例を示している。これらのテーブルにおいて、露光時間はイメージセンサの各画素に電荷が蓄えられる時間であり、照明強度は照明部12を駆動する強度である。又アナログゲインは撮像制御部13内の増幅器のゲインであり、デジタルゲインはA/D変換時のゲインである。又ダイナミックレンジはA/D変換後の10ビットのデータを8ビットに変換する際の変換規則を示しており、例えば、上位8ビット(MSB)、下位8ビット(LSB)、ハイダイナミックレンジ(HDR)等がある。
【0024】
次にこの10ビットの画像データを8ビットの画像データに変換する3つの規則について説明する。図4A〜図4Cはイメージセンサからの10ビットの出力と8ビットの変換後の出力の関係を示す図である。第1の方法はイメージセンサの10ビットのうち下位2ビットを削除し、上位8ビット(MSB)のみを変換後の8ビットの画像データとするものである。図4A(a)において左方に示す0〜1023はイメージセンサ11の出力、0〜255は変換後の8ビットの出力を示している。この場合には、図4A(b)のグラフに示すように1024階調の変化が256階調に直線的に変化することとなる。
【0025】
第2の方法は、10ビットのデータのうち上位の2ビットを削除し、下位8ビット(LSB)を変換後の8ビットの画像データとするものである。この場合には、図4(b)のグラフに示すように入力の0〜255階調までは直線的に変化するが、255で飽和し、それ以降は最高レベルを保持するものとなる。
【0026】
次に第3の方法は、入力となる10ビットのデータを対数項を含む関数を用いて8ビットのデータに変化させる略対数変換処理(HDR)である。この場合には、例えば図4C(b)のグラフに示すように1024階調の変化が256階調に曲線状に変化するものとなる。この変換手法では係数を選択することにより種々の曲線とすることができる。
【0027】
上記の3つの方法以外に中間の8ビットを選択する方法が考えられる。ここで、下位8ビット(LSB)は、上位8ビット(MSB)の変換と比較して、暗部の階調を強調するものであり、ハイダイナミックレンジは10ビットのうち明部を粗く、暗部を詳細化するよう対数変換するものである。又ゲイン等の数値はデシベル(dB)単位としてもよい。
【0028】
図5は通常ティーチングの場合の種々の撮像条件テーブルを示す。図5(a)に示すテーブル101は主に露光時間に着目してパラメータを変化させたテーブルである。図5(b)に示すテーブル102は露光時間を一定としアナログゲインを変化させたテーブルである。これ以外にも特定のパラメータを変化させた種々のテーブルがある。
【0029】
図6はユーザが通常ティーチングを選択したときのPC5での選択画面104を示す図である。図6に示すように処理フローを左に、設定項目を右に対比させている。この選択画面104では撮像パラメータ(1)、デコード(2)、及びタイムアウト時間(3)に関する各パラメータの設定は、左側に示す処理フローに沿って右側の設定項目を設定するよう配置され、ユーザの使い勝手が考慮されている。ティーチングタイプが通常ティーチングの場合には、(1)に示す撮像パラメータについて、ユーザが設定可能な条件が図示のように表示され、デフォルトを任意に変更することができる。例えば白黒反転はデフォルト状態では「自動」であるが、ユーザがわかる場合は「有り」又は「無し」を選択することができる。「有り」又は「無し」を選択したときティーチングの収束を早くすることができる。左右反転についてはデフォルト状態では「しない」であるが、ユーザが指定により「する」を選択できる。オフセットはデフォルト状態では「変更しない」であり、これは出荷時に設定した値を用いることであるが、ユーザの指定により「変更する」を選択することができる。ダイナミックレンジについてはデフォルト状態では「LSB」であるが、2次元画像の種類によっては「MSB」、「HDR」を設定することができる。内部照明についてはデフォルト状態では「使う」であるが、十分な照明があれば「使わない」を選択できる。外部照明はデフォルト状態では「使わない」であるが、外部照明を利用しないと読み取れないコード、例えばガラスに印字され、ガラスの裏側から外部照明をしないと読み取れない場合や、内部照明では照度が不足する場合のときに「使う」を選択することができる。フィルタについてはデフォルト状態では「使わない」であり、この場合には処理時間が短いが、「使う」を選択できる。フィルタを使う場合は適切なものが選択される。エリア指定はデフォルト状態では「しない」であるが、ユーザがこの領域にコードが入るはずであるということが分かっている場合は、ユーザの指定した撮像エリアでティーチングするように指定することでティーチング、読み取り共に高速処理が行える。
【0030】
(2)に示すデコードは、ユーザがQRコード等のコードの種類を選択することができる。
【0031】
(3)に示す又デコードタイムアウトについては、デフォルトは「タイムアウトしない」である。タイムアウトしないとは、デコード側でコードがないと判断するまでデコードをさせるという意味となる。ティーチングの収束が非常に遅かった場合に、他の指定、例えば50×10msとすることができる。図6に示す選択画面104において、通常ティーチングの場合にユーザが選択できない項目は表示しないようにして操作性を向上させている。尚、選択可能な項目を選択不可の項目と区別して表示しても良い。例えば、色分けをしたり、選択不可の項目を入力不可領域として表示するようにしてもよい。
【0032】
次に移動体ティーチングのときの撮像条件テーブルについて説明する。図7は移動体ティーチングのときの種々の撮像条件テーブルを示す図である。図1に示すように移動体ティーチングでは搬送ライン3に沿って物体2が移動するため、露光時間は短くすることにより画質劣化を少なくしている。このため露光時間はテーブル111,112において全ての場合に例えば90μsと短い時間に固定され、照明強度は通常より強く、例えばLEDに流す電流値を標準の1.4倍としている。図7(a)に示すテーブル111ではアナログゲインを図示のように連続的に上昇させたテーブルであり、図7(b)に示すテーブル112はデジタルゲインを図示のように上昇させたテーブルである。これ以外にも特定のパラメータを変化させた種々のテーブルがある。(アナログゲインを上昇させる場合はより細かくゲインを上昇させることができ、テーブルの組み方によって最適なティーチングを行うことができる。
【0033】
更に図8はユーザが移動体ティーチングを選択したときのPC5での選択画面114を示す図である。ティーチングタイプが移動体ティーチングの場合には、図6に示した画面の右半分だけ変更される。そしてユーザが設定可能な条件が図示のように表示され、デフォルトを任意に変更することができる。移動体ティーチングは露光時間が重要であるため、あらかじめ設定されたティーチング条件をそのまま用いてもよいが、図8の選択画面によりユーザが設定の際に数値を任意に変更できるようにしている。白黒反転はデフォルト状態では「自動」であるが、ユーザがわかる場合は「有り」又は「無し」を選択することができる。左右反転についてはデフォルト状態では「しない」であるが、「する」を選択できる。オフセットはデフォルト状態では「変更しない」であるが、「変更する」を選択することができる。ダイナミックレンジについてはデフォルト状態では「LSB」であるが、2次元画像の種類によっては「MSB」、「HDR」を設定することができる。内部照明についてはデフォルト状態では「使う」であるが、「使わない」を選択できる。外部照明はデフォルト状態では「使わない」であるが、外部照明を利用しないと読み取れないコード、例えばガラスに印字され、ガラスの裏側から外部照明をしないと読み取れない場合や、内部照明では照度が不足する場合のときに「使う」を選択することができる。フィルタについてはデフォルト状態では「使わない」であるが、「使う」を選択できる。エリア指定はデフォルト状態では「しない」であるが、ユーザがこの領域にコードが入るはずであるということが分かっている場合は、「する」を選択することができる。又デコードタイムアウト指定値は50×10msであるが、移動速度に応じてタイムアウト時間を調整できるようにするため、他の数値を選択することもできる。図8に示す選択画面114において、移動体ティーチングの場合にユーザが選択できない項目は表示されないものとなっている。
【0034】
次に図9はDPMティーチングにおける撮像条件テーブルの一例を示す図である。テーブル121では露光時間を長くすると共に、アナログゲインを変化させたテーブルである。DPMの場合、明るさが足りず読取れないことが多いため、このようなデフォルトとする。これ以外にも特定のパラメータを変化させた種々のテーブルがある。
【0035】
更に図10はユーザがDPMティーチングを選択したときのPC5での選択画面123を示す図である。ティーチングタイプがDPMティーチングの場合には、図6に示した画面の右半分だけ変更される。そしてユーザが設定可能な条件が図示のように表示され、デフォルトを任意に変更することができる。例えば白黒反転はデフォルト状態では「自動」であるが、「有り」又は「無し」を選択することができる。これらにより、明視野・暗視野照明に対応付けた設定が可能となる。左右反転についてはデフォルト状態では「しない」であるが、「する」を選択できる。オフセットはデフォルト状態では「変更しない」であるが、「変更する」、すなわち黒レベルの自動調整を選択することができる。ダイナミックレンジについてはデフォルト状態では「LSB」であるが、2次元画像の種類によっては「MSB」、「HDR」を設定することができる。内部照明についてはデフォルト状態では「使う」であるが、「使わない」を選択できる。外部照明はデフォルト状態では「使わない」であるが、「使う」を選択することができる。これにより、照度の向上や、外部照明としてリング照明、ローアングル照明、バックライト等の選択が可能となる。フィルタについてはデフォルト状態では「膨張系」であるが、「他のタイプ」を選択できる。DPMティーチングではフィルタの使用が前提であり、「使わない」は選択できない。エリア指定はデフォルト状態では「しない」であるが、「する」を選択することができる。これにより、デコード範囲を絞り込むことも可能となる。又デコードタイムアウト指定値は50×10msであるが他の数値を選択することもできる。図10に示す設定画面123においてもDPMティーチングの場合にユーザが任意に設定できない項目は表示されないものとなっている。
【0036】
図11はユーザが撮像ティーチングを選択したときのPC5での選択画面131を示す図である。ティーチングタイプが撮像ティーチングの場合には、図6に示した画面の右半分だけ変更される。撮像ティーチングにおいても左右反転やデコードタイムアウトなどの関連のない項目は表示されず、必要な項目のみをユーザが任意に設定できるように表示している。白黒反転はデフォルト状態では「自動」であるが、ユーザがわかる場合は「有り」又は「無し」を選択することができる。オフセットはデフォルト状態では「変更しない」であるが、「変更する」を選択することができる。ダイナミックレンジについてはデフォルト状態では「LSB」であるが、2次元画像の種類によっては「MSB」、「HDR」を設定することができる。内部照明についてはデフォルト状態では「使う」であるが、「使わない」を選択できる。外部照明はデフォルト状態では「使わない」であるが、「使う」を選択することができる。フィルタについてはデフォルト状態では「使わない」であるが、「使う」を選択できる。エリア指定はデフォルト状態では「しない」であるが、「する」を選択することができる。図11に示す設定画面131においても撮像ティーチングの場合にユーザが任意に設定できない項目は表示されないものとなっている。
【0037】
次にフィルタ条件テーブルについて説明する。図12はフィルタ条件テーブルの異なった例を示す図である。ここで図12(a)に示す簡易フィルタテーブル141には、フィルタなし、膨張3×3、収縮3×3がある。この場合の膨張3×3フィルタ処理とは、3×3画素の中心画素の輝度を隣接する周囲の9画素の中での最大輝度のデータに置き換える処理をいう。又収縮3×3フィルタ処理とは、3×3画素の中心画素の輝度を周囲の9画素の中で最小輝度のデータに置き換える処理をいう。図12(b)に示す膨張系フィルタテーブル142は、膨張3×3、膨張5×5、膨張3×3+収縮3×3、膨張5×5+収縮3×3など膨張の詳細を設定することができるテーブルである。又図12(c)に示す収縮系フィルタテーブル143は、収縮3×3、収縮5×5、収縮3×3+膨張3×3、収縮5×5+膨張3×3など収縮の詳細な設定をすることができるテーブルである。
【0038】
例えば、図13Aに示す元画像に対して膨張フィルタによる3×3の膨張処理を施すと、図13Bのようになり、収縮フィルタにより3×3の収縮処理を施すと、図13Cのようになる。3×3の膨張処理及び3×3の収縮処理を施すと、図13Dのようになる。このようにフィルタを選択することにより、特に、元画像のようなドット形状で構成される2次元コードにおいてデコード性能の改善が見られる。
【0039】
次に図14はデコード条件テーブル151の一例を示す図である。デコード条件テーブル151はいくつかのデコード条件1,2・・・が登録されているテーブルである。デコード条件1,2・・・は異なったデコードのアルゴリズムA,B,C等を設定するものである。ここでアルゴリズムAは、例えば低コントラストの許容範囲、アルゴリズムBはセルのずれの柔軟性をどの程度にするか、アルゴリズムCはデコードルーチン内の検索方法の指定などを設定するものである。セルのずれ等を大きくすれば変形した2次元画像も検出することが可能となるが、ティーチングやデコード処理に時間を要することとなる。尚、デコード条件テーブルはティーチングの手法にかかわらず1つであり、ユーザの選択対象とはなっていない。
【0040】
次にティーチングテーブル保持部22内に保持されているティーチングテーブルはこれらのティーチングに関するテーブルをまとめたテーブルであり、その例を図15に示す。ここでは4つのティーチングタイプに対して用いられる撮像条件テーブル、フィルタ条件テーブル、デコード条件テーブルのリストが図示のように保持されている。
【0041】
次に設定管理部23内に保持されるティーチング条件設定の内容について図16を用いて説明する。これは図6,図8,図10,図11の画面によりユーザが選択したティーチング条件であり、PC5で選択された内容が2次元コードリーダ1側に送られ、設定管理部23内にティーチング条件として保持される。又図17は画像読取りの設定テーブルの一例を示す。
【0042】
次に本実施の形態によるティーチング開始後の処理について図18のフローチャートを用いて説明する。動作を開始するとまずステップS11においてティーチング制御部21は上位通信部16に接続されている上位機器、例えばPC5で設定されたティーチングタイプ、その他のティーチング条件を取得する、あるいは事前に設定されているティーチングタイプ、その他のティーチング条件を用いても良い。ティーチング制御部21は受け取ったティーチング条件を設定管理部23に保持する。ティーチング制御部21はステップS12においてユーザが選択したティーチングタイプに基づいてティーチングテーブルを選択する。そしてティーチング制御部21はステップステップS13において撮像条件テーブルの最初のテーブルを選択し、そのテーブルに記録されている条件を撮像制御部13に設定して撮像を行う。例えば通常ティーチングが選択されている場合には、図15に示すように通常テーブル101の最初の番号No.1のティーチング条件を撮像制御部13に設定する。そしてステップS14に進んで撮像を行う。このとき得られた画像に対し、選択されたフィルタ処理、ここでは簡易テーブルに基づき5つのフィルタ処理も実行される。そしてステップS15においてデコード条件テーブルに示されたデコード条件によりデコード処理を行う。そして読取りが成功したかどうかをステップS16において判断する。尚ステップS16では、複数回の成功を確認して、読み取り成否を判断するようにしてもよい。成功しなければステップS17に進んで通常ティーチングでの全テーブルの終端かどうかを判別する。テーブルの終端でなければステップS18において条件を変更し、選択した条件を適用してステップS14に戻る。ここでティーチングを短時間で終了するために、1つのテーブル内ではティーチング条件の各項目が連続的に変化していることから離散的にティーチングを実行することが好ましい。例えばテーブル101は露光時間が少しづつ増加するように決められており、ティーチング番号No.1〜No.100とすると、例えば10毎に条件を変更してティーチングを行う。こうすれば通常用テーブル101で全てデコードが成功しない場合にも短時間で通常用のテーブル101のティーチングを完了することができる。これで読み取りが成功しなければ通常ティーチングのテーブル102でティーチングを行う。
【0043】
さてステップS16において通常用のテーブル101のティーチング中に例えばティーチング番号No.20のティーチングで読取りが成功したものとすると、ステップS16からステップS21に進む。ステップS21では成功した条件を考慮して詳細なティーチングテーブルを暫定的に生成する。例えばティーチング番号No.15〜25を詳細なティーチングの範囲とし、ステップS22に進んで撮像を行い、ステップS23でデコード処理を行う。そしてステップS24に進んでデコード結果を記録する。デコード結果は例えばデコードの成功/失敗、誤り訂正未使用率、デコード時間、コントラスト、明るさ平均等を評価値として記録することにより行う。図19はこの評価値の一例であり、夫々の優先度を示している。そしてステップS25においてテーブルの終端かどうかを判別する。ここでテーブルの終端とはティーチングテーブル自体の終端でなく、ステップS21において詳細ティーチングを実行するテーブルの終端である。例えば前述したように番号No.15〜No.25を実行するものとすれば、番号No.25に達するとテーブルの終端となる。このように番号No.15〜25までの詳細ティーチングを実行し、記録結果を保持する。
【0044】
そしてステップS25においてテーブルの終端に達すると、ステップS26において最終テスト候補を確定する。最終テスト候補とはステップS24で記録した結果を評価し、いくつかのティーチング、例えば3つのティーチング条件を選択して最終テストのテーブルに保持する。そしてテスト部24はステップS28においてそのうちの1つを選択し、最終確認のテスト、即ち撮像及びデコードを行い、その結果を記録する。そしてステップS29において選択した最終テスト候補の全てが終了されたかどうかを判別し、終了していなければ他の最終テスト候補に変更して最終確認を行う。さて最終テストの終了後、ステップS30においてテストで最も高いレベルで結果を終えたものを選択する。更にステップS31においてこの評価値が規定値を超えている場合には、最終値として設定する。最高値のものが規定値を超えていなければ、ティーチング失敗とする。こうすればティーチングを完了することができる。尚この実施の形態では2次元コードリーダを例にして説明したが、本発明による光学的情報読取装置は2次元コードリーダに限らず、2次元の画像情報を読取る種々の光学的情報読取装置にも適用することができる。
【産業上の利用可能性】
【0045】
本発明の光学的情報読取装置によれば、ユーザの用途に応じたティーチングを行い撮像条件を選択することができ、2次元撮像素子を用いた光学的情報読取装置に有用である。
【符号の説明】
【0046】
1 2次元コードリーダ
2 物体
3 搬送ライン
4 プログラマブルコントローラ
5 パーソナルコンピュータ
11 イメージセンサ
12 照明部
13 撮像制御部
14 メモリ
15 デコード制御部
16 外部通信部
21 ティーチング制御部
22 ティーチングテーブル保持部
23 設定管理部
24 テスト部
25 表示部
31 コンピュータ本体
32 入力装置
33 表示装置
34 外部記憶装置
35 通信用インターフェース
36 表示制御部
37 ティーチング条件設定処理部
101,102,103 撮像条件テーブル(通常ティーチング)
104,114,123,131 選択画面
111,112,113 撮像条件テーブル(移動体ティーチング)
121,122 撮像条件テーブル(DPMティーチング)
141 簡易フィルタテーブル
142 膨張系フィルタテーブル
143 収縮系フィルタテーブル
151 デコード条件テーブル

【特許請求の範囲】
【請求項1】
読取対象を撮像する2次元撮像素子を有する撮像部と、
前記撮像部の撮像の際に読取対象を照明するための照明部と、
前記撮像部及び前記照明部における撮像条件を設定する撮像制御部と、
前記撮像部で撮像された読取対象を画像処理してデコードするデコード制御部と、
ティーチングタイプ毎に設定されている撮像条件テーブルを含むティーチングテーブルを保持するティーチングテーブル保持部と、
ティーチングタイプに応じて選択された前記ティーチングテーブルに基づいて撮像条件を変化させつつ読取対象を撮像し、前記デコード手段によるデコード結果に基づいて撮像条件を設定するティーチング制御部と、を具備する光学的情報読取装置。
【請求項2】
前記ティーチングテーブルは、画像の膨張処理、収縮処理を含むフィルタ種別を示すフィルタ条件テーブルを更に有する請求項1記載の光学的情報読取装置。
【請求項3】
前記撮像条件テーブルの撮像条件は、オフセット値、ダイナミックレンジ及び白黒反転処理、左右反転処理、エリア限定、内部照明利用の有無、外部照明利用の有無の少なくとも1つを含む請求項1又は2記載の光学的情報読取装置。
【請求項4】
読取対象を撮像する2次元撮像素子を有する撮像部と、
前記撮像部の撮像の際に読取対象を照明するための照明部と、
前記撮像部で撮像された読取対象を画像処理してデコードするデコード部と、を有する光学的情報読取装置の撮像条件設定方法であって、
読取対象に応じたティーチングタイプの選択を促し、
選択されたティーチンタイプに基づき、前記撮像部におけるゲイン、露光時間を含むパラメータのうち1つを優先的に変更するパラメータを特定し、撮像条件を変化させた撮像条件テーブルを含むティーチングテーブルを決定し、
前記ティーチングテーブルに基づいて撮像条件を変化させつつ読取対象を撮像し、
前記撮像後に前記デコード部によってデコード処理を実施し、デコード処理の結果に基づいて撮像条件を設定する光学的情報読取装置の撮像条件設定方法。
【請求項5】
前記ティーチングテーブルは、画像の膨張処理、収縮処理を含むフィルタ種別を示すフィルタ条件テーブルを更に有する請求項4記載の光学的情報読取装置の撮像条件設定方法。
【請求項6】
前記撮像条件テーブルの撮像条件は、オフセット値、ダイナミックレンジ及び白黒反転判別処理、左右反転処理、エリア限定、内部照明利用の有無、外部照明利用の有無の少なくとも1つを含む請求項4又は5記載の光学的情報読取装置の撮像条件設定方法。
【請求項7】
前記選択可能なティーチンタイプは、静止している読取対象の2次元コードを読取る通常ティーチング、読取対象の2次元画像を撮像し、画像データとして出力する撮像ティーチング、移動中の読取対象を撮像して2次元コードをデコードする移動体ティーチング、及び読取対象物の表面に直接刻印された2次元画像を撮像してデコードするDPMティーチングを含む請求項1記載の光学的情報読取装置の撮像条件設定方法。
【請求項8】
前記撮像条件のうち数値に関するパラメータはデシベル単位である請求項1記載の光学的情報読取装置の撮像条件設定方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4A】
image rotate

【図4B】
image rotate

【図4C】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図13A】
image rotate

【図13B】
image rotate

【図13C】
image rotate

【図13D】
image rotate


【公開番号】特開2011−76517(P2011−76517A)
【公開日】平成23年4月14日(2011.4.14)
【国際特許分類】
【出願番号】特願2009−229365(P2009−229365)
【出願日】平成21年10月1日(2009.10.1)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.QRコード
【出願人】(000129253)株式会社キーエンス (681)
【Fターム(参考)】