トップページ > ユーザサポート > FAQ
Q3 : カメラのフォーカス値を数値化する方法はありますか。
フォーカス値を取得する一般的な方法には下記のものがあります。 (1)分散値(標準偏差) (2)微分値 (3)最大最小値 (1)分散値(標準偏差)を用いた方法 分散値が大きい→濃度のばらつきが大きい→はっきり映っていると判断します。 分散値や標準偏差は、CFvStatistics(CFviStatistics)にて取得できます。 (2)微分値 ぼやけている→エッジ部分が明瞭ではない と考え エッジ部分を抽出するフィルタをかけ、その結果画像を計測して判断します。 微分フィルタである、prewittフィルタ:CFvPrewit(CFviPrewit)を 画像に対し行うと、エッジ部分のみが白くなります。 結果画像に対し、濃度値を加算し、一番大きくなった場合にフォーカスが合っているという判断します。 prewitt以外の微分フィルタ -ソーベルフィルタ:CFvSobelFilter(CFviSobelFilter) -ロバーツフィルタ::CFvRobertsFilter(CFviRobertsFilter) -2次元ガウス微分:CFvGaussian2DFilter(CFviGaussian2DFilter) -1次元ガウス:CFvGaussian1DFilter(CFviGaussian1DFilter) (3)最大最小値 コントラスト比を(濃度最大値/濃度最小値)の式で表しますと、コントラストが高い、低いの判断が可能になります。 ただし、この手法はノイズに弱く、フォーカスが合っていない場合でも、 輝度の強いノイズが画像上にあると時結果数値が高くなります。 ノイズがある画像の場合はご注意ください。 画像の濃度最大、濃度最小を調べるには、以下の関数をご使用ください。 CFvImage(CFviImage)のFindMaxValue (指定範囲の最大値が見つかった箇所の座標を返します) CFvImage(CFviImage)のFindMinValue (指定範囲の最小値が見つかった箇所の座標を返します) CFvImage(CFviImage)のGetPixel (指定箇所の画素値を取得します)