説明

画像処理プログラムおよび画像処理装置

【課題】撮像装置における撮像設定を支援する画像処理プログラムおよび画像処理装置を提供する。
【解決手段】フォーカス値表示ウィンドウ360には、入力画像におけるフォーカス値(指標値)の時間的変化が出力される。ユーザは、フォーカス値表示ウィンドウ360におけるグラフ表示を参照して、撮像装置8を操作してそのフォーカスを調整する。このフォーカス値表示ウィンドウ360に表示されるフォーカス値は、ワークなどの被写体に対して「ピントが合っている」状態になるほど、相対的に高い値を示す。フォーカス値表示ウィンドウ360には、フォーカス値表示3601に関連付けて、最大フォーカス値表示バー366が表示される。ユーザは、フォーカス値表示3601がこの最大フォーカス値表示バー366になるべく「近づく」あるいは「超える」ように、撮像装置8におけるフォーカス状態を調整する。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、撮像装置における撮像設定を支援するための画像処理プログラムおよび画像処理装置に関するものである。
【背景技術】
【0002】
FA(Factory Automation)分野などにおいては、ワークなどの被測定物上の欠陥や汚れの有無を光学的に検査したり、その大きさなどを光学的に計測したり、被測定物上の文字や図形などを光学的に認識したりする装置として、いわゆる視覚センサが実用化されている。このような視覚センサは、被測定物を撮像することで得られる入力画像に対して、各種の画像処理を行なうことで、上述のような処理結果を出力する。
【0003】
このような視覚センサを実際の製造現場などに設置する場合には、撮像装置に対して適切な撮像設定を行なう必要がある。このような撮像設定の典型例としては、絞り量(明るさ)およびフォーカス(焦点位置)の調整が知られている。すなわち、画像処理の精度を高めるためには、撮像環境(照明環境)に応じた絞り量の調整、および、撮像装置と被測定物との位置関係に応じたフォーカスの調整が重要である。
【0004】
たとえば、特開2003−255217号公報(特許文献1)には、白黒テストパターンを撮像することで得られた画像データに対して、白黒テストパターンの白および黒に対する2つのピークの鮮鋭さを表わす指標(フォーカス指標)を計算することで、レンズの光軸上における移動方向を判定するフォーカス調整装置が開示されている。
【0005】
また、特開2006−85258号公報(特許文献2)には、デジタルカメラで撮影された複数の画像を比較表示する際に、比較評価に用いる評価値(高周波成分の情報、露光量の情報、色度値の情報、ブレ量の情報など)を表示する画像比較装置などが開示されている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2003−255217号公報
【特許文献2】特開2006−85258号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、特許文献1に開示されるような、テストパターンを用いるフォーカス調整装置をFA分野などに採用することは難しい。これは、テストパターンの配置や撮像に時間および工数を必要とすることや、多品種の製造を行なうようなラインでは、あるテストパターンでフォーカスを調整しても、被測定物が交換されるとそのフォーカスが適切ではなくなる場合もあるからである。
【0008】
また、特許文献2に開示される画像比較装置は、撮像済の画像データを容易に比較できるのみであり、その結果に基づいて、撮像装置のフォーカスを調整するような機能を提供するものではない。
【0009】
そこで、この発明は、これらの問題を解決するためになされたものであり、その目的は、撮像装置における撮像設定を支援する画像処理プログラムおよび画像処理装置を提供することである。
【課題を解決するための手段】
【0010】
この発明のある局面によれば、撮像設定を変更可能な撮像装置に接続されたコンピュータで実行される画像処理プログラムを提供する。本画像処理プログラムは、コンピュータを、撮像装置により取得される入力画像を取込む画像入力手段、入力画像における撮像状態を評価するための指標値を算出する算出手段、および、最新に算出された指標値と最新に算出された指標値より過去に算出された指標値とを出力する出力手段、として機能させる。
【0011】
好ましくは、出力手段は、指標値の時間的変化の履歴を出力する。
さらに好ましくは、本画像処理プログラムは、コンピュータを、画像入力手段により時系列に取込まれる複数の入力画像についてそれぞれ算出される指標値のうち、最大値を保持する保持手段、としてさらに機能させ、出力手段は、指標値の時間的変化の履歴として、時間軸上に指標値のグラフを表示するとともに、グラフ上に最大値の位置を示すための表示を行なう。
【0012】
さらに好ましくは、出力手段は、撮像装置により取得された入力画像を出力する。
さらに好ましくは、コンピュータは、表示装置に接続されており、出力手段は、表示装置上で、最大値および撮像装置により取得された入力画像を並べて表示する。
【0013】
好ましくは、本画像処理プログラムは、コンピュータを、指標値についての判定条件を受付ける判定条件入力手段、および、最新に算出された指標値が判定条件を満足しているか否かを判定する判定手段、としてさらに機能させ、出力手段は、判定手段による判定結果に応じて、出力態様を切替える。
【0014】
好ましくは、指標値は、撮像装置の絞り量またはフォーカスの調整度合いを示す値である。
【0015】
この発明の別の局面に従えば、撮像設定を変更可能な撮像装置に接続された画像処理装置を提供する。本画像処理装置は、撮像装置により取得される入力画像を取込む入力手段と、入力画像における撮像状態を評価するための指標値を算出する算出手段と、最新に算出された指標値と最新に算出された指標値より過去に算出された指標値とを出力する出力手段とを含む。
【発明の効果】
【0016】
この発明によれば、ユーザによる撮像装置における撮像設定を支援することで、容易に最適な撮像設定を行なうことができる。
【図面の簡単な説明】
【0017】
【図1】この発明の実施の形態に従う画像処理装置を含む視覚センサシステム1の全体構成を示す概略図である。
【図2】この発明の実施の形態に従う画像処理装置の概略構成図である。
【図3】この発明の実施の形態に従う画像処理装置が提供する明度調整画面の一例を示す図である。
【図4】図3に示す明度表示ウィンドウの拡大図である。
【図5】図3に示す明度調整画面を用いた明度調整の一例を示す図である。
【図6】この発明の実施の形態に従う明度調整画面を提供するための制御構造を示すブロック図である。
【図7】この発明の実施の形態に従う明度調整に係る処理手順を示すフローチャートである。
【図8】この発明の実施の形態の変形例に従う明度表示ウィンドウの表示例である。
【図9】この発明の実施の形態に従う画像処理装置が提供するフォーカス調整画面の一例を示す図である。
【図10】図9に示すフォーカス値表示ウィンドウの拡大図である。
【図11】図9に示すフォーカス調整画面を用いたフォーカス調整の一例を示す図である。
【図12】この発明の実施の形態に従うフォーカス調整画面を提供するための制御構造を示すブロック図である。
【図13】この発明の実施の形態に従うフォーカス調整に係る処理手順を示すフローチャートである。
【発明を実施するための形態】
【0018】
この発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。
【0019】
<全体装置構成>
図1は、この発明の実施の形態に従う画像処理装置100を含む視覚センサシステム1の全体構成を示す概略図である。
【0020】
図1を参照して、視覚センサシステム1は生産ラインなどに組み込まれ、被測定物2(以下「ワーク2」とも称す。)上の欠陥や汚れの有無を検査したり、その大きさなどを計測したり、その表面上の文字や図形などを認識したりする。一例として、本実施の形態においては、ワーク2はベルトコンベヤなどの搬送機構6によって搬送され、撮像装置8によって順次撮像される。撮像装置8によって得られた画像データ(以下「入力画像」とも称す。)は、画像処理装置100へ伝送される。なお、撮像装置8で撮像されるワーク2に対して光を照射する照明機構をさらに設けてもよい。
【0021】
ワーク2が撮像装置8の撮像範囲に到達したことは、搬送機構6の両端に配置された光電センサ4によって検出される。具体的には、光電センサ4は、同一の光軸上に配置された受光部4aと投光部4bとを含み、投光部4bから放射される光がワーク2で遮蔽されることを受光部4aで検出することによって、ワーク2の到達を検出する。この光電センサ4の検出信号(以下「トリガ信号」とも称す。)は、PLC(Programmable Logic Controller)5へ出力される。
【0022】
PLC5は、光電センサ4などからのトリガ信号を受信するとともに、搬送機構6の制御自体を司る。
【0023】
視覚センサシステム1は、さらに、画像処理装置100と、ディスプレイ102と、キーボード104とを含む。画像処理装置100は、PLC5と、撮像装置8と、ディスプレイ102と、キーボード104と接続される。
【0024】
画像処理装置100は、ワーク2に対して各種の画像処理を実行する測定モードと、撮像設定などの各種調整を行なうための調整モードとを有している。測定モードにおいて、画像処理装置100は、PLC5を介して光電センサ4からのトリガ信号を受信すると、撮像装置8に対して撮像指令を与える。この撮像指令に応答して、撮像装置8がワーク2を撮像することで得られた入力画像は、画像処理装置100へ伝送される。代替の処理方法として、撮像装置8に対して連続的に撮像を行わせるとともに、トリガ信号の受信に応答して、必要な入力画像のみを画像処理装置100が取込むようにしてもよい。
【0025】
撮像装置8は、一例として、レンズなどの光学系に加えて、CCD(Coupled Charged Device)やCMOS(Complementary Metal Oxide Semiconductor)センサといった、複数の画素に区画された撮像素子を含んで構成される。撮像装置8は、撮像設定を変更可能な機構を有している。このような撮像設定としては、絞り量(明るさ)、フォーカス、検出感度(ISO感度)、露光時間、シャッタースピードなどがある。本実施の形態に従う撮像装置8は、典型的な撮像設定として、絞り量(明るさ)およびフォーカスを変更可能であるとする。なお、本発明は、上述のような撮像設定の項目のうち、少なく1つの項目を変更可能である撮像装置8に適用可能である。
【0026】
より具体的には、撮像装置8は、絞り量調整機能およびフォーカス調整機能を有した光学系を含む。すなわち、撮像装置8には、絞り量調整用のリングと、フォーカス調整用のリングとが装着されている。調整モードにおいて、画像処理装置100は後述するような処理を行なうことで、作業者(ユーザ)に対して、絞り量(明度)および/またはフォーカスの調整を支援するための情報画面を表示する。すなわち、ユーザは、ディスプレイ102などに表示される、撮像装置8により取得された入力画像における撮像状態を評価するための指標値に基づいて、絞り量(明度)および/またはフォーカスが最適な値となるように、撮像装置8を調整する。
【0027】
画像処理装置100は、汎用的なアーキテクチャを有しているコンピュータであり、予めインストールされたプログラムを実行することで、後述するような各種機能を提供する。このような汎用的なコンピュータを利用する場合には、本実施の形態に従う機能を提供するためのアプリケーションに加えて、コンピュータの基本的な機能を提供するためのOS(Operating System)がインストールされていてもよい。この場合には、本実施の形態に従うプログラムは、OSの一部として提供されるプログラムモジュールのうち、必要なモジュールを所定の配列で所定のタイミングで呼出して処理を実行させるものであってもよい。すなわち、本実施の形態に従うプログラム自体は、上記のようなモジュールを含んでおらず、OSと協働して処理が実行される。本実施の形態に従うプログラムとしては、このような一部のモジュールを含まない形態であってもよい。
【0028】
さらに、本実施の形態に従うプログラムは、他のプログラムの一部に組み込まれて提供されるものであってもよい。その場合にも、プログラム自体には、上記のような組み合わせられる他のプログラムに含まれるモジュールを含んでおらず、当該他のプログラムと協働して処理が実行される。すなわち、本実施の形態に従うプログラムとしては、このような他のプログラムに組込まれた形態であってもよい。
なお、プログラムの実行により提供される機能の一部もしくは全部を専用のハードウェア回路として実装してもよい。
【0029】
図2は、この発明の実施の形態に従う画像処理装置100の概略構成図である。図2を参照して、画像処理装置100は、演算処理部であるCPU(Central Processing Unit)110と、記憶部としてのメインメモリ112およびハードディスク114と、カメラインターフェイス116と、入力インターフェイス118と、表示コントローラ120と、PLCインターフェイス122と、通信インターフェイス124と、データリーダ/ライタ126とを含む。これらの各部は、バス128を介して、互いにデータ通信可能に接続される。
【0030】
CPU110は、ハードディスク114に格納されたプログラム(コード)をメインメモリ112に展開して、これらを所定順序で実行することで、各種の演算を実施する。メインメモリ112は、典型的には、DRAM(Dynamic Random Access Memory)などの揮発性の記憶装置であり、ハードディスク114から読み出されたプログラムに加えて、撮像装置8によって取得された入力画像や、入力画像の処理結果を示すデータ、およびワークデータなどを保持する。また、ハードディスク114は、不揮発性の磁気記憶装置であり、CPU110で実行されるプログラムに加えて、各種設定値などが格納される。このハードディスク114にインストールされるプログラムは、後述するように、メモリカード106などに格納された状態で流通する。なお、ハードディスク114に加えて、あるいは、ハードディスク114に代えて、フラッシュメモリなどの半導体記憶装置を採用してもよい。
【0031】
カメラインターフェイス116は、CPU110と撮像装置8との間のデータ伝送を仲介する。より具体的には、カメラインターフェイス116は、1つ以上の撮像装置8と接続が可能であり、各撮像装置8からの画像データを一時的に蓄積するための画像バッファ116aを含む。カメラインターフェイス116は、画像バッファ116aに少なくとも1コマ分の入力画像のデータが蓄積されると、その蓄積されたデータをメインメモリ112へ転送する。また、カメラインターフェイス116は、CPU110が発生した内部コマンドに従って、撮像装置8に対して撮像指令を与える。
【0032】
入力インターフェイス118は、CPU110とキーボード104、マウス、タッチパネルなどの入力装置との間のデータ伝送を仲介する。すなわち、入力インターフェイス118は、ユーザが入力装置を操作することで与えられる操作指令を受付ける。
【0033】
表示コントローラ120は、表示装置の典型例であるディスプレイ102と接続され、CPU110における画像処理の結果などをユーザに通知する。
【0034】
PLCインターフェイス122は、CPU110とPLC5との間のデータ伝送を仲介する。より具体的には、PLCインターフェイス122は、PLC5によって制御される生産ラインの状態に係る情報やワークに係る情報などをCPU110へ伝送する。
【0035】
通信インターフェイス124は、CPU110と図示しない他のパーソナルコンピュータやサーバ装置などと間のデータ伝送を仲介する。通信インターフェイス124は、典型的には、イーサネット(登録商標)やUSB(Universal Serial Bus)などからなる。なお、後述するように、メモリカード106に格納されたプログラムを画像処理装置100にインストールする形態に代えて、通信インターフェイス124を介して、配信サーバなどからダウンロードしたプログラムを画像処理装置100にインストールしてもよい。
【0036】
データリーダ/ライタ126は、CPU110と記録媒体であるメモリカード106との間のデータ伝送を仲介する。すなわち、メモリカード106には、画像処理装置100で実行されるプログラムなどが格納された状態で流通し、データリーダ/ライタ126は、このメモリカード106からプログラムを読み出す。また、データリーダ/ライタ126は、CPU110の内部指令に応答して、撮像装置8によって取得された入力画像および/または画像処理装置100における処理結果などをメモリカード106へ書き込む。なお、メモリカード106は、CF(Compact Flash)、SD(Secure Digital)などの汎用的な半導体記憶デバイスや、フレキシブルディスク(Flexible Disk)などの磁気記憶媒体や、CD−ROM(Compact Disk Read Only Memory)などの光学記憶媒体等からなる。
【0037】
また、画像処理装置100には、必要に応じて、プリンタなどの他の出力装置が接続されてもよい。
【0038】
<概要>
本実施の形態に従う画像処理装置100は、測定モードと調整モードとを有する。この測定モードは、ワークを適切なタイミングで撮像して、その撮像によって得られる入力画像に対して、予め設定された画像処理を順次行なうモードである。これに対して、調整モードは、各種の画像処理などを設定するためのモードである。
【0039】
以下に説明する処理は、撮像設定の典型例である、絞り量(明度)および/またはフォーカスの調整を支援するものであり、基本的には、調整モードにおいて提供される。なお、測定中に照明環境が変化するような場合(たとえば、太陽光を照明光として用いているような場合)には、これらの支援機能を測定モードにおいても実行できるようにしてもよい。
【0040】
より具体的には、画像処理装置100は、撮像装置8の撮像により取得される入力画像における撮像状態を評価するための指標値を算出し、この指標値を含む調整支援画面を出力する。この指標値は、撮像装置の撮像設定の良否を反映したものであるので、ユーザは、表示される指標値がより適切な値を示すように、撮像装置8の撮像設定を調整することで、撮像装置8に対してより容易に最適な撮像設定を行なうことができる。
【0041】
<1.明度調整>
(a.ユーザインターフェイス)
図3は、この発明の実施の形態に従う画像処理装置100が提供する明度調整画面300の一例を示す図である。図4は、図3に示す明度表示ウィンドウの拡大図である。
【0042】
図3を参照して、画像処理装置100は、ディスプレイ102(図1)などに明度調整画面300を表示させる。
【0043】
図3を参照して、本実施の形態に従う画像処理装置100は、調整モードにおいて、「計測パラメータ」、「領域設定」、「出力パラメータ」のタブ312,314,316が選択可能な画面を提供する。この画面において、「計測パラメータ」のタブ312が選択されると、図3に示すような明度調整画面300が提供される。
【0044】
明度調整画面300は、表示方式変更ウィンドウ320と、明度表示ウィンドウ330と、判定条件設定ウィンドウ340と、画像表示ウィンドウ350とを含む。
【0045】
画像表示ウィンドウ350には、撮像装置8の撮像により取得される入力画像が表示される。なお、後述するように、表示方式変更ウィンドウ320における設定値に応じて、撮像装置8がワークを所定周期で繰返し撮像することで得られる画像を逐次表示する態様(以下「スルーモード」とも称す。)と、撮像装置8がワークをあるタイミングで撮像することで得られた画像を静止表示する態様(以下「フリーズモード」とも称す。)とが選択可能である。
【0046】
全体表示ウィンドウ352には、画像表示ウィンドウ350と同様に撮像装置8の撮像により取得された入力画像が表示される。但し、全体表示ウィンドウ352には、画像表示ウィンドウ350での表示範囲とは独立して、対象の入力画像の全体が表示される。さらに、表示制御アイコン群354に対するユーザ操作(拡大もしくは縮小など)に応じて、画像表示ウィンドウ350に表示される入力画像の表示範囲および表示精度が変更される。
【0047】
表示方式変更ウィンドウ320には、表示切替ボタン322が選択可能に配置される。この表示切替ボタン322が選択されると、スルーモードとフリーズモードとが交互に切替えられる。すなわち、全体表示ウィンドウ352に表示される入力画像を逐次更新するか否かが変更される。なお、フリーズモードが選択されている場合には、後述する、明度表示ウィンドウ330の更新を止めることが好ましい。また、表示方式変更ウィンドウ320には、現在選択中のモードが表示される。
【0048】
明度表示ウィンドウ330には、撮像装置8の撮像により取得された入力画像における明度が有効範囲内にある画素の度合いが時系列にグラフ表示される。すなわち、明度表示ウィンドウ330には、入力画像を構成する複数の画素に対する、各画素の有する明度が有効な範囲(以下「有効明度範囲」とも称す。)内にある画素の割合の時間的変化がグラフ表示される。
【0049】
明度表示ウィンドウ330は、有効明度範囲コントロール332を含み、ユーザが有効明度範囲コントロール332に対して操作を行なうことで、有効明度範囲が設定される。すなわち、有効明度範囲コントロール332は、撮像装置8の撮像により取得された入力画像における明度の状態を評価するための条件を受付ける。図3および図4に示す例では、有効明度範囲として、下限値が「30」に設定され、上限値が「230」に設定されている例を示す。
【0050】
図4に示すように、明度表示ウィンドウ330に表示されるグラフの横軸は時間を示し、縦軸は入力画像に含まれる全体画素数に対する、予め設定される有効明度範囲(有効明度範囲コントロール332によって設定される下限値および上限値で定義される範囲)内の明度を有する画素の数の割合(以下「有効明度値」とも称す。)を示す。すなわち、有効明度値は、入力画像における撮像状態を評価するための指標値に相当する。具体的には、有効明度値は、以下の(1)式に従って算出される。
【0051】
有効明度値=(入力画像に含まれる画素のうち、その明度が有効明度範囲にある画素数)/(入力画像に含まれる総画素数) …(1)
そして、この横軸と縦軸とによって定義される空間に、有効明度値を示す有効明度値表示3301が時系列にグラフ化される。論理上の縦軸の範囲は、「0%」〜「100%」である。この有効明度値は、入力画像の更新に応じて算出されて順次更新される。なお、図4には、縦軸のレンジを「0%」〜「100%」にした例を示すが、注目すべきレンジ、たとえば、「50%」〜「90%」の範囲を拡大表示するようにしてもよい。
【0052】
より具体的には、明度表示ウィンドウ330においては、有効明度値表示3301は時間の経過とともに紙面左側へスクロールする。すなわち、横軸上で紙面右側にいくほど最新の結果が表示されることとなる。なお、明度表示ウィンドウ330内に収まりきらない、古い有効明度値表示3301のデータは表示されない。
【0053】
ユーザは、明度表示ウィンドウ330におけるグラフ表示を参照して、撮像装置8を操作してその絞り量を調整する。この明度表示ウィンドウ330に表示される有効明度値は、入力画像が全体的に暗い場合(露出アンダーである場合)、および、入力画像が全体的に明るい場合(露出オーバである場合)には、相対的に低い値を示す。そのため、ユーザは、この明度表示ウィンドウ330における有効明度値表示3301の時間的な変動を確認しながら、撮像装置8の絞り量をいずれの方向(より入射する光を低減する方法またはより多くの光を入射させる方向)に調整すればよいのかを直感的に把握することができる。すなわち、ユーザは、明度表示ウィンドウ330における有効明度値表示3301がより高い値を示すように、撮像装置8の絞りリングを調整する。
【0054】
このように、明度表示ウィンドウ330は、最新に算出された有効明度値(指標値)と当該最新に算出された有効明度値より過去に算出された有効明度値とを出力する。
【0055】
明度表示ウィンドウ330は、さらに、有効明度値表示334を含む。有効明度値表示334には、各時点における有効明度値が示される。すなわち、有効明度値表示334には、上述の現在値3305と実質的に同じ値が表示される。なお、表示面積の制約上、現在値3305の桁数が有効明度値表示334に表示される数値の桁数とは異なる場合がある。
【0056】
本実施の形態においては、有効明度値の時系列的な表示に加えてさらに、算出される有効明度値が判定条件を満足しているか否かが評価される。この判定条件は、ユーザによって任意に設定される。判定条件の一例としては、有効明度値があるしきい範囲内であること、および、各画素の有する要素値(典型的には、RGB表色系では各色の濃度)が有効な範囲(以下「濃度有効範囲」とも称す。)内であることを含む。
【0057】
判定条件の一部である、有効明度値についての判定条件(しきい範囲)は、この明度表示ウィンドウ330に、有効度上限表示バー336および有効度下限表示バー338として表示される。図3および図4に示す例では、有効度上限表示バー336が「100.0%」の位置に対応付けて表示されており、有効度下限表示バー338が「60.0%」の位置に対応付けて表示されている。すなわち、判定条件として有効明度値についてのしきい範囲(しきい値)のみが設定されている場合には、有効明度値表示3301が有効度上限表示バー336と有効度下限表示バー338との間に位置していれば、当該時点における撮像装置8の絞り量が予め設定した判定条件を満足していると判断される。
【0058】
さらに、各時点における有効明度値が、予め設定された判定条件を満たしている場合と満たしていない場合とで、有効明度値表示3301の表示態様を変化させてもよい。すなわち、各時点に取得された入力画像に基づく有効明度値が判定条件を満たしている「OK状態」、および、判定条件を満たしていない「NG状態」のいずれであるかをユーザが直感的に把握できるように表示する。このような表示によって、ユーザは、各時点における撮像設定が適切であるか否かを即座に判断することができる。なお、視覚的だけではなく、各種の警告音などを合わせて報知するようにしてもよい。
【0059】
一例として、判定条件を満たしている場合には、有効明度値表示3301を「緑色」に表示し、判定条件を満たしていない場合には、有効明度値表示3301を「赤色」に表示する。あるいは、判定条件を満たしている場合には、有効明度値表示3301を「常時表示」し、判定条件を満たしていない場合には、有効明度値表示3301を「点滅表示」する。このように、表示態様の変化としては、「表示色」「常時点灯/点滅」「点滅周期」などを適宜組み合わせて、ユーザが一見してその状態を把握できるようにしてもよい。
【0060】
さらに、図3および図4に示すように、有効明度値表示3301に対応付けて、現在値3305(図3および図4に示す例では、「93.2%」)が表示されてもよい。これにより、各時点における明度調整の適合度をより容易に把握することができる。
【0061】
再度図3を参照して、判定条件設定ウィンドウ340は、有効明度値判定条件コントロール342と、平均濃度表示344,346,348と、濃度判定条件コントロール345,347,349とを含む。
【0062】
有効明度値判定条件コントロール342は、算出される有効明度値に対する判定条件の設定を受付ける。すなわち、ユーザが有効明度値判定条件コントロール342に対して操作を行なうことで、有効明度値についてのしきい範囲(しきい値)を任意に設定できる。なお、有効明度値はその値が高いほど好ましいので、有効明度値判定条件コントロール342では、しきい範囲の上限値を「100%」に固定し、しきい範囲の下限値のみが変更できるようになっている。すなわち、図3および図4に示す例では、有効明度値についてのしきい範囲として、下限値が「60」に設定され、上限値が「100」に設定されている例を示す。なお、しきい範囲の上限値および下限値のいずれについても、任意に設定できるようにしてもよい。
【0063】
濃度判定条件コントロール345,347,349は、それぞれ、R濃度値、G濃度値、B濃度値に対する判定条件の設定を受付ける。すなわち、平均濃度表示344,346,348の各々は、対応する色(R,G,B)の平均濃度についてのしきい範囲を受付ける。本実施の形態においては、撮像装置8が撮像によって得られた入力画像は、RGB表色系の各色8ビットを有するデータであるとする。すなわち、R濃度値、G濃度値、B濃度値の各々は、0〜255までの256階調を有する。図3に示す例では、いずれの濃度値についても、判定条件(しきい範囲)の下限値を「0」に設定し、上限値を「255」に設定している場合を示す。
【0064】
また、平均濃度表示344,346,348には、それぞれ、R濃度値、G濃度値、B濃度値の平均値が表示される。なお、この平均値の算出対象としては、入力画素に含まれるすべての画素を含めてもよいし、その明度が有効明度範囲内にある画素のみとしてもよい。そして、これらの平均値がそれぞれ平均濃度表示344,346,348において設定される判定条件と比較される。
【0065】
(b.使用例)
次に、本実施の形態に従う明度調整画面300の使用例について説明する。図5は、図3に示す明度調整画面300を用いた明度調整の一例を示す図である。なお、図5(a)〜(c)には、それぞれ明度調整画面300のある状態における、明度表示ウィンドウ330と画像表示ウィンドウ350とを対応付けて表示する。
【0066】
図5(a)には、絞り量が過多となる方向にユーザが撮像装置8を誤調整してしまった場合の例を示す。この場合には、明度表示ウィンドウ330の有効明度値表示3301は時間の経過に伴って、低下していることがわかる。すなわち、誤調整によって、有効明度範囲に含まれる画素数の割合が徐々に減少する。この結果、画像表示ウィンドウ350には、全体的に暗い入力画像が表示される。
【0067】
一方、図5(b)には、絞り量が過少となる方向にユーザが撮像装置8を誤調整してしまった場合の例を示す。この場合にも、明度表示ウィンドウ330の有効明度値表示3301は時間の経過に伴って、低下していることがわかる。すなわち、誤調整によって、有効明度範囲に含まれる画素数の割合が徐々に減少する。この結果、画像表示ウィンドウ350には、全体的に明るい入力画像が表示される。
【0068】
これらに対して、図5(c)には、ユーザが撮像装置8の絞り量を調整した場合の例を示す。具体的には、ユーザは、撮像装置8の絞り量調整用のリングをゆっくり回しながら、有効明度値表示3301の動き(時間的変化)を確認し、有効明度値がピークとなったところに絞り量(それに加えて、照明量)を調整する。この場合には、ユーザによる明度調整に伴って、有効明度範囲に含まれる画素数の割合が徐々に増加するため、明度表示ウィンドウ330の有効明度値表示3301は時間の経過に伴って、上昇していることがわかる。この結果、画像表示ウィンドウ350には、適切な明るさの入力画像が表示される。すなわち、ハレーションや黒つぶれの少ない、画像処理に適した入力画像を取得することができる。
【0069】
なお、図5(a)〜(c)に示す明度表示ウィンドウ330においては、有効明度値が判定条件を満たしていない(NG状態)ことを示す場合には、有効明度値表示3301を破線で表示し、有効明度値が判定条件を満たしている(OK状態)ことを示す場合には、有効明度値表示3301を実線で表示している。
【0070】
(c.制御構造)
次に、上述の明度調整画面300を提供するための制御構造について説明する。
【0071】
図6は、この発明の実施の形態に従う明度調整画面300を提供するための制御構造を示すブロック図である。図6に示す各ブロックは、CPU110がハードディスク114に格納されたプログラム(コード)をメインメモリ112に展開して実行することで提供される。なお、ハードディスク114に格納されるプログラムは、図6に示すブロックに対応する複数のモジュールを含む場合もある。あるいは、図6に示す制御構造の一部もしくは全部を専用ハードウェアおよび/または配線回路によって実現してもよい。
【0072】
図6を参照して、画像処理装置100は、その制御構造として、バッファ202と、明度算出部204と、明度判定部206と、有効明度値判定部208と、履歴格納部210と、R平均値算出部212と、R平均値判定部214と、G平均値算出部222と、G平均値判定部224と、B平均値算出部232と、B平均値判定部234と、判定条件設定部240と、統合判定部242と、表示データ生成部244とを含む。
【0073】
バッファ202は、撮像装置8の撮像によって得られる入力画像を一時的に蓄積する。すなわち、バッファ202は、撮像装置8により取得される入力画像を取込む。この入力画像は、各画素がR濃度値、G濃度値、B濃度値によって定義されるデータ構造を有しており、バッファ202は、後述する他の部位からのアクセスを受付ける。
【0074】
明度算出部204は、バッファ202に蓄積されている入力画像に含まれる各画素の明度を算出する。すなわち、明度算出部204は、入力画像における撮像状態を評価するための指標値を算出する。より具体的には、各画素の濃度値をRi,Gi,Bi{1≦i≦N}とすると、明度算出部204は、明度Liを以下の(2)式に従って算出する。
【0075】
Li=a×Ri+b×Gi+c×Bi …(2)
但し、a,b,cは、変換定数
明度算出部204は、算出した各画素の明度を明度判定部206へ順次出力する。
【0076】
明度判定部206は、明度算出部204から入力画像の各画素の明度を受ける毎に、その明度が予め設定される有効明度範囲(図3の有効明度範囲コントロール332参照)内であるか否かを判断する。そして、明度判定部206は、対象の入力画像に含まれるすべての画素についての判断が終了すると、その判断結果に基づいて有効明度値を算出し、その算出した有効明度値を有効明度値判定部208および履歴格納部210へ出力する。
【0077】
有効明度値判定部208は、明度判定部206から受けた有効明度値が、予め設定されている有効明度値についてのしきい範囲(図3の有効明度値判定条件コントロール342参照)内であるか否かを判断する。そして、有効明度値判定部208は、その判定結果を統合判定部242へ出力する。すなわち、有効明度値判定部208は、最新に算出された有効明度値(指標値)が判定条件を満足しているか否かを判定する。
【0078】
履歴格納部210は、明度判定部206から受けた有効明度値を時系列に記憶する。そして、履歴格納部210は、最新の有効明度値から所定期間前の有効明度値までの、有効明度値の時間的変化を示す情報を表示データ生成部244へ出力する。
【0079】
R平均値算出部212は、バッファ202に蓄積されている入力画像に含まれる各画素のR濃度値を抽出し、そのR濃度値全体の平均値を算出する。そして、R平均値算出部212は、その算出したR濃度値の平均値をR平均値判定部214へ出力する。
【0080】
R平均値判定部214は、R平均値算出部212から受けたR濃度値の平均値が、予め設定されているR濃度値の平均値についてのしきい範囲(図3の濃度判定条件コントロール345参照)内であるか否かを判断する。そして、R平均値判定部214は、その判定結果を統合判定部242へ出力する。
【0081】
G平均値算出部222およびG平均値判定部224は、バッファ202に蓄積されている入力画像のG濃度値の平均値が、予め設定されているG濃度値の平均値についてのしきい範囲(図3の濃度判定条件コントロール347参照)内であるか否かを判断する。詳細な処理については、R平均値算出部212およびR平均値判定部214と同様であるので、その内容は繰返さない。
【0082】
B平均値算出部232およびB平均値判定部234は、バッファ202に蓄積されている入力画像のB濃度値の平均値が、予め設定されているB濃度値の平均値についてのしきい範囲(図3の濃度判定条件コントロール349参照)内であるか否かを判断する。詳細な処理については、R平均値算出部212およびR平均値判定部214と同様であるので、その内容は繰返さない。
【0083】
判定条件設定部240は、ユーザが設定する判定条件(図3の判定条件設定ウィンドウ340参照)を対応する部位へ設定する。すなわち、判定条件設定部240は、指標値についての判定条件を受付ける。
【0084】
統合判定部242は、有効明度値判定部208、R平均値判定部214、G平均値判定部224、B平均値判定部234のそれぞれからの判定結果に基づいて、バッファ202に蓄積されている入力画像が予め設定されている判定条件を満たしているか否かを判断する。そして、統合判定部242は、その判定結果(OK状態、または、NG状態)を表示データ生成部244へ出力する。
【0085】
表示データ生成部244は、図3に示す明度調整画面300を表示するための表示データを生成する。より具体的には、表示データ生成部244は、履歴格納部210から受けた有効明度値の時間的変化を示す情報に基づいて、明度表示ウィンドウ330の表示内容を動的に生成するとともに、統合判定部242から受けた判定結果に基づいて、その表示態様を決定する。また、表示データ生成部244は、有効明度範囲や判定条件を設定するためのユーザインターフェイスを提供するためのデータについても生成する。
【0086】
(d.処理手順)
次に、上述の明度調整に係る処理手順について説明する。
【0087】
図7は、この発明の実施の形態に従う明度調整に係る処理手順を示すフローチャートである。図7に示す処理は、ユーザが調整モードにおいて所定の操作を行なうことで開始される。
【0088】
図7を参照して、まず、撮像装置8が撮像することにより入力画像を取得する(ステップS100)。続いて、画像処理装置100(CPU110)は、設定されている有効明度範囲を取得し(ステップS102)、入力画像に含まれる各画素の明度が、取得した有効明度範囲内であるか否かに基づいて、有効明度値を算出する(ステップS104)。そして、画像処理装置100(CPU110)は、算出した有効明度値を時系列に格納する(ステップS106)。
【0089】
続いて、画像処理装置100(CPU110)は、入力画像について、R濃度値の平均値、G濃度値の平均値、B濃度値の平均値をそれぞれ算出する(ステップS108)。
【0090】
さらに、画像処理装置100(CPU110)は、設定されている判定条件を取得し(ステップS110)、算出した有効明度値、R濃度値の平均値、G濃度値の平均値、B濃度値の平均値が、取得した判定条件を満足しているか否かを判断する(ステップS112)。
【0091】
判定条件を満足している場合(ステップS112においてYESの場合)には、画像処理装置100(CPU110)は、「OK状態」を示す態様で、有効明度値の時間的な変化を示す有効明度値表示3301を含む、明度調整画面300をディスプレイ102に表示する(ステップS114)。
【0092】
これに対して、判定条件を満足していない場合(ステップS112においてNOの場合)には、画像処理装置100(CPU110)は、「NG状態」を示す態様で、有効明度値の時間的な変化を示す有効明度値表示3301を含む、明度調整画面300をディスプレイ102に表示する(ステップS116)。
【0093】
その後、画像処理装置100(CPU110)は、有効明度範囲の変更が指示されたか否かを判断する(ステップS118)。有効明度範囲の変更が指示された場合(ステップS118においてYESの場合)には、画像処理装置100(CPU110)は、ユーザからの新たな有効明度範囲の設定を受付ける(ステップS120)。そして、処理はステップS122へ進む。
【0094】
有効明度範囲の変更が指示されていない場合(ステップS118においてNOの場合)には、画像処理装置100(CPU110)は、判定条件の変更が指示されたか否かを判断する(ステップS122)。判定条件の変更が指示された場合(ステップS122においてYESの場合)には、画像処理装置100(CPU110)は、ユーザからの新たな判定条件の設定を受付ける(ステップS124)。そして、処理はステップS126へ進む。
【0095】
判定条件の変更が指示されていない場合(ステップS122においてNOの場合)には、画像処理装置100(CPU110)は、明度調整の終了が指示されたか否かを判断する(ステップS126)。明度調整の終了が指示された場合(ステップS126においてYESの場合)には、処理は終了する。
【0096】
これに対して、明度調整の終了が指示されていない場合(ステップS126においてNOの場合)には、画像処理装置100(CPU110)は、「スルーモード」および「フリーズモード」のいずれが選択されているかを判断する(ステップS128)。
【0097】
「スルーモード」が選択されている場合(ステップS128において「スルー」)には、ステップS100以下の処理が繰返される。一方、「フリーズモード」が選択されている場合(ステップS128において「フリーズ」)には、ステップS118以下の処理が繰返される。すなわち、フリーズモードが選択された場合には、新たな入力画像の取り込み処理や有効明度値の算出処理が中断される。
【0098】
(e.変形例)
上述の実施の形態においては、入力画像に含まれる画素のうち、その明度が有効明度範囲内にある画素の割合の推移が表示される構成について例示したが、よりユーザフレンドリな観点からは、各時点の明度調整の状態がより明瞭にわかるようにしてもよい。以下に説明する変形例においては、入力画像に含まれる画素のうち、その明度が有効明度範囲より小さい画素の割合、および、その明度が有効明度範囲より大きい画素の割合を同時に表示する構成について例示する。このような表示を行なうことで、ユーザは、各時点における明度が全体的に暗い方向にあるのか、あるいは、明るい方向にあるのかを一見して判断することができる。
【0099】
本変形例に従う画像処理装置では、明度調整画面300に含まれる明度表示ウィンドウにおける表示態様のみが上述の実施の形態に従う画像処理装置とは異なるので、それ以外の構成や処理についての詳細な説明は繰返さない。
【0100】
図8は、この発明の実施の形態の変形例に従う明度表示ウィンドウ330Aの表示例である。
【0101】
図8を参照して、本変形例に従う明度表示ウィンドウ330Aには、有効明度値を示す有効明度値表示3301に加えて、第1無効明度値表示3302および第2無効明度値表示3303が含まれる。第1無効明度値表示3302は、撮像装置8の撮像により取得された入力画像に含まれる画素のうち、その明度が予め設定される有効明度範囲より大きい画素の割合(以下「第1無効明度値」とも称す。)を時系列に示したものである。一方、第2無効明度値表示3302は、撮像装置8の撮像により取得された入力画像に含まれる画素のうち、その明度が予め設定される有効明度範囲より小さい画素の割合(以下「第2無効明度値」とも称す。)を時系列に示したものである。
【0102】
すなわち、第1無効明度値および第2無効明度値は、それぞれ以下の(3)式および(4)式に従って算出される。
【0103】
第1無効明度値=(入力画像に含まれる画素のうち、その明度が有効明度範囲より大きい画素数)/(入力画像に含まれる総画素数) …(3)
第2無効明度値=(入力画像に含まれる画素のうち、その明度が有効明度範囲より小さい画素数)/(入力画像に含まれる総画素数) …(4)
したがって、各時点についてみれば、有効明度値と、第1無効明度値と、第2無効明度値との合計が「100%」と一致する。
【0104】
ユーザは、図8に示すような明度表示ウィンドウ330Aに表示される、第1無効明度値表示3302および第2無効明度値表示3303のグラフ表示を参照することで、各時点における明度の設定が暗すぎる状態であるのか、明るすぎる状態であるのかを一見して把握することができる。すなわち、第1無効明度値の値が相対的に大きければ、有効明度範囲より大きな明度を有する画素が相対的に多いことを示すので、全体としては、入力画像が明るすぎると判断できる。一方、第2無効明度値の値が相対的に大きければ、有効明度範囲より小さな明度を有する画素が相対的に多いことを示すので、全体としては、入力画像が暗すぎると判断できる。
【0105】
以上のように、本変形例に従う明度表示ウィンドウ330Aを採用することで、ユーザは、より的確に撮像装置8の絞り量などを調整することができる。
【0106】
<2.フォーカス調整>
(a.ユーザインターフェイス)
図9は、この発明の実施の形態に従う画像処理装置100が提供するフォーカス調整画面302の一例を示す図である。図10は、図9に示すフォーカス値表示ウィンドウの拡大図である。
【0107】
図9を参照して、画像処理装置100は、ディスプレイ102(図1)などにフォーカス調整画面302を表示させる。このフォーカス調整画面302は、「計測パラメータ」のタブ312が選択されることで提供される。
【0108】
フォーカス調整画面302は、表示方式変更ウィンドウ320と、フォーカス値表示ウィンドウ360と、判定条件設定ウィンドウ380と、画像表示ウィンドウ350とを含む。このうち、表示方式変更ウィンドウ320および画像表示ウィンドウ350については、図3に示す明度調整画面300における表示方式変更ウィンドウ320および画像表示ウィンドウ350と同様であるので、詳細な説明は繰返さない。
【0109】
フォーカス値表示ウィンドウ360には、撮像装置8の撮像により取得された入力画像におけるフォーカス値が時系列にグラフ表示される。このフォーカス値は、撮像装置8がワークなどの被写体に対して焦点が合致しているか否かの度合いを示す。すなわち、フォーカス値は、入力画像における撮像状態を評価するための指標値に相当する。このフォーカス値は、入力画像内におけるエッジの発生量と相関関係にある。そこで、本実施の形態においては、フォーカス値を入力画像に含まれる色偏差に基づいて算出する。一例として、フォーカス値は、以下の(5)式に従って算出される。
【0110】
【数1】

【0111】
図10に示すように、フォーカス値表示ウィンドウ360に表示されるグラフの横軸は時間を示し、縦軸は入力画像についてのフォーカス値を示す。そして、この横軸と縦軸とによって定義される空間に、フォーカス値を示すフォーカス値表示3601が時系列にプロットされる。すなわち、フォーカス値表示ウィンドウ360には、入力画像におけるフォーカス値(指標値)の時間的変化が出力される。言い換えれば、フォーカス値(指標値)の時間的変化として、時間軸上にフォーカス値のグラフが表示される。
【0112】
上述の(5)式に示すように、本実施の形態に従うフォーカス調整画面302において採用するフォーカス値は、入力画像における色偏差であるので、縦軸の論理上の範囲は、各色の濃度値のレンジに応じて変化する。そのため、時系列に算出されるフォーカス値の最大値などに応じて、フォーカス値表示ウィンドウ360における表示レンジが動的に変更される。
【0113】
フォーカス値表示ウィンドウ360においては、フォーカス値表示3601は時間の経過とともに紙面左側へスクロールする。すなわち、横軸上で紙面右側にいくほど最新の結果が表示されることとなる。なお、フォーカス値表示ウィンドウ360内に収まりきらない、古いフォーカス値表示3601のデータは表示されない。
【0114】
ユーザは、フォーカス値表示ウィンドウ360におけるグラフ表示を参照して、撮像装置8を操作してそのフォーカスを調整する。このフォーカス値表示ウィンドウ360に表示されるフォーカス値は、ワークなどの被写体に対して「ピントが合っている」状態になるほど、相対的に高い値を示す。そのため、ユーザは、このフォーカス値表示ウィンドウ360におけるフォーカス値表示3601の時間的な変動を確認しながら、撮像装置8のフォーカスをいずれの方向(焦点位置をより遠方側に移動する方向または焦点位置をより近傍側に移動する方向)に調整すればよいのかを直感的に把握することができる。すなわち、ユーザは、フォーカス値表示ウィンドウ360におけるフォーカス値表示3601がより高い値を示すように、撮像装置8のズームリングを調整する。
【0115】
フォーカス値表示ウィンドウ360には、フォーカス値表示3601に関連付けて、最大フォーカス値表示バー366が表示される。この最大フォーカス値表示バー366は、過去のフォーカス値の算出結果のうち、最も高いフォーカス値(最大フォーカス値)を示す。図9および図10に示す例では、最大フォーカス値表示バー366が「106.2」を示しており、ユーザは、フォーカス値表示3601がこの最大フォーカス値表示バー366になるべく「近づく」あるいは「超える」ように、撮像装置8におけるフォーカス状態を調整する。
【0116】
このように、フォーカス値表示ウィンドウ360は、最新に算出されたフォーカス値(指標値)と当該最新に算出されたフォーカス値より過去に算出されたフォーカス値(好ましくは、最大フォーカス値)とを出力する。そして、この最大フォーカス値に関連付けて、フォーカス値の時間的変化であるグラフが表示される。また、最大フォーカス値表示バー366が、このフォーカス値のグラフ上に最大フォーカス値の位置を示す。
【0117】
フォーカス値表示ウィンドウ360は、さらに、最大値表示364およびリセットボタン370を含む。最大値表示364は、最大フォーカス値表示バー366によって示される、過去の最も高いフォーカス値を数値表示する。なお、最大値表示364と並んで、各時点におけるフォーカス値を示す現在値表示362が配置される。すなわち、現在値表示362には、上述のフォーカス値表示3601と実質的に同じ値が表示される。但し、表示面積の制約上、フォーカス値表示3601の桁数が現在値表示362に表示される数値の桁数とは異なる場合がある。
【0118】
この過去の最も高いフォーカス値は、ユーザがリセットボタン370を押下することでリセットされる。このリセットボタン370は、被写体であるワークを交換する場合や、何らかの原因(たとえば、不正な入力画像の取得など)によって、本来とは異なるフォーカス値が記録されてしまった場合などに用いられる。
【0119】
本実施の形態においては、フォーカス値の時系列的な表示に加えてさらに、算出されるフォーカス値が判定条件を満足しているか否かが評価される。この判定条件は、ユーザによって任意に設定される。判定条件の一例としては、フォーカス値があるしきい値以上であることを含む。この判定条件(しきい値)は、フォーカス値表示ウィンドウ360のフォーカス値表示3601と関連付けて、判定下限値表示バー368として表示される。図9および図10に示す例では、判定下限値表示バー368が「80.0%」の位置に対応付けて表示されている。すなわち、フォーカス値表示3601が判定下限値表示バー368より上側に位置していれば、当該時点における撮像装置8のフォーカス値が予め設定した判定条件を満足していると判断される。
【0120】
さらに、各時点におけるフォーカス値が、予め設定された判定条件を満たしている場合と満たしていない場合とで、フォーカス値表示3601の表示態様を変化させてもよい。すなわち、各時点に取得された入力画像に基づくフォーカス値が判定条件を満たしている「OK状態」、および、判定条件を満たしていない「NG状態」のいずれであるかをユーザが直感的に把握できるように表示する。このような表示によって、ユーザは、各時点における撮像設定が適切であるか否かを即座に判断することができる。なお、視覚的だけではなく、各種の警告音などを合わせて報知するようにしてもよい。
【0121】
一例として、判定条件を満たしている場合には、フォーカス値表示3601を「緑色」に表示し、判定条件を満たしていない場合には、フォーカス値表示3601を「赤色」に表示する。あるいは、判定条件を満たしている場合には、フォーカス値表示3601を「常時表示」し、判定条件を満たしていない場合には、フォーカス値表示3601を「点滅表示」する。このように、表示態様の変化内容としては、「表示色」「常時点灯/点滅」「点滅周期」などを適宜組み合わせて、ユーザが一見してその状態を把握できるようにしてもよい。
【0122】
上述の判定条件は、判定条件設定ウィンドウ380に含まれる、フォーカス値判定条件コントロール382によって設定される。すなわち、ユーザがフォーカス値判定条件コントロール382に対して操作を行なうことで、フォーカス値を有効であると反転するためのしきい値(しきい範囲)が設定される。
【0123】
(b.使用例)
次に、本実施の形態に従うフォーカス調整画面302の使用例について説明する。図11は、図9に示すフォーカス調整画面302を用いたフォーカス調整の一例を示す図である。なお、図11(a)〜(c)には、それぞれフォーカス調整画面302のある状態における、フォーカス値表示ウィンドウ360と画像表示ウィンドウ350とを対応付けて表示する。
【0124】
図11(a)には、フォーカスが合っていない状態の例を示す。この場合には、フォーカス値表示ウィンドウ360のフォーカス値表示3601は相対的に低い値を示していることがわかる。この結果、画像表示ウィンドウ350には、全体的に「ボケた」入力画像が表示される。
【0125】
一方、図11(b)には、ユーザがフォーカス調整を行なっている途中の状態の例を示す。この場合には、フォーカス値表示ウィンドウ360のフォーカス値表示3601が時間の経過とともに、上昇していることがわかる。なお、図11(b)に示す例では、撮像装置8のフォーカスリングをゆっくり回しながらフォーカスを調整した結果、ある時点で最大のフォーカス値を得られた後、再度フォーカス値が劣化してしまったケースを示している。いわゆる、最適なフォーカス位置を行き過ぎてしまった例を示す。このような場合であっても、本実施の形態に従うフォーカス値表示ウィンドウ360では、最大フォーカス値が履歴として残るので、ユーザは、この最大フォーカス値を目標として、撮像装置8のフォーカスを微調整することができる。
【0126】
その結果、図11(c)に示すような、被写体に最も適切にフォーカスがなされている状態の入力画像を得ることができる。図11(c)に示すフォーカス値表示ウィンドウ360では、フォーカス値表示3601の値がほぼ最大フォーカス値に一致している。このような状態においては、画像表示ウィンドウ350には、輪郭のはっきりした入力画像が表示される。
【0127】
このように、フォーカス調整画面302においては、最大フォーカス値および撮像装置8により取得された入力画像が並べて表示され、この画面を参照することで、ユーザは、被写体に最適にフォーカスされた状態の入力画像を確認することができる。
【0128】
(c.制御構造)
次に、上述のフォーカス調整画面302を提供するための制御構造について説明する。
【0129】
図12は、この発明の実施の形態に従うフォーカス調整画面302を提供するための制御構造を示すブロック図である。図12に示す各ブロックは、CPU110がハードディスク114に格納されたプログラム(コード)をメインメモリ112に展開して実行することで提供される。なお、ハードディスク114に格納されるプログラムは、図12に示すブロックに対応する複数のモジュールを含む場合もある。あるいは、図12に示す制御構造の一部もしくは全部を専用ハードウェアおよび/または配線回路によって実現してもよい。
【0130】
図12を参照して、画像処理装置100は、その制御構造として、バッファ252と、フォーカス値算出部254と、履歴格納部256と、ピーク保持部258と、フォーカス値判定部260と、表示データ生成部262と、判定条件設定部264とを含む。
【0131】
バッファ252は、撮像装置8の撮像によって得られる入力画像を一時的に蓄積する。すなわち、バッファ252は、撮像装置8により取得される入力画像を取込む。この入力画像は、各画素がR濃度値、G濃度値、B濃度値によって定義されるデータ構造を有しており、バッファ252は、フォーカス値算出部254からのアクセスを受付ける。
【0132】
フォーカス値算出部254は、バッファ252に蓄積されている入力画像についてのフォーカス値を算出する。すなわち、フォーカス値算出部254は、入力画像における撮像状態を評価するための指標値を算出する。より具体的には、フォーカス値算出部254は、入力画像に含まれる画素の各色の濃度値の平均値および二乗平均値を算出した上で、上述(5)式に従って、フォーカス値を算出する。フォーカス値算出部254は、算出したフォーカス値を履歴格納部256、ピーク保持部258およびフォーカス値判定部260へ順次出力する。
【0133】
履歴格納部256は、フォーカス値算出部254から受けたフォーカス値を時系列に記憶する。そして、履歴格納部256は、最新のフォーカス値から所定期間前のフォーカス値までの、フォーカス値の時間的変化を示す情報を表示データ生成部262へ出力する。
【0134】
ピーク保持部258は、フォーカス値算出部254から出力されるフォーカス値の最大値を保持する。より具体的には、ピーク保持部258は、ある最大フォーカス値(初期値)とフォーカス値算出部254から出力されるフォーカス値とを比較し、フォーカス値算出部254から出力されるフォーカス値がより大きな値を示している場合には、当該フォーカス値を新たな最大フォーカス値として採用する。このような比較・更新処理を順次繰返すことで、過去のフォーカス値のうち最も高いフォーカス値(最大フォーカス値)を保持する。すなわち、ピーク保持部258は、バッファ252により時系列に取込まれる複数の入力画像についてそれぞれ算出されるフォーカス値(指標値)のうち、最大値を記憶する。
【0135】
さらに、ピーク保持部258は、保持している最大フォーカス値を表示データ生成部262へ出力する。また、ピーク保持部258は、ユーザからのリセット指令に応答して、その保持している最大フォーカス値をリセット(初期化)する。すなわち、ピーク保持部258は、ユーザ操作に応答して、記憶している最大フォーカス値をリセットするように構成される。
【0136】
フォーカス値判定部260は、フォーカス値算出部254から入力画像のフォーカス値を受ける毎に、そのフォーカス値が予め設定される判定条件(図9の判定条件設定ウィンドウ380参照)を満たしているか否かを判断する。そして、フォーカス値判定部260は、その判定結果(OK状態、または、NG状態)を表示データ生成部262へ出力する。すなわち、フォーカス値判定部260は、最新に算出されたフォーカス値(指標値)が当該判定条件を満足しているか否かを判定する。
【0137】
判定条件設定部264は、ユーザが設定する判定条件(図9の判定条件設定ウィンドウ380参照)をフォーカス値判定部260へ設定する。すなわち、判定条件設定部264は、フォーカス値(指標値)についての判定条件を受付ける。
【0138】
表示データ生成部262は、図9に示すフォーカス調整画面302を表示するための表示データを生成する。より具体的には、表示データ生成部262は、履歴格納部256から受けたフォーカス値の時間的変化を示す情報に基づいて、フォーカス値表示ウィンドウ360の表示内容を動的に生成する。さらに、表示データ生成部262は、フォーカス値判定部260から受けた判定結果に基づいて、その表示態様を決定する。すなわち、表示データ生成部262は、フォーカス値判定部260による判定結果に応じて、出力態様を変化させる。
【0139】
また、表示データ生成部262は、ピーク保持部258からの最大フォーカス値をフォーカス値表示ウィンドウ360内に表示する。すなわち、表示データ生成部262は、最大フォーカス値と最新に算出されたフォーカス値(指標値)とを出力する。
【0140】
さらに、表示データ生成部262は、撮像装置8により取得された入力画像を表示するためのデータや、有効明度範囲や判定条件を設定するためのユーザインターフェイスを提供するためのデータについても生成する。
【0141】
(d.処理手順)
次に、上述のフォーカス調整に係る処理手順について説明する。
【0142】
図13は、この発明の実施の形態に従うフォーカス調整に係る処理手順を示すフローチャートである。図13に示す処理は、ユーザが調整モードにおいて所定の操作を行なうことで開始される。
【0143】
図13を参照して、まず、画像処理装置100(CPU110)は、最大フォーカス値に初期値を設定する(ステップS200)。
【0144】
そして、撮像装置8が撮像することにより入力画像を取得する(ステップS202)。続いて、画像処理装置100(CPU110)は、入力画像に基づいてフォーカス値を算出する(ステップS204)。そして、画像処理装置100(CPU110)は、算出したフォーカス値を時系列に格納する(ステップS206)。さらに、画像処理装置100(CPU110)は、算出したフォーカス値が現在の最大フォーカス値を超えているか否かを判断する(ステップS208)。
【0145】
算出したフォーカス値が現在の最大フォーカス値を超えている場合(ステップS208においてYESの場合)には、画像処理装置100(CPU110)は、最大フォーカス値を算出したフォーカス値に更新する(ステップS210)。そして、処理はステップS212へ進む。
【0146】
算出したフォーカス値が現在の最大フォーカス値を超えていない場合(ステップS208においてNOの場合)には、画像処理装置100(CPU110)は、設定されている判定条件を取得し(ステップS212)、算出したフォーカス値が取得した判定条件を満足しているか否かを判断する(ステップS214)。
【0147】
判定条件を満足している場合(ステップS214においてYESの場合)には、画像処理装置100(CPU110)は、「OK状態」を示す態様で、フォーカス値の時間的な変化を示すフォーカス値表示3601を含む、フォーカス調整画面302をディスプレイ102に表示する(ステップS216)。
【0148】
これに対して、判定条件を満足していない場合(ステップS214においてNOの場合)には、画像処理装置100(CPU110)は、「NG状態」を示す態様で、フォーカス値の時間的な変化を示すフォーカス値表示3601を含む、フォーカス調整画面302をディスプレイ102に表示する(ステップS218)。
【0149】
その後、画像処理装置100(CPU110)は、判定条件の変更が指示されたか否かを判断する(ステップS220)。判定条件の変更が指示された場合(ステップS220においてYESの場合)には、画像処理装置100(CPU110)は、ユーザからの新たな判定条件の設定を受付ける(ステップS222)。そして、処理はステップS224へ進む。
【0150】
判定条件の変更が指示されていない場合(ステップS220においてNOの場合)には、画像処理装置100(CPU110)は、フォーカス調整の終了が指示されたか否かを判断する(ステップS224)。フォーカス調整の終了が指示された場合(ステップS224においてYESの場合)には、処理は終了する。
【0151】
これに対して、フォーカス調整の終了が指示されていない場合(ステップS224においてNOの場合)には、画像処理装置100(CPU110)は、「スルーモード」および「フリーズモード」のいずれが選択されているかを判断する(ステップS226)。
【0152】
「スルーモード」が選択されている場合(ステップS226において「スルー」)には、ステップS202以下の処理が繰返される。一方、「フリーズモード」が選択されている場合(ステップS226において「フリーズ」)には、ステップS220以下の処理が繰返される。すなわち、フリーズモードが選択された場合には、新たな入力画像の取り込み処理やフォーカス値の算出処理が中断される。
【0153】
<作用効果>
本実施の形態に従う画像処理装置によれば、ユーザは、明度調整画面300および/またはフォーカス調整画面302を参照することで、入力画像における撮像状態を評価するための指標値である、有効明度値およびフォーカス値の時間的な変化を評価しつつ、撮像装置8における絞り量やフォーカスを調整することができる。これにより、ユーザは、撮像装置8に対して最適な撮像設定を行なうことができる。
【0154】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【0155】
1 視覚センサシステム、2 被測定物(ワーク)、4 光電センサ、4a 受光部、4b 投光部、6 搬送機構、8 撮像装置、100 画像処理装置、102 ディスプレイ、104 キーボード、106 メモリカード、112 メインメモリ、114 ハードディスク、116 カメラインターフェイス、116a 画像バッファ、118 入力インターフェイス、120 表示コントローラ、122 インターフェイス、124 通信インターフェイス、126 データリーダ/ライタ、128 バス、202 バッファ、204 明度算出部、206 明度判定部、208 有効明度値判定部、210 履歴格納部、212 R平均値算出部、214 R平均値判定部、222 G平均値算出部、224 G平均値判定部、232 B平均値算出部、234 B平均値判定部、240 判定条件設定部、242 統合判定部、244 表示データ生成部、252 バッファ、254 フォーカス値算出部、256 履歴格納部、258 ピーク保持部、260 フォーカス値判定部、262 表示データ生成部、264 判定条件設定部。

【特許請求の範囲】
【請求項1】
撮像設定を変更可能な撮像装置に接続されたコンピュータで実行される画像処理プログラムであって、前記画像処理プログラムは、前記コンピュータを、
前記撮像装置により取得される入力画像を取込む画像入力手段、
前記入力画像における撮像状態を評価するための指標値を算出する算出手段、および、
最新に算出された指標値と前記最新に算出された指標値より過去に算出された指標値とを出力する出力手段、として機能させる、画像処理プログラム。
【請求項2】
前記出力手段は、前記指標値の時間的変化の履歴を出力する、請求項1に記載の画像処理プログラム。
【請求項3】
前記画像処理プログラムは、前記コンピュータを、前記画像入力手段により時系列に取込まれる複数の入力画像についてそれぞれ算出される前記指標値のうち、最大値を保持する保持手段、としてさらに機能させ、
前記出力手段は、前記指標値の時間的変化の履歴として、時間軸上に前記指標値のグラフを表示するとともに、前記グラフ上に前記最大値の位置を示すための表示を行なう、請求項2に記載の画像処理プログラム。
【請求項4】
前記出力手段は、さらに、前記撮像装置により取得された入力画像を出力する、請求項3に記載の画像処理プログラム。
【請求項5】
前記コンピュータは、表示装置に接続されており、
前記出力手段は、前記表示装置上で、前記最大値および前記撮像装置により取得された入力画像を並べて表示する、請求項4に記載の画像処理プログラム。
【請求項6】
前記画像処理プログラムは、前記コンピュータを、
前記指標値についての判定条件を受付ける判定条件入力手段、および
前記最新に算出された指標値が前記判定条件を満足しているか否かを判定する判定手段、としてさらに機能させ、
前記出力手段は、前記判定手段による判定結果に応じて、出力態様を切替える、請求項1〜5のいずれか1項に記載の画像処理プログラム。
【請求項7】
前記指標値は、前記撮像装置の絞り量またはフォーカスの調整度合いを示す値である、請求項1〜6のいずれか1項に記載の画像処理プログラム。
【請求項8】
撮像設定を変更可能な撮像装置に接続された画像処理装置であって、
前記撮像装置により取得される入力画像を取込む入力手段と、
前記入力画像における撮像状態を評価するための指標値を算出する算出手段と、
最新に算出された指標値と前記最新に算出された指標値より過去に算出された指標値とを出力する出力手段とを備える、画像処理装置。

【図1】
image rotate

【図2】
image rotate

【図4】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図10】
image rotate

【図12】
image rotate

【図13】
image rotate

【図3】
image rotate

【図5】
image rotate

【図9】
image rotate

【図11】
image rotate


【公開番号】特開2011−49980(P2011−49980A)
【公開日】平成23年3月10日(2011.3.10)
【国際特許分類】
【出願番号】特願2009−198408(P2009−198408)
【出願日】平成21年8月28日(2009.8.28)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.COMPACTFLASH
【出願人】(000002945)オムロン株式会社 (3,542)
【Fターム(参考)】