《第1の実施形態》
以下、第1の実施形態に係る画像測定装置について、図1~図13に基づいて詳細に説明する。図1には、第1の実施形態に係る画像測定装置100の構成が概略的に示されている。
画像測定装置100は、図1に示すように、測定装置本体1と、制御ユニット2と、表示装置193と、入力装置195と、を備える。
測定装置本体1は、支持体3と、支持体3のベース部3a上に設けられたXYステージ5と、XYステージ5の上方に位置するように支持体3の支柱部3bに支持された撮像部6と、を有する。
XYステージ5は、水平面内の直交する2軸方向(X軸及びY軸方向)に移動するステージである。XYステージ5の上面には、自動車の部品や機械の部品などの物体7(以下、測定対象物7と呼ぶ)が載置される。測定対象物7は、支持体3のベース部3aに設けられた透過照明光学系8又は撮像部6に設けられた落射照明光学系9によって照明される。
XYステージ5には、制御ユニット2からのステージ移動指示に基づきXYステージ5を2次元方向に移動させるXYステージ駆動部10と、XYステージ5の座標を検出し、ステージ座標値を表わす信号を制御ユニット2に対して出力するステージ位置検出部(不図示)とが設けられている。XYステージ駆動部10は、XYステージ5をX軸及びY軸方向にそれぞれ駆動するX軸用モータ及びY軸用モータを有する。ステージ位置検出部は、XYステージ5のX軸及びY軸方向の位置をそれぞれ検出するX軸用エンコーダ及びY軸用エンコーダを有する。
撮像部6は、落射照明光学系9のほか、測定対象物7からの光を結像する結像光学系12と、結像光学系12により結像された測定対象物7の像を捉え(受け)、捉えた像の光強度分布に応じた電気信号を出力するCCD(Charge Coupled Device)カメラ13とを有する。また、本実施形態の結像光学系12は変倍光学系になっている。なお、結像光学系は変倍光学系でなくてもよく、固定倍率の光学系であってもよい。
なお、撮像部6の近傍には、不図示のオートフォーカス機構が設けられている。オートフォーカス機構は、画像測定の際に測定対象物7に自動で焦点を合わせるためのものである。このオートフォーカスの方式としては、結像光学系12と測定対象物7のZ軸方向の相対的な距離を変化させて複数の画像を取得し、画像のコントラストが最大となる位置を合焦位置として算出するパッシブ方式と呼ばれる方式や、レーザダイオードやLED(Light Emitting Diode)光を補助光として測定対象物7に照射し、その反射光の光点位置の変位等から合焦位置を知るアクティブ方式と呼ばれるものがある。なお、オートフォーカス機構は、オートフォーカスの際に得られる情報に基づいて、測定対象物7の高さ測定(Z位置の測定)を行うこともできる。
制御ユニット2は、測定装置本体1の動作を制御して、測定対象物7の像を撮像して画像を取得し、取得した画像を表示装置193に表示する。また、制御ユニット2は、表示装置193に表示された測定対象物7の画像に含まれる幾何形状を測定し、測定した幾何形状に関連する情報(以下、幾何形状関連情報と称する。例えば、後述するように幾何形状を表すアイコン)を選択可能に表示し、選択された幾何形状関連情報に対応する幾何形状に基づく測定対象物7の測定候補を選択可能に表示し、選択された測定候補(すなわち、測定対象物7の任意の測定項目)を幾何形状の測定結果を利用して算出する。ここで、幾何形状とは、幾何学的な基本形状を意味し、円、直線、点、円弧などを含む。また、幾何形状を測定するとは、測定対象物7の画像から幾何形状に近似する形状の輪郭(すなわち、幾何形状)を特定し、当該幾何形状に関する測定を実行することを意味する。図2は、幾何形状を測定する場合の具体的な測定項目を例示した測定項目リストである。図2に示すように、例えば、幾何形状として直線を測定する場合は、測定対象物7の画像において直線に近似する輪郭(言い換えると、直線)を特定し、特定した輪郭の角度(X軸からの角度)、真直度、単位ベクトル、始点座標、終点座標などを求める。また、測定項目とは、幾何形状に基づいて成り立つ測定項目の候補(言い換えると、幾何形状の測定結果を利用して算出できる測定項目の候補)を意味し、例えば、幾何形状として2つの点の測定結果を利用する場合には、測定項目は、点と点の距離や、分割点の座標などとなり、例えば、幾何形状として2つの直線の測定結果を利用する場合には、測定項目は、2直線の交点座標や2直線の接円の直径などとなる。なお、測定候補とは、1つの幾何形状に基づく測定項目(言い換えると、1つの幾何形状に関して算出できる測定項目)も意味する。例えば、幾何形状が円の場合、測定候補は、中心座標、直径、真円度など(図2の測定項目参照)となる。
図3には、制御ユニット2のブロック図(ハードウェア構成)が示されている。図3に示すように、制御ユニット2は、CPU(Central Processing Unit)190、ROM(Read Only Memory)192、RAM(Random Access Memory)194、記憶部(ここではHDD(Hard Disk Drive))196、及び可搬型記憶媒体用ドライブ199等を備えている。これら制御ユニット2の構成各部は、バス198に接続されている。
表示装置193は、液晶ディスプレイ等を含み、入力装置195は、コントローラ、キーボードやマウス等を含む。なお、入力装置195は、表示装置193に一体的に設けられたタッチパネルディスプレイであってもよい。表示装置193及び入力装置195は、不図示の入出力インタフェース等を介して図3のバス198に接続されている。
図4には、CPU190の詳細ブロック図が示されている。なお、図4においては、図示及び説明の便宜上、HDD196に格納されている組合せテーブル34及び測定結果DB32も図示されている。制御ユニット2は、図4に示すように、撮像制御部21、出力制御部22、選択受付部23、幾何形状測定部25、算出指示受付部26、算出部としての測定項目算出部27を有する。なお、図4の各部の機能は、CPU190がROM192あるいはHDD196に格納されているプログラム(画像測定プログラムを含む)、或いは可搬型記憶媒体用ドライブ199が可搬型記憶媒体191から読み取ったプログラム(画像測定プログラムを含む)を実行することにより実現されている。
撮像制御部21は、入力装置195を介したユーザからの指示に応じて、あるいは事前に設定された測定条件に基づいて、測定装置本体1の動作を制御し、測定対象物7の像を撮像部6に撮像させる。また、撮像制御部21は、撮像部6が撮像した画像を取得し、出力制御部22に送信する。
出力制御部22は、表示制御部122Aと、算出結果出力部122Bとを有する。表示制御部122Aは、撮像制御部21から受信した測定対象物7の画像を含む画面(図9等参照)を表示装置193に表示する。この場合、表示制御部122Aは、図9に示すように、測定対象物7の画像のほか、測定する幾何形状の種類(円、直線、点、円弧など)をユーザに選択させるためのメニュー40を表示装置193に表示する。また、表示制御部122Aは、その他必要な情報を表示装置193に適宜表示する。算出結果出力部122Bは、測定項目算出部27による算出結果を表示装置193に表示出力する。
選択受付部23は、ユーザが入力装置195を介してメニュー40上で選択した幾何形状の情報と、ユーザが入力装置195を介して測定対象物7の画像上で選択した箇所の位置情報を取得する。
幾何形状測定部25は、既存の測定方法により、選択受付部23が取得した情報に基づいて、測定対象物7の画像中の幾何形状(言い換えると、画像中における測定対象物7の輪郭)を画像のコントラストに基づいて特定し、特定した幾何形状に関する測定を行う。具体的には、幾何形状測定部25は、以下の測定処理を実行する。なお、画像中の幾何形状は、以下の測定処理方法で測定しなくてもよく、既存の他の方法により測定してもよい。
(1)幾何形状測定部25は、ユーザが表示装置193に表示された画像上で入力装置195を介して選択した箇所(例えば、点)の周辺の輝度値の平均値を算出し、算出した平均値を用いて画像を2値化する。一例として、入力装置195を介して画像上で選択した箇所の周囲10×10ピクセルの輝度値の平均値を算出し、算出した平均値の50%を閾値として画像を2値化する。
(2)次に、幾何形状測定部25は、ユーザが選択した箇所を始点とし、始点を中心として複数の方向に沿って、測定対象物7の画像における画素の輝度値(信号強度)に基づくコントラストを算出し、複数の方向について算出したコントラストのうち、コントラストが最も大きい方向をスキャン方向として決定(このスキャン方向は測定対象物7の輪郭(幾何形状)に対してほぼ直交する方向になる)し、その方向においてコントラストが最も大きくなる箇所の座標を検出して幾何形状の一部(言い換えると、画像中における測定対象物7の輪郭上の点)と特定する。
(3)次に、幾何形状測定部25は、決定したスキャン方向とは異なる方向に(例えばスキャン方向と直交する方向に)所定のピッチだけ離れた位置で再度、(2)のスキャン方向に沿ってコントラストを算出し、コントラストが最大となる箇所の座標を検出して幾何形状の一部(輪郭上の点)と特定する。
(4)幾何形状測定部25は、幾何形状の一部(輪郭上の点)が見つからなくなるまで(3)を繰り返し、測定対象物7の輪郭上の点列を取得する。なお、(3)を繰り返す際、特定した幾何形状に応じてスキャン方向を補正してもよい。具体的には、特定した幾何形状の一部の形状に基づいて幾何形状全体を予測し、予測した幾何形状に対してスキャン方向が直交するようにスキャン方向を補正してもよい。
(5)次に、幾何形状測定部25は、ユーザによって選択された幾何形状の種類に基づいて、取得した輪郭上の点列から幾何形状を特定する。また、幾何形状測定部25は、特定した結果に応じて輪郭上の点列の座標(点列データ)を利用して幾何形状に関する測定を行う。具体的には、(5)の処理では、幾何形状測定部25は、ユーザがメニュー40において選択した幾何形状(直線や円)に近似する形状を輪郭上の点列から求め、求めた近似形状と輪郭上の点列に含まれる各点との誤差を求めるとともに分散を求める。そして、分散が所定の閾値よりも小さければ、幾何形状測定部25は、分散が所定の閾値よりも小さかった近似形状の種類(すなわち、幾何形状の種類)を決定し、画像中の測定対象物7における幾何形状を特定する。更に、輪郭上の点の点列の座標(点列データ)に基づいて、特定した幾何形状に関する測定を実行する。一方、分散が所定の閾値よりも大きければ、エラーとする。
ここで、例えば、ユーザがメニュー40において測定する幾何形状の種類を直線と選択し、測定対象物7の画像上で直線状の輪郭点の点列(すなわち、測定対象物7の画像上の直線)を特定した場合、前述の(5)の処理では、単位ベクトル、X軸からの角度、及び真直度などを求める(図2参照)。なお、これらの物理量は既存の演算方法で求めることができるため説明を省略する。また、上述の通り、特定した直線状の各輪郭点の座標は求められているため、始点座標及び終点座標は両端の輪郭点の座標とする。
なお、ユーザがメニュー40において測定する幾何形状の種類を点と選択した場合、幾何形状測定部25は、上述の測定処理の内、(3)~(5)の処理を省略し、(2)の処理により座標を検出し、点として幾何形状を特定する。
なお、ユーザはメニュー40において測定する幾何形状の種類を選択しなくてもよい。例えば、ユーザはメニュー40の「自動」を選択すると、幾何形状測定部25は、上述の(1)~(4)の処理を実行し、(4)で得られた輪郭上の点列から最小二乗法により近似形状を求め、求めた近似形状と輪郭上の点列の各点との誤差から分散を求める。分散が所定の閾値よりも小さくなる近似形状の種類(すなわち、幾何形状の種類)を決定し、画像中の測定対象物7における幾何形状を特定してもよい。更に、輪郭上の点列の座標(点列データ)に基づいて特定した幾何形状に関する測定を行ってもよい。
幾何形状測定部25は、上述した測定により得られた測定結果を測定結果DB32に格納する。測定結果DB32に幾何形状の測定結果が格納されると、表示制御部122Aは、図10に示すように、測定した測定対象物7の画像上の幾何形状(輪郭)を強調表示する(符号142,144参照)。また、表示制御部122Aは、ユーザが選択可能な幾何形状関連情報として、測定した幾何形状を表すアイコンをユーザが入力装置195を介して選択可能に表示する(符号42,44参照)。
ここで、測定結果DB32は、幾何形状の測定結果及び測定候補(すなわち、測定項目)の算出結果を格納するためのデータベースであり、図5(a)、図5(b)に示すようなデータ構造を有する。具体的には、測定結果DB32は、ID、幾何形状又は測定候補、項目1,2…、値1,2…、子ID、親ID等のフィールドを有する。IDのフィールドには、幾何形状の測定結果又は測定候補の算出結果それぞれに付与される識別情報が格納される。幾何形状又は測定候補のフィールドには、測定された幾何形状の種類(円、直線、点、円弧など)又は測定候補の種類(2直線の交差や点と点の距離など)が格納される。項目1,2…のフィールドには、幾何形状について測定した内容(始点座標、終点座標、長さ、中心座標、直径など)や、測定候補について算出した内容(長さ、座標値、角度など)が格納され、値1,2…のフィールドには、項目1、2…に格納された内容についての測定結果又は算出結果が格納される。子IDのフィールド及び親IDのフィールドは、幾何形状の測定結果と、測定候補の算出結果とを関連付けるためのものであるが、詳細については後述する。
図4に戻り、算出指示受付部26は、ユーザが入力装置195を介して幾何形状のアイコンを複数選択すると、選択された幾何形状の組合せに基づいて成り立つ測定候補を特定する。この場合、算出指示受付部26は、選択された幾何形状の組合せに対応する測定候補を、定義部としての組合せテーブル34(図6)に基づいて特定する。この組合せテーブル34は、複数の幾何形状と、複数の幾何形状の組合せに基づいて成り立つ測定候補とを関連付けた情報である。ここで、図6に示すように、測定候補は、ユーザが選択した幾何形状の組合せにより特定される測定候補に対応して表示装置193に表示される項目(以下、表示項目と称する)と、各表示項目に対応する算出項目(以下、算出項目と称する)に分類される。そして、算出指示受付部26は、特定した測定候補(表示項目)のアイコン501、502,503,504(図12において破線で示すアイコン参照)及び該測定候補を示す図形601,602,603(図12において破線で示す図形参照)を表示制御部122Aを介して表示装置193に表示する。この場合、表示制御部122Aは、測定候補を示すアイコンを選択可能に表示する。なお、表示制御部122Aが測定候補を示すアイコンを選択可能に表示することは、測定候補を表示することと同義である。なお、ユーザが測定候補を示すアイコンを選択することは、測定候補を選択することと同義である。なお、複数の幾何形状と、複数の幾何形状の組合せに基づいて成り立つ測定候補とを関連付けた情報は、テーブルデータに限られることはなく、テキストデータなどでもよい。
図6には、組合せテーブル34のデータ構造が示されている。図6に示すように、組合せテーブル34は、ユーザにより選択された幾何形状の組合せ、測定候補(表示項目・算出項目)のフィールドを有する。幾何形状の組合せのフィールドには、ユーザが選択可能な幾何形状の組合せが網羅的に格納されている。測定候補のフィールドには、表示項目と算出項目の2つのフィールドがあり、表示項目のフィールドには、ユーザが選択した幾何形状の組合せに基づいて特定される測定候補について表示装置193に表示される表示項目の情報が格納されている。算出項目のフィールドには、各表示項目に対応して算出する測定項目(算出項目)の情報が格納されている。例えば、測定された幾何形状の組合せとして2つの直線が入力装置195を介してユーザによって選択された場合には、表示制御部122Aは、測定候補(表示項目)の表示として「2直線の交差」のアイコン、「中線」のアイコン、及び「接円」のアイコンが選択可能に表示装置193に表示することになる。つまり、表示制御部122Aは、ユーザが選択した幾何形状の組み合わせに基づいて、算出可能な測定の候補を網羅的に表示装置193に表示させる。
さらに、算出指示受付部26は、ユーザが入力装置195を介して測定候補のアイコンのいずれかを選択したことを検出すると、選択された測定候補の情報を測定項目算出部27に送信する。
測定項目算出部27は、算出指示受付部26から受信したユーザによって選択された測定項目の情報に基づいて、測定結果DB32に格納されている幾何形状の測定結果を読み出し、読み出した測定結果に基づいて測定候補を算出する。測定項目算出部27は、測定項目の算出結果を測定結果DB32に格納する。なお、測定結果DB32への測定項目の算出結果の格納方法については後述する。
測定項目算出部27による測定候補の算出は既存の算出方法により実行される。例えば、表示装置193に表示された「2直線の交差」のアイコン、「中線」のアイコン、及び「接円」のアイコンの内、「2直線の交差」のアイコンがユーザにより選択されたことを算出指示受付部26が検出すると、測定項目算出部27は測定結果DB32から2つの直線の測定結果を読み出し、「2直線の交差」の算出項目である「交角」及び「交点の座標値」を算出する。
例えば、2直線の交差の交角を算出する場合には、測定項目算出部27は、測定結果DB32から2直線それぞれの単位ベクトルを読み出す。なお、2直線のうちの一方の直線の単位ベクトルを(v1x、v1y、v1z)とし、他方の直線の単位ベクトルを(v2x、v2y、v2z)とする。
次いで、測定項目算出部27は、2つの単位ベクトルの内積を次式(1)より求め、求めた内積を式(2)に代入することで、交角を算出する。
内積=(v1x×v2x+v1y×v2y) …(1)
交角=arccos(内積)[rad] …(2)
なお、測定候補は表示項目と算出項目とに分類しなくてもよい。例えば、表示項目と算出項目を統一してもよい。例えば、測定候補「2直線の交差」であれば、表示制御部122Aは、測定候補の表示として表示項目と算出項目を組み合わせた「2直線の交差(座標値)」や「2直線の交差(交角)」のアイコンを表示装置193に表示するようにしてもよい。この場合、ユーザにより例えば「2直線の交差(交角)」のアイコンが選択されたことを算出指示受付部26が検出した場合には、測定項目算出部27は、2直線の交差の交角のみを算出するようにすればよい。
次に、制御ユニット2の処理について、図7、図8のフローチャートに沿って説明する。
<幾何形状測定処理>
図7は、幾何形状測定処理を示すフローチャートである。なお、図7の処理の前提として、XYステージ5上に載置された測定対象物7の撮像処理は、撮像制御部21の制御の下、完了しているものとする。また、表示制御部122Aは、図9に示すような画面(測定対象物7の画像とメニュー40を含む画面)を表示装置193に表示しているものとする。
図7の処理では、ステップS10において、選択受付部23は、ユーザが入力装置195を介してメニュー40内の幾何形状を選択するとともに、画像上の任意の箇所を指定するまで待機する。なお、選択受付部23は、ユーザが幾何形状を選択し、画像上の任意の箇所を指定したという情報を受け付けると、受け付けた情報を幾何形状測定部25に対して送信する。
幾何形状測定部25は、選択受付部23から情報を受け付けると、ステップS12に移行し、選択された幾何形状の種類と、指定された箇所の周辺画素の輝度値(信号強度)に基づいて画像における測定対象物7の幾何形状(輪郭)を特定する。例えば、ユーザがメニュー40において幾何形状「直線」を選択し、図9の画面においてポインタ150(白抜き矢印)で示す箇所を選択した場合には、幾何形状測定部25は、ポインタ近傍(ポインタ150で選択した箇所の近傍)の測定対象物7上の幾何形状(輪郭)において直線状の幾何形状(言い換えると直線)を特定する。
次いで、ステップS14では、幾何形状測定部25は、測定対象物7の画像を用いて、特定した幾何形状の測定を行う。例えば、幾何形状「直線」が選択されている場合には、幾何形状測定部25は、ユーザに指定された箇所の近傍に位置する直線状の幾何形状(言い換えると直線)の始点座標、終点座標などを測定する。なお、直線以外の幾何形状が選択されている場合にも上記と同様にして、幾何形状に関する測定を実行する。例えば、幾何形状「円」が選択されている場合には、幾何形状測定部25は、円に近似する幾何形状(輪郭)の中心座標や直径などを測定する。
次いで、ステップS16では、幾何形状測定部25は、ステップS14の測定結果を測定結果DB32(図5参照)に格納する。例えば、直線状の幾何形状(輪郭)を測定した場合には、幾何形状測定部25は、図5(a)のID=1,2に示すように、始点座標と終点座標の値などを測定結果DB32に格納する。なお、この段階では、「子ID」と「親ID」のフィールドには何も格納されないものとする。
次いで、ステップS18では、表示制御部122Aは、測定結果DB32を参照し、測定された幾何形状を表示装置193の画像において強調表示するとともに(図10の符号142,144参照)、幾何形状関連情報として幾何形状を表すアイコンを選択可能に表示する(図10の符号42,44参照)。その後は、ステップS10に戻り、ステップS10~S18の処理・判断を繰り返し実行する。
なお、図10に示すように表示装置193に表示された幾何形状のアイコン(例えば、符号42や44で示すアイコン)に対してユーザが入力装置195を介して所定の操作(例えばマウスの右クリックなど)を行った場合には、表示制御部122Aは、測定結果DB32を参照して、幾何形状の測定結果を表示出力する。これにより、ユーザは、幾何形状の測定結果を適宜閲覧することが可能となる。
<測定候補の算出処理>
次に、図8のフローチャートに沿って、測定候補の算出処理について説明する。従来においては、ユーザは、まず多数の測定項目が列挙されたメニュー画面から算出したい測定項目を選択し、選択した測定項目を算出するために必要な幾何形状の組合せを特定するという操作を行う必要があった。多数の測定項目の中から算出したい測定項目を選択することはユーザにとって大変煩雑な操作となり、測定のための操作性が低かった。ユーザによっては選択する測定項目を誤り、所望の測定を行えない等の不都合が生じていた。また、測定項目が選択できたとしても選択した測定項目を算出するために必要な幾何形状を選択する操作が必要となるため、測定のための操作性が悪かった。測定のための操作性が低いことにより、例えば、測定初心者にとっては所望の測定項目の算出を失敗するおそれがあり、また測定熟練者にとっても測定のための操作に時間を要するため、効率的な測定項目の算出を妨げるおそれがあった。そこで、本実施形態では、図8のフローチャートに沿った処理を実行することとしている。
なお、図8の処理の前提として、図7の幾何形状測定のフローチャートを経て、複数の幾何形状の測定が完了しており、図10に示すように、表示装置193には、幾何形状関連情報としての幾何形状のアイコンが複数表示されているものとする。
まず、図8のステップS30では、算出指示受付部26は、ユーザが入力装置195を介して表示装置193に表示されているいずれかのアイコンを選択するまで待機する。なお、ユーザが選択できるアイコンには、幾何形状のアイコンと測定候補のアイコンが含まれる。
いずれかのアイコンが選択され、ステップS32に移行すると、算出指示受付部26は、選択されたアイコンが幾何形状のアイコンであるか否かを判断する。このステップS32に判断が否定された場合には、ステップS40に移行するが、肯定された場合には、ステップS34に移行する。
ステップS34に移行した場合、すなわちユーザが幾何形状のアイコンを選択した場合には、算出指示受付部26は、選択されたアイコンを図11の符号42’、44’に示すように強調表示する。
次いで、ステップS36では、算出指示受付部26は、複数の幾何形状のアイコンが選択されているか否かを判断する。このステップS36の判断が否定された場合には、ステップS30に戻り、上述したステップS30~S36の処理・判断を繰り返すが、ステップS36の判断が肯定された場合には、ステップS38に移行する。
ステップS38に移行した場合、すなわち複数の幾何形状のアイコンが選択された場合には、算出指示受付部26は、図6の組合せテーブル34を参照して、選択された複数の幾何形状のアイコンそれぞれに対応する幾何形状(すなわち、幾何形状の組合せ)に基づく測定候補(表示項目)を特定する。そして、算出指示受付部26は、表示制御部122Aを介して、特定された測定候補(表示項目)のアイコンを表示装置193に表示する。また、表示制御部122Aは、特定された測定候補を示す図形を表示装置193に表示する。例えば、ユーザが図11に示すように幾何形状関連情報としての直線のアイコンを2つ選択したとする。この場合、算出指示受付部26は、図6の組合せテーブル34を参照して、選択した2つの直線のアイコンに対応する幾何形状として2つの直線(図6の「直線×2」)に基づく測定候補(すなわち、表示項目として中線、2直線の交差、接円)を読み出し、図12に示すように、その候補(表示項目)のアイコン501~504及び図形601~603を表示する(図12の破線箇所参照)。ステップS38の後は、ステップS30に戻る。
なお、組合せテーブル34において、選択された幾何形状のアイコンに対応する幾何形状の組合せに基づく測定候補が存在しなかった場合には、算出指示受付部26は、測定候補を表示装置193に表示せずにステップS30に戻る。なお、測定候補が存在しなかった場合には、算出指示受付部26は、表示制御部122Aを介して表示装置193にその旨を表示(警告表示)してもよい。
ところで、ステップS32の判断が否定された場合、すなわち、ユーザが図12のような測定候補(表示項目)のアイコンが表示された状況で、測定候補(表示項目)のアイコンを選択した場合には、算出指示受付部26は、選択された測定候補の情報(表示項目に対応する算出項目の情報)を測定項目算出部27に対して送信し、ステップS40に移行する。ステップS40に移行すると、測定項目算出部27は、選択された測定候補(算出項目)の算出に利用する幾何形状の測定結果を測定結果DB32から読み出し、測定候補(算出項目)を算出する。
例えば、前述のように2つの直線が選択された後に、図12に示す測定候補(表示項目)における「2直線の交差」のアイコン501が選択されたとする。この場合、測定項目算出部27は、選択された2つの直線の測定結果を図5(a)の測定結果DB32から読み出し、読み出した測定結果に基づいて、2直線の交差の測定項目(図6において表示項目「2直線の交差」に関連付けられている項目である、交点の座標値及び交角)を算出する。
次いで、ステップS42では、測定項目算出部27は、測定候補の算出結果で測定結果DB32を更新する。例えば、更新前の測定結果DB32が図5(a)のようなデータを格納しているとすると、測定項目算出部27は、図5(a)の測定結果DB32の最下行に、図5(b)に示すような新たな行(ID=Nのレコード)を追加する。この場合、測定項目算出部27は、図5(b)のID=「N」のレコードに示すように、幾何形状のフィールドに「2直線の交差」と格納し、項目1のフィールドに「座標値」を格納し、値1のフィールドに交点の座標の算出値「xN,yN,zN」を格納する。また、測定項目算出部27は、項目2のフィールドに「交角」と格納し、値2のフィールドに2直線の交角の算出値「a」を格納する。そして、測定項目算出部27は、親IDのフィールドに、測定候補の算出に用いた幾何形状のID(ここでは、ID=1、2)を格納する。更に、測定項目算出部27は、算出に用いた幾何形状(ID=1,2)の「子ID」のフィールドに、測定候補の算出結果のID(ここでは、測定候補「2直線の交差」のID=N)を格納する。このように、子IDと親IDを用いて幾何形状の測定結果と測定候補の算出結果とを関連付けておくことで、測定候補の算出処理に関する情報を適切に管理することができる。
次いで、ステップS44に移行すると、表示制御部122Aは、測定結果DB32を参照し、図13に示すように、算出した測定候補のアイコンを表示する(図13の符号46参照)。
以上により、図8の全処理が終了するが、図8の処理は、全ての測定処理が終了するまで(ユーザから終了指示が出されるまで)、繰り返し実行される。
なお、ユーザが入力装置195を介して、幾何形状のアイコン(図13の符号42’、44’等)や算出した測定候補(測定項目)のアイコン(図13の符号46等)に対し所定の操作(例えばマウスの右クリックなど)を行った場合には、算出結果出力部122Bは、測定結果DB32を参照して幾何形状の測定結果や測定候補(測定項目)の算出結果を表示装置193に表示出力するようにする。これにより、ユーザは、幾何形状の測定結果や測定候補の算出結果を適宜閲覧することが可能となる。
以上、詳細に説明したように、本第1の実施形態によると、表示制御部122Aは、測定対象物7における幾何形状のアイコンを選択可能に表示し、選択された幾何形状のアイコンに対応する幾何形状に基づく測定対象物7の測定候補(表示項目)を表示制御部122Aを介して表示装置193に選択可能に表示する。そして、測定項目算出部27は、選択された測定候補(算出項目)の算出結果を表示装置193に表示出力する。これにより、ユーザは、測定対象物7において自身が測定しようとしている部分について表示装置193に表示された測定対象物7の画像上で複数の幾何形状のアイコンを選択し、表示装置193に表示される測定候補の中からユーザが希望する特定の測定候補(測定項目)を選択するという直感的で簡易な操作により、測定候補(測定項目)の算出指示を入力することができる。したがって、多数の測定項目の内、ユーザが測定しようとしている部分について算出可能な測定項目の候補のみを選択可能に表示できるようになるため、多数の測定項目の中から特定の測定項目を選択する煩雑な作業を行わなくても、所望の測定項目の算出指示を直感的かつ簡単に入力することができる。また、ユーザが選択した測定候補(測定項目)を算出するために必要な幾何形状の組合せを特定するという手間のかかる作業を行わなくても、測定候補(測定項目)の算出指示を直感的に入力することが可能となる。このように、本第1の実施形態によれば、測定のための操作においてユーザの操作性を向上させることが可能となる。したがって、ユーザの中でも特に測定初心者では、測定対象物7において自身が測定しようとしている部分の測定を確実に実施することができる。一方、測定熟練者では、自身が測定しようとしている部分の測定を効率的に実施することができる。
また、本第1の実施形態によると、算出指示受付部26は、幾何形状の組合せと測定候補とを関連付けて定義した組合せテーブル34を参照して、表示する測定候補を特定し、表示制御部122Aを介して表示するので簡易かつ適切に表示すべき測定候補を特定することが可能である。
なお、本第1の実施形態では、幾何形状測定処理(図6)において、幾何形状測定部25により幾何形状を測定した(ステップS14)後に表示制御部122Aは幾何形状のアイコン(幾何形状関連情報)を表示装置193に表示しなくてもよい。例えば、幾何形状を測定する前に幾何形状のアイコンを表示してもよい。この場合、幾何形状測定部25により幾何形状を特定した(ステップS12)後、表示制御部122Aは特定した幾何形状のアイコン(幾何形状関連情報)を選択可能に表示装置193に表示してもよい。この場合、測定候補の算出処理(図7)において、測定項目算出部27が測定候補(測定項目)を算出する(ステップS40)際に、算出する測定候補(測定項目)に対応する幾何形状を幾何形状測定部25により測定してもよい。
なお、本第1の実施形態では、測定された幾何形状の組合せがユーザによって選択された場合に、表示制御部122Aが、測定候補(表示項目)のアイコンを表示し、測定候補(表示項目)のアイコンがユーザによって選択された場合に、選択された測定候補(表示項目)に対応する算出項目を測定項目算出部27が算出する場合について説明した。しかしながら、これに限られるものではなく、表示制御部122Aが測定候補(表示項目)のアイコンを表示した際に、測定項目算出部27が、表示した測定候補(表示項目)に対応する全ての算出項目を算出し、測定結果DB32に格納してもよい。この場合、ユーザからの要求に応じて、算出結果出力部122Bは、測定結果DB32に格納されている測定候補(算出項目)の算出結果を表示装置193に表示するようにしてもよい。
なお、本第1の実施形態では、測定項目算出部27は、測定候補(表示項目)に対応する全ての算出項目を算出したが、全ての測定候補(算出項目)を算出しなくてもよい。例えば、測定候補(表示項目)のアイコンがユーザによって選択された場合、表示制御部122Aは、測定候補(表示項目)に対応する算出項目を表示装置193に選択可能にリスト表示するようにしてもよい。そして、算出指示受付部26は、ユーザが選択した測定候補(算出項目)の情報を測定項目算出部27に送信し、測定項目算出部27で選択された算出項目を算出するようにしてもよい。
なお、本第1の実施形態では、測定項目を特定するために、ユーザが選択可能な幾何形状関連情報として、測定した幾何形状を表すアイコンを選択可能に表示する場合について説明した(図10参照)。しかしながら、これに限られるものではなく、ユーザが選択可能な幾何形状関連情報は、例えば、表示装置193に表示した測定済みの幾何形状のリストとしてもよい。この場合、ユーザは、表示された幾何形状のリスト上で任意の幾何形状を選択する。測定済みの幾何形状の位置とリスト上の幾何形状とを関連付けるために、測定対象物7の画像上の測定済みの幾何形状(強調表示された輪郭)に番号を付し、リストに記載された対応する幾何形状に同一の番号を付与するようにしてもよい。また、ユーザが選択可能な幾何形状関連情報は、測定対象物7の画像における幾何形状の画像であってもよい。この場合、例えば、測定対象物7の画像上で強調表示された幾何形状の画像(例えば、図10の符号142,144)を選択可能にするようにしてもよい。
なお、本第1の実施形態では、表示制御部122Aは、測定候補を選択可能に表示する一例として測定候補を表すアイコンを表示装置193に選択可能に表示するようにしたが、測定候補を表すアイコンでなくてもよい。例えば、表示制御部122Aは、幾何形状の選択により特定した測定候補を表示装置193にリスト表示し、ユーザはそのリストから算出する測定候補(測定項目)を選択するようにしてもよい。また、例えば、表示制御部122Aは、幾何形状の選択により特定した測定候補を表す図形601~603(図12を参照)を選択可能に表示装置193に表示し、ユーザは所望の図形を選択することで、図形に対応する測定候補を算出するようにしてもよい。なお、表示制御部122Aが測定候補のアイコンの他、測定候補を示すリストや図形を選択可能に表示することは、測定候補を選択可能に表示することと同義である。
なお、本第1の実施形態では、測定項目算出部27が算出した算出結果を算出結果出力部122Bが表示装置193に表示出力する場合について説明したが、これに限らず、例えば、算出結果出力部122Bは、算出結果をファイルとして出力してもよい。ファイルの形式は、例えば、テキスト形式、CSV形式、HTML形式などでもよい。また、例えば、算出結果出力部122Bは、算出結果を不図示のプリンタ等の外部機器を介して紙媒体として出力してもよい。
(変形例)
本第1の実施形態では、幾何形状のアイコン(幾何形状関連情報)が選択可能に表示され、ユーザが複数の幾何形状のアイコンを選択した場合に、選択した幾何形状のアイコンそれぞれに対応する幾何形状の組み合わせに基づく測定候補(表示項目)のアイコンが選択可能に表示され、ユーザが測定候補(表示項目)のアイコンのいずれかを選択した場合に、測定候補(算出項目)が算出される場合について説明した。しかしながら、これに限られるものではなく、幾何形状のアイコン(幾何形状関連情報)が選択可能に表示され、ユーザが1つの幾何形状のアイコンを選択した場合に、選択した1つの幾何形状のアイコンに対応する1つの幾何形状から測定できる測定項目(図2参照)を測定候補としてもよい。この場合、アイコンを介して選択された1つの幾何形状に基づく測定項目のアイコンが測定候補のアイコンとして表示装置193に表示され、ユーザが測定候補のアイコンのいずれかを選択した場合に、その測定候補の算出結果が出力されるようにしてもよい。本変形例は、図7、図8の処理を一部改変することで、実現することができる。以下、図7、図8を用いて、詳細に説明する。
<幾何形状測定処理>
本変形例においては、図7のステップS10において、選択受付部23が、ユーザが入力装置195を介してメニュー40内の幾何形状を選択するとともに、画像上の任意の箇所を指定するまで待機する。ユーザによる選択及び指定が行われて、ステップS12に移行すると、幾何形状測定部25は、前述したようにして、測定対象物7の輪郭上の点列の座標(点列データ)を算出すると共に幾何形状の特定を行う。例えば、ユーザが幾何形状として円を選択して、画像上の任意の箇所を指定した場合には、円の輪郭上の点列の座標が算出されると共に輪郭上の点列(すなわち、幾何形状)を円と特定する。なお、本変形例では、ステップS14は実行されないものとする。
次いで、ステップS16では、幾何形状測定部25は、ステップS12で得られた点列データ等の情報をデータベースに格納する。次いで、ステップS18では、表示制御部122Aは、データベースを参照し、幾何形状を表示装置193の画像において強調表示するとともに、幾何形状(円、直線、点、円弧など)を表すアイコン(幾何形状関連情報)を選択可能に表示する。その後は、ステップS10に戻り、ステップS10~S18(但し、ステップS14を除く)の処理・判断を繰り返し実行する。
<測定候補の算出処理>
本変形例の図8の処理においては、まずステップS30で、算出指示受付部26が、ユーザが入力装置195を介して表示装置193に表示されている幾何形状を示すアイコンを選択するまで待機する。幾何形状を表すアイコンが選択され、ステップS32に移行すると、算出指示受付部26は、選択されたアイコンが幾何形状のアイコンであるか否かを判断する。このステップS32に判断が否定された場合には、ステップS40に移行するが、肯定された場合には、ステップS38に移行する(本変形例では、ステップS34、S36は実行されない)。
ステップS38に移行した場合、算出指示受付部26は、図2の測定項目リストを参照して、選択された幾何形状のアイコンに対応する幾何形状に基づく測定候補(図2の測定項目)を特定する。そして、算出指示受付部26は、表示制御部122Aを介して、特定された測定候補のアイコンを表示装置193に表示する。例えば、ユーザが幾何形状として円のアイコンを選択した場合、中心座標、直径(半径)、真円度のアイコンが測定候補のアイコンとして表示装置193に表示される。その後は、ステップS30に戻る。
一方、ステップS32の判断が否定された場合、すなわち、測定候補のアイコンが表示された状況で、ユーザが測定候補のアイコンを選択した場合には、算出指示受付部26は、選択された測定候補の情報を測定項目算出部27に対して送信し、ステップS40に移行する。
ステップS40に移行すると、測定項目算出部27は、選択された測定候補の算出に利用する幾何形状の点列データ等の情報をデータベースから読み出し、測定候補(測定項目)を算出する。ここで、測定項目算出部27が算出する測定候補(測定項目)は、図2に例示されている測定項目である。次いで、ステップS42では、測定項目算出部27は、測定候補(測定項目)の算出結果でデータベースを更新する。次いで、ステップS44では、表示制御部122Aは、データベースを参照し、算出した測定候補(測定項目)のアイコンを表示する。なお、ユーザが入力装置195を介して、測定候補(測定項目)のアイコンに対し所定の操作(例えばマウスの右クリックなど)を行った場合には、算出結果出力部122Bは、データベースを参照して測定候補(測定項目)の算出結果を表示装置193に表示出力する。以上により、図8の全処理が終了するが、図8の処理は繰り返し実行される。
なお、本第1の実施形態では、図9の画面において、ユーザはポインタ150(白抜き矢印)の指示により測定して表示される複数の幾何形状のアイコンを自由に選択できてしまうため、選択した幾何形状の組合せが組合せテーブル34に存在せず(例えば、選択した幾何形状による組合せから如何なる物理量も算出不可能なため)に、ステップS38において測定候補(表示項目)が表示されない場合がある。このような事態の発生を回避し、測定候補(測定項目)の算出のための操作性を更に向上させるため、以下のような第2の実施形態を採用してもよい。
《第2の実施形態》
以下、第2の実施形態について、図14~図16に基づいて、詳細に説明する。なお、本第2の実施形態の画像測定装置の構成は、上述した第1の実施形態の画像測定装置100と同様となっている。
本第2の実施形態では、第1の実施形態で説明した図8の処理に代えて、図14のフローチャートに沿った処理を実行する。図14の処理では、ステップS34、S36の処理の間に、ステップS35の処理を実行する点が、図8の処理と異なっている。また、本第2の実施形態では、算出指示受付部26は、図6の組合せテーブル34に代えて、図15に示す組合せテーブル134を利用するものとする。なお、図15の組合せテーブル134には、各幾何形状の組合せに対して、算出可能な測定項目(表示項目・算出項目)のほか、続けて選択できる幾何形状(続けて選択した場合に測定候補が存在する幾何形状)が関連付けて定義されている。例えば、組合せテーブル134では、ユーザが既に2つの点を選択した場合に、更に「点」と「直線」を選択することができ、ユーザが既に2つの直線を選択した場合に、更に「直線」を選択することができることが定義されている。
図14の処理では、1又は複数の幾何形状のアイコン(幾何形状関連情報)が選択された場合に、ステップS35において、算出指示受付部26が、図15の組合せテーブル134を参照し、続けて選択できる幾何形状を特定する。そして、算出指示受付部26は、表示制御部122Aを介して、特定した幾何形状以外のアイコン(つまり、続けて選択できる幾何形状が存在しない幾何形状のアイコン)を特定した幾何形状のアイコンとは異なる態様で表示する。
例えば、図11に示すように、ユーザによって2つの直線のアイコン(幾何形状関連情報)が選択されたとする。この場合、ステップS35では、算出指示受付部26は、組合せテーブル134を参照し、2つの直線のアイコンに対応する2つの直線と組み合わせることができる幾何形状として「直線」を特定する。そして、算出指示受付部26は、表示制御部122Aを介して、図11において未だ選択されていない幾何形状のうち「直線」以外の幾何形状のアイコン(図11では、円のアイコン)を未選択の「直線」のアイコンとは異なる態様で表示する。この場合、例えば、図16に示すように、円のアイコンをマスクした状態で表示することができる。あるいは、円のアイコンを、未選択の直線のアイコンとは異なる色や濃度で表示してもよい。
なお、ステップS35の後は、ステップS36以降の処理が上記第1の実施形態と同様に実行される。なお、ステップS35は、ステップS36が否定された後、又はステップS38の処理の後に実行されてもよい。
以上、説明したように、本第2の実施形態によると、既に選択した幾何形状のアイコンに対応する幾何形状と組み合わせて測定候補の算出処理に用いることができない幾何形状をユーザに選択させないように表示するので、選択すべきでない幾何形状をユーザが選択するのを防止でき、幾何形状を効率的に選択することができる。したがって、測定候補(測定項目)を算出するための操作性を更に向上させることができる。
なお、本第2の実施形態では、続けて選択できない幾何形状のアイコンを選択できないように表示してもよい。すなわち、ユーザによる選択操作が無効となるようにアイコンを表示してもよい。
なお、本第2の実施形態では、既に選択した幾何形状と組み合わせて測定候補の算出処理に用いることができない幾何形状と、算出処理に用いることができる幾何形状とを異なる態様で表示する場合について説明したが、これに限られるものではない。例えば、既に選択した幾何形状と組み合わせて測定候補の算出処理に用いることができない幾何形状のアイコンを非表示にしてもよい。また、続けて選択できる幾何形状のアイコンと続けて選択できない幾何形状のアイコンとをユーザが識別できるように、少なくとも一方のアイコンにマークや文字、記号等を表示するようにしてもよい。例えば、図16の例では「円」のアイコンに×印を付して表示するなどしてもよい。また、続けて選択できる幾何形状のアイコンと続けて選択できない幾何形状のアイコンの少なくとも一方のアイコンについて、アイコンを表示する経過時間とともに表示の態様を変えるようにしてもよい。例えば、アイコンを点滅して表示させるようにしてもよい。
なお、本第2の実施形態では、測定が完了した幾何形状について、既に選択した幾何形状と組み合わせて測定候補の算出処理に用いることができない幾何形状に関する情報をユーザに選択させないように表示したが、選択前の段階で幾何形状に関する情報を選択させないようにしなくてもよい。例えば、図7の幾何形状測定処理において、既に測定が完了した幾何形状が存在した状態で、それとは異なる箇所の幾何形状を特定(ステップS12)した際に、その特定した幾何形状が、既に測定が完了した幾何形状と組み合わせて測定候補を算出できない場合、幾何形状の特定より先のステップには進まず、特定した幾何形状が測定候補の算出に使用できない旨をユーザに報知するようにしてもよい。
なお、本第2の実施形態は、上述した第1の実施形態や後述する実施形態、変形例の少なくとも1つと適宜組み合わせてもよい。
また、上記第1、第2の実施形態では、選択された複数の幾何形状に基づいて測定できる測定候補を組合せテーブル34、134に基づいて特定し、表示装置193に表示する場合について説明したが、選択された幾何形状の組合せによっては、適切な値が得られない測定候補も存在する可能性がある。このような適切な値が得られない測定候補をユーザが選択するのを防止し、測定候補(測定項目)を算出するための操作性を更に向上させるため、以下に説明する第3の実施形態を採用してもよい。
《第3の実施形態》
以下、第3の実施形態について、図17~図20に基づいて、詳細に説明する。なお、本第3の実施形態の画像測定装置の構成は、上述した第1の実施形態の画像測定装置100と同様となっている。
本第3の実施形態では、第1の実施形態で説明した図8の処理に代えて、図17のフローチャートに沿った処理を実行する。図17の処理では、図8のステップS38に代えて、ステップS37A~S37Cの処理を実行する。また、本第3の実施形態では、第1の実施形態の組合せテーブル34に代えて、図18に示す組合せテーブル234を利用するものとする。なお、図18の組合せテーブル234においては、各測定候補に対して、候補として不適切な条件が定義されている。なお、詳細については後述するが、図18の「候補として不適切な条件」で定義されている「直線の判定条件」や「円の判定条件」などの条件の詳細は、図19の表に示す通りである。
図17の処理では、ステップS36の判断が肯定された場合、すなわちユーザによって複数の幾何形状のアイコン(幾何形状関連情報)が選択された場合に、ステップS37Aに移行する。ステップS37Aでは、算出指示受付部26は、選択された複数の幾何形状のアイコンに対応する幾何形状の組合せに対応する測定候補を特定する。例えば、ユーザによって2つの円のアイコンが選択されたとする。この場合、算出指示受付部26は、組合せテーブル234(図18)を参照して、「長円」、「円と円の交差」、「円と円の接線」、「円と円の接線の交差」を特定する。
次いで、ステップS37Bでは、算出指示受付部26は、候補として不適切な条件に該当する測定候補を除外する。例えば、ユーザが2つの円のアイコンを選択した場合、組合せテーブル234(図18)より、「円と円の交差の判定条件」及び「円と円の接線の判定条件」を確認し、判定条件を満たしていれば、当該判定条件に対応する測定候補を除外する。除外された測定候補は、アイコンとして表示される対象ではなくなる。
ここで、「円と円の交差の判定条件」に関しては、図19の表において、計算方法として「2つの円データに基づいて交差するかを調べる」が定義されており、判定条件として「交差点がない場合、不適切とする」が定義されている。このため、算出指示受付部26は、例えば、2つの円が図20(a)、図20(b)に示す条件を満たしているかどうかを判定し、いずれかの条件を満たしている場合には、測定候補から「円と円の交差」を除外する。図20(a)は、2つの円が離れている場合を示している。算出指示受付部26は、幾何形状(2つの円)の測定結果に基づいて算出される各円の半径r1,r2の合計が各円の中心間の距離Lよりも短い場合に、交差点が存在しないと判定する。また、図20(b)は、一方の円内に他方の円が入っている場合を示している。算出指示受付部26は、幾何形状(2つの円)の測定結果に基づいて算出される各円の半径r1,r2の差の絶対値が各円の中心間の距離Lの値よりも大きい場合に、交差点が存在しないと判定する。
また、「円と円の接線の判定条件」に関しては、図19の表において、計算方法として「2つの円データに基づいて接線があるかを調べる」が定義されており、判定条件として「接線がない場合、不適切とする」が定義されている。このため、算出指示受付部26は、2つの円が図20(c)に示す条件を満たしているかどうかを判定し、満たしている場合には、測定候補から「円と円の接線の交差」を除外する。具体的には、図20(c)に示すように、幾何形状(2つの円)の測定結果に基づいて算出される各円の半径r1,r2の差の絶対値が各円の中心間の距離Lの値よりも大きい場合に、算出指示受付部26は、接線が存在しないと判定する。
そして、図17のステップS37Cに移行すると、算出指示受付部26は、ステップS37Aで特定され、ステップS37Bで除外されていない測定候補(表示項目)のアイコンを、表示制御部122Aを介して表示装置193に表示する。その後は、ステップS30に戻る。このように、幾何形状の測定結果に基づいて、予め、表示する必要のない測定候補(表示項目)を表示対象から除外することで、ユーザが選択すべきでない測定候補のアイコンを誤って選択してしまうのを防止することができる。
ここで、図19の表の「円と円の交差の判定条件」、「円と円の接線の判定条件」以外の判定条件についても簡単に説明する。「円と直線の交差の判定条件」については、図19の表において、計算方法として「円データと直線データに基づいて交差点があるかを調べる」が定義されており、判定条件として「交差点がない場合、不適切とする」が定義されている。図20(d)には、円と直線が離れている場合が示されている。算出指示受付部26は、幾何形状(直線と円)の測定結果に基づいて算出される直線と円との距離Lが円の半径rよりも大きい場合に、交差点が存在しないと判定する。また、「直線の判定条件」は、図19の表に示すように、計算方法として、「複数の点データから近似直線を最小二乗法で計算」が定義され、判定条件として、「近似直線から各点データの分散を評価し、閾値以上の場合に不適切とする」が定義されている。したがって、算出指示受付部26は、実際の幾何形状(点)の測定結果に基づいて算出される近似直線の式からの各点のデータの分散が閾値以上であった場合に、直線が存在しないと判定する。また、「円の判定条件」は、図19の表に示すように、計算方法として、「複数の点データから近似円を最小二乗法で計算」が定義され、判定条件として、「近似円から各点データの分散を評価し、閾値以上の場合に不適切とする」が定義されている。したがって、算出指示受付部26は、実際の幾何形状(点)の測定結果に基づいて算出される近似円の式からの各点のデータの分散が閾値以上であった場合に、円が存在しないと判定する。更に、「直線と直線の交差の判定条件」は、図19の表に示すように、計算方法として、「2つの直線データから交点座標を求める」が定義され、判定条件として、「交点座標が無い、又は交点座標が不適切な値だった場合に不適切とする」が定義されている。したがって、算出指示受付部26は、幾何形状(2つの直線)の測定結果に基づいて算出される交点座標が存在しなかったり(すなわち、2つの直線が平行だった場合)、交点座標が装置において予め設定されている閾値を外れた値(例えば装置原点から10000mm以上離れた位置を示す値)であった場合に、2つの直線が交差しないと判定する。
以上、説明したように、本第3の実施形態によると、測定候補のアイコンを表示する際に、値が得られない測定候補又は値が所定範囲を逸脱する測定候補を予め除外して表示する。これにより、適切な測定ができない測定候補をユーザが誤って選択するのを防止し、測定候補を効率的に選択することができる。したがって、測定候補(測定項目)を算出するための操作性を更に向上させることができる。
なお、本第3の実施形態では、ステップS37Bにおいて表示対象から除外された測定候補をアイコン表示しない場合について説明した(S37C)が、これに限られるものではなく、除外された測定候補を、除外されていない測定候補とは異なる態様で表示してもよい。例えば、算出指示受付部26は、除外された測定候補のアイコンをマスクした状態で表示したり、除外されていない測定候補のアイコンとは異なる色や濃度で表示してもよい。また、算出指示受付部26は、除外された測定候補のアイコンにマークや文字、記号等(例えば×印)を付して表示してもよい。
なお、本第3の実施形態で説明したステップS37A~37Cを、上記第2の実施形態で説明した図14の処理のステップS38に代えて実行するようにしてもよい。
なお、本第3の実施形態は、上述した第1、第2の実施形態や後述する実施形態、変形例の少なくとも1つと適宜組み合わせてもよい。
《第4の実施形態》
次に、第4の実施形態について、図21~図23に基づいて詳細に説明する。なお、本第4の実施形態の画像測定装置の構成は、上述した第1の実施形態の画像測定装置100と同様となっている。
本第4の実施形態では、第1の実施形態で説明した図8の処理に代えて、図21のフローチャートに沿った処理を実行する。なお、本第4の実施形態においては、算出指示受付部26は、HDD196に格納されている図22に示すような選択履歴DBにおいて、ユーザ毎に過去に選択した測定候補の選択回数をカウントしておくものとする。
図21の処理においては、ステップS36の判断が肯定された場合、すなわちユーザによって複数の幾何形状のアイコン(幾何形状関連情報)が選択された場合に、ステップS37Dに移行する。ステップS37Dに移行すると、算出指示受付部26は、表示制御部122Aを介して、選択された幾何形状の組合せに対応する測定候補(表示項目)のアイコンを表示する。この表示の際に、算出指示受付部26は、選択履歴DBに記録されているユーザの選択履歴に基づいて各アイコンを異なる態様で表示するようにする。
例えば、ユーザによって、2つの直線のアイコンが選択されたとする。この場合、算出指示受付部26は、図22の選択履歴DBを参照し、測定候補「2直線の交差」の選択回数が25回で、「中線」の選択回数が3回で、「接円」の選択回数が0回であるという情報を取得する。そして、算出指示受付部26は、図23に示すように、取得した回数に応じた大きさで、各測定候補のアイコンを表示するようにする。例えば、選択回数が最も多い「2直線の交差」のアイコンを最も大きく表示し、選択回数が最も少ない「接円」のアイコンを最も小さく表示する。また、「中線」のアイコンを「2直線の交差」のアイコンよりも小さく、「接円」のアイコンよりも大きく表示する。このようにすることで、ユーザが頻繁に選択するアイコンを見つけやすく、かつ選択しやすくすることができる。
ステップS37Dの後は、ステップS30に戻る。ステップS37D以外の処理は、第1の実施形態(図8)と同様である。
以上、説明したように、本第4の実施形態によると、測定候補の選択履歴に基づいて、測定候補のアイコンをそれぞれ異なる態様で表示するので、ユーザが頻繁に選択する測定候補のアイコンを見つけやすく、かつ選択しやすくすることができる。これにより、測定候補(測定項目)を算出するための操作性を向上させることができる。
なお、本第4の実施形態では、選択履歴に応じてアイコンの大きさを異ならせる場合について説明したが、これに限られるものではない。例えば、選択回数が多い測定候補のアイコンほど目立つように、色や濃度を異ならせて表示してもよい。また、選択回数が多い順や選択回数そのものを示す数字やマークをアイコンに表示するようにしてもよい。
なお、本第4の実施形態では、ユーザ毎に選択履歴DBを作成する場合について説明したが、これに限られるものではない。例えば、測定対象物の種類やロットごとに選択履歴を収集して、選択履歴DBを作成することとしてもよい。このようにしても、測定対象物の測定候補の算出傾向を考慮した表示が可能となるので、ユーザの使い勝手を向上することができる。また、ユーザ毎、かつ測定対象物の種類やロット毎に選択履歴を収集して、選択履歴DBを作成してもよい。
なお、本第4の実施形態では、測定候補について選択履歴DBを作成し、選択履歴に基づいて、測定候補のアイコンをそれぞれ異なる態様で表示したが、測定候補以外、例えば、幾何形状について選択履歴DBを作成してもよい。この場合、算出指示受付部26は、表示制御部122Aを介して、選択履歴DBに基づいて、幾何形状のアイコンをそれぞれ異なる態様で表示させてもよい。具体的には、過去に選択された回数に応じて幾何形状のアイコンの大きさや色や濃度を異ならせて表示してもよいし、選択回数を示す数字やマークをアイコンに表示してもよい。
なお、本第4の実施形態は、上述した第1~第3の実施形態や後述する実施形態、変形例の少なくとも1つと適宜組み合わせてもよい。
《第5の実施形態》
次に、第5の実施形態について、図24に基づいて説明する。図24(a)には、第5の実施形態に係る、幾何形状のアイコンと、測定候補のアイコンの表示例について示している。なお、本第5の実施形態では、算出指示受付部26は、表示制御部122Aを介して、ユーザが選択した複数の幾何形状に含まれる全組合せに対応する測定候補を表示するものとする。すなわち、ユーザが1つの円のアイコンと2つの直線のアイコンを選択した場合には、円のアイコンと一方の直線のアイコンとの組合せ、円のアイコンと他方の直線のアイコンとの組合せ、2つの直線のアイコンの組合せ、のそれぞれに対応する測定候補が表示されるものとする。
図24(a)には、ユーザが1つの円と2つの直線を選択した場合の表示例が示されている。この例では、2つの直線に対応する測定候補(表示項目)として「中線」、「中線」、「2直線の交差」と、円と一方の直線に対応する測定候補(表示項目)として「距離(点と直線)」、円と他方の直線に対応する測定候補(表示項目)として「距離(点と直線)」、のそれぞれのアイコンが示されている。なお、2つの直線に対応する測定候補「接円」の図示については、図面の錯綜を避けるため省略している。
本第5の実施形態では、アイコン表示の際に、表示制御部122Aは、各アイコンをグループ化して表示する。具体的には、図24(a)に示すように、算出指示受付部26は、表示制御部122Aを介して2つの直線と、これらに対応する測定候補(表示項目)の「中線」、「中線」、「2直線の交差」の各アイコンに一点鎖線の枠を表示し、円と一方の直線のアイコンと、これらに対応する測定候補(表示項目)の「距離(点と直線)」のアイコンに太実線の枠を表示し、円と他方の直線のアイコンと、これらに対応する測定候補(表示項目)の「距離(点と直線)」のアイコンに太破線の枠を表示する。
このようにすることで、ユーザは、測定候補がどの幾何形状の組合せに対応するものであるかを認識し易くなる。したがって、測定候補(測定項目)を算出するための操作性を更に向上させることが可能となる。
なお、図24(a)の例では、枠線の種類で、グループを識別できるようにアイコンを表現する場合について説明したが、これに限らず、枠線の色や枠内の色等でグループを識別できるようにアイコンを表現したり、各アイコンに特定の数字や文字、マーク等を付すことで、グループを識別できるように表現することとしてもよい。
また、本第5の実施形態では、表示制御部122Aは、図24(b)に示すように、同一種類の測定候補をグループ化し、近接表示することもできる。このようにすることで、ユーザは、表示されている測定候補の種類を認識し易くなるので、測定候補の選択がし易くなり、測定候補を算出するための操作性を向上させることが可能となる。なお、同一種類の測定候補をグループ化し、近接表示しなくてもよく、同一種類の測定候補のグループをアイコンの枠線の色や枠内の色等で識別できるようにアイコンを表現したり、各アイコンに特定の数字や文字、マーク等を付すことで、同一種類の測定候補のグループを識別できるように表現することとしてもよい。なお、同一種類の測定候補をグループ化する場合、ユーザが選択した複数の幾何形状に対応する1つの組合せに対応する複数の測定候補を表示する場合においても適用できる。
なお、本第5の実施形態は、上述した第1~第4の実施形態や後述する実施形態、変形例の少なくとも1つと適宜組み合わせてもよい。
《第6の実施形態》
次に、第6の実施形態について、図25~図27に基づいて説明する。
図25には、本第6の実施形態に係るアイコンの表示例が示されている。本第6の実施形態の前提として、幾何形状の組合せ(例えば、2つの直線)に対応する測定候補を表示した後、ユーザによって1つの測定候補(例えば、中線)が選択されると、選択された測定候補を算出する(第1~第5の実施形態と同様)。そして、ユーザによって、既に算出した測定候補(例えば、中線)と、幾何形状(例えば、円)とが更に選択されると、選択に応じた測定候補を更に表示し、ユーザによって1つの測定候補(例えば、距離)が選択されると、選択された測定候補(測定項目)を算出する。ここで、既に算出した測定候補を用いて更に測定候補を算出する場合、算出指示受付部26は、図26に示すような組合せテーブル334を参照する。図26の組合せテーブル334は、図6の組合せテーブル34が有するフィールドに加えて、代用可能な形状のフィールドを更に有している。代用可能な形状のフィールドにおいては、既に算出した測定候補をどの幾何形状として代用することができるかの情報が格納されている。例えば、組合せテーブル334には、測定候補「分割点」や「中点」、「平均点」などであれば、幾何形状「点」として代用することが可能であるという情報が格納されており、測定候補「中線」や「円と円の接線」は、幾何形状「直線」として代用することが可能であるという情報が格納されている。図25においては、前述したように2つの直線(符号42,44)に基づいて中線(符号43)を算出した後、算出した中線と円(符号45)との距離を算出した場合の表示例が示されている。
この場合、測定項目算出部27は、測定結果DB32に、図27に示すようなデータを格納する。具体的には、図27の測定結果DB32には、ID=1,2の直線に基づいてID=6の中線の情報が算出され、算出されたID=6の中線と、ID=5の円に基づいて、ID=7の距離(点と直線)が測定されたという情報が格納されている。
したがって、表示制御部122Aは、測定結果DB32において管理されている関係が分かるように、図25において表示を行うものとする。例えば、表示制御部122Aは、ID=1、2の直線に対し、符号71,72で示すような親を意味する表示(左下がりのハッチングを付した表示)を行うとともに、ID=6の中線に対し、符号73で示すような子を意味する表示(左下がりのハッチングを付した表示)を行う。また、表示制御部122Aは、ID=4の円とID=6の中線に対し、符号74,75で示すような親を意味する表示(右下がりのハッチングを付した表示)を行うとともに、ID=7の距離(点と直線)に対し、符号76で示すような子を意味する表示(右下がりのハッチングを付した表示)を行う。
このようにすることで、親と子の関係性を視認できるように明確に表示することができるので、測定候補(測定項目)を算出するための操作性を更に向上することが可能となる。例えば、ユーザは、親と子の関係性を把握することができることで、親を不用意に削除することにより、子も削除されてしまうなどの事態の発生を回避することができる。
なお、本第6の実施形態は、上述した第1~第5の実施形態や後述する実施形態、変形例の少なくとも1つと適宜組み合わせてもよい。
《第7の実施形態》
次に、第7の実施形態について、図28、図29に基づいて説明する。
本第7の実施形態の前提として、測定対象物の画像は拡大縮小ができるものとし、ユーザは画像を拡大した状態で、画像内の多数の幾何形状(例えば円)を選択して測定し、その後、遠く離れた2つの円の距離を求めるために、図28(a)に示すように画像を縮小して表示したものとする。この場合、図28(a)に示すように、測定した幾何形状の円のアイコンが多数存在するため、ユーザは、測定候補の算出に用いる幾何形状のアイコンを選択するのが難しい。
そこで、本第7の実施形態では、表示制御部122Aは、ユーザが入力装置195を介して図28(b)に示すような窓W1、W2を指定した場合に、該窓W1,W2の範囲(始点座標、窓の横幅、窓の縦幅)を特定する。なお、始点座標は、例えば窓の左上角の座標であるものとする。ここで、ユーザは、窓の対角の2点を特定することにより窓の位置及び大きさを指定する。具体的には、ユーザは、入力装置195がマウスであればドラッグ操作、タッチパネルであればピンチアウト操作などを行うことで窓の位置及び大きさを指定する。そして、表示制御部122Aは、図29に示すように、特定した窓W1、W2の範囲内に含まれる幾何形状を特定し、特定した幾何形状のアイコンのみを表示装置193に表示するようにする。
このようにすることで、本第7の実施形態によれば、ユーザが選択したい範囲に含まれる幾何形状のアイコンのみを表示することができるので、ユーザは、測定候補を算出する際に、幾何形状のアイコンを容易に選択することが可能となる。したがって、測定候補(測定項目)を算出するための操作性を更に向上させることができる。
なお、本実施形態では、窓の範囲に含まれる幾何形状のアイコンのみを表示する場合について説明したが、これに限られるものではない。例えば、窓の範囲内に含まれる幾何形状のアイコンの選択が、他のアイコンよりも選択し易くなるように、窓に含まれる幾何形状のアイコンと窓に含まれない幾何形状のアイコンとを異なる態様で表示してもよい。例えば、窓に含まれる幾何形状のアイコンと窓に含まれない幾何形状のアイコンとで、アイコンの大きさ、形状、色、濃度などを異ならせて表示してもよい。
なお、本第7の実施形態では、測定結果DB32に格納されている測定結果を一覧表示する場合において、ユーザが指定した窓の範囲に含まれる幾何形状の測定結果や測定候補の算出結果のみを表示するようにしてもよい。このようにすることで、ユーザが必要とする範囲の測定結果のみを一覧表示することが可能となる。
なお、本第7の実施形態は、上述した第1~第6の実施形態及び変形例の少なくとも1つと適宜組み合わせてもよい。
なお、工場などで製造された自動車の部品や機械の部品などの製造物は、上記第1~第7の実施形態の画像測定装置を用いて測定され、測定結果に基づいて製造物の良否が判定されるようになっている。また、判定結果に基づいて製造物が良品/不良品に選別され、良品に選別された製造物のみが次工程に移行するようになっている。
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、処理装置が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体(ただし、搬送波は除く)に記録しておくことができる。
プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD(Digital Versatile Disc)、CD-ROM(Compact Disc ReadOnly Memory)などの可搬型記録媒体の形態で販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
なお、本発明の趣旨を逸脱しない範囲で、各実施の形態に、多様な変更または改良を加えることが可能である。また、各実施形態で説明した要件の1つ以上は、省略されることがある。そのような変更または改良、省略した形態も本発明の技術的範囲に含まれる。また、各実施形態の構成を適宜組み合わせて適用することも可能である。また、法令で許容される限りにおいて、各実施形態で引用した画像測定装置などに関する全ての公開公報及び米国特許の開示を援用して本文の記載の一部とする。