# 画像

In-Sight の画像フィルタツールは、必要な特徴を強調し、不必要な特徴は削除するか弱めるように、入力画像を処理します。結果として、ブロブ解析やヒストグラム解析などの追加のデータ抽出関数により適した、改善された入力画像や新しい出力画像が得られます。

注: 画像パラメータを必要とする関数は、有効な画像データ構造体を含むスプレッドシートのセルを参照している必要があります。画像パラメータのデフォルトの参照先はセル A0 です。セル A0 には、関数によって返される画像データ構造体が含まれています。その他の有効な画像パラメータには、CompareImage、FindCircleDefects、および Filter の各関数によって返される画像データ構造体があります。

## 画像処理

マシンビジョンアプリケーションには、高品質な画像が必要です。画像にフォーカスが合ってない、歪みがある、または照明が不足しているなどの場合にはデータが失われます。このような状況では、ブロブ解析やヒストグラム解析などのデータ抽出関数が十分に動作できなかったり、失敗したりすることがあります。

高品質な画像を生成する最初のステップは、取り込んだ画像に鮮明にフォーカスが合い、歪みがなく、均一に照明が当たるように、機器のセットアップ時に照明やレンズなどのハードウェアと環境面の問題を確実に最適化することです。画像から必要なデータを抽出するのが困難な場合、第 2 のステップとして、画像フィルタ関数を使用して画像をさらに強調することができます。

すべての写真と同様、In-Sight の画像はラスターグラフィックスです。ラスターグラフィックスは、画素 (「ピクセル」) からなるグリッドに、画像の特性に関する情報を保存しています。グリッドは、画像の最小で完結したサンプルであるため、拡大や縮小はできません。ラスター画像の品質は、ピクセルの総数 (別名「解像度」) と各ピクセルの情報量によって決まります。

画像の中の必要な対象物を強調し、不要な特徴は削除するか弱めるために (カラー、明度、コントラストまたはスケールなどを調整して)、In-Sight 画像フィルタ関数は、精巧な画像処理アルゴリズムを使用して、個々のピクセルまたは一連の隣接するピクセル (別名「近傍」) に対してデータを追加または除去します。

## 画像処理の用途

画像フィルタ関数は、次のいずれの場合でも使用できます。

- 取り込んだ画像の対象物と背景のコントラストが弱い。
- 取り込んだ画像に、対象物の視覚的影響を最小化する不要な特徴が含まれている。
- 取り込んだ画像のフォーカスがずれているため、ビジョンシステムのレンズを調整する必要がある。
- 拡大、縮小、折り曲げまたは回転の行われていない状態の取り込み画像が、別の In-Sight ツールで必要とされている。
- 白黒の取り込み画像が別の In-Sight ツールで必要とされている。

画像フィルタ関数は、さまざまな画像処理操作を実行できます。ほとんどの関数は特定の操作を対象としています。多目的に設計されている関数は 3 つあります。次の表は、一般的な操作とそれに使用可能な画像フィルタ関数の一覧です。

操作 | 説明 | 使用可能な画像フィルタ関数
--- | --- | ---
明度/コントラスト | 各ピクセルのグレースケール値をユーザが指定した最小値または最大値に「クリッピング」 (「スケールアップ」または「スケールダウン」) して、明度とコントラストを変更します。 | Filter
拡大/縮小 | 入力画像または ROI 内の特徴を拡大または縮小します。 | Filter
塗りつぶし | 隣接するピクセルに近い外観になるように、ピクセルを白値または黒値で埋めます。 | Filter
フィルタ処理 | 不要なデータをブロックし、必要なデータのみを通します。 | Filter
画像の差分 | 入力画像を、テンプレート、別の画像または形状と比較し、2 つの画像間の差を判定します。 | CompareImage FindCircleDefects ImageMath
反転 | 「ネガティブ」状態の画像を作成します。 | Filter
レンズの調整 | 反復プロセスを通じてレンズのフォーカスを測定し、調整します。 | ComputeImageSharpness
スケーリング (サイズ設定) | 拡大または縮小した入力画像を作成します。 | ScaleImage
強調 | 方向 (垂直、水平) に基づいてエッジ (画像内でピクセルのグレースケール値が急激に変化する領域) を検出します。または、「平滑化された」画像とオリジナルの画像を比較して、エッジを強調します。 | Filter
平滑化 | 入力画像内の一連の隣接するピクセル (「近傍」) のグレースケール値を平均し、急速に変化するグレースケール値の影響を弱めます。 | Filter
2 値化 | ユーザ設定のしきい値に基づき、白黒の入力画像または ROI を生成します。 | Filter FindCircleDefects ImageMath

## 画像処理を使用する理由

画像の品質が低いために失敗する場合、必要なデータを容易に抽出できるように画像を強調するには、画像フィルタ関数が有効です。例えば、次のような場合があります。

- ブロブ解析用にノイズを除去したり、対象物の連結性を変更したりする場合。
- ヒストグラム解析用の統計計算のために、空間的な特徴をグレースケール値に変換する場合。
- パターンマッチ関数テンプレートサーチの速度と信頼性を改善するために、モデルと画像ピクセルデータの両方で、曖昧で不要な空間周波数特性を最小化する場合。

## 画像処理の実行方法

画像処理手順は、次の 3 つに分けることができます。

- 手順 1:取り込んだ画像を分析し、画像処理が有効かどうか、どのような種類の変更が必要かを判定します。
- 手順 2:適切な画像フィルタ関数を In-Sight スプレッドシートに挿入し、複数のパラメータを試して、画像を強調するための最適な設定値を判定します。
- 手順 3:必要に応じて、別の画像フィルタ関数を In-Sight スプレッドシートに挿入し、前の関数の出力画像を参照させ、複数のパラメータ設定を試します。必要に応じて繰り返します。

このように、取り込んだ画像の品質を改善するには、複数の画像フィルタ関数を使用し、後続の画像フィルタ関数の出力にそれぞれ参照されるようにする必要が生じることがあります。

注: 画像フィルタツールを使用して達成できる改善の程度は、取り込んだ画像の品質によって決まります。つまり、その多くが照明や光学系などの外部要因によって決まります。画像フィルタツールでは、粗悪な写真を良質な写真にすることはできません。