画像フィルタ関数
In-Sight の画像フィルタツールは、必要とされる特徴は強調し、不必要な特徴は削除するか弱めるように、入力画像を処理します。結果として、ブロブ解析やヒストグラム分析などの追加のデータ抽出関数により適した、改善された入力画像や新しい出力画像が得られます。画像フィルタツールには次の関数があります。
- ColorToGreyscaleFilter 関数: カラーの画像または対象領域 (ROI) 内の各ピクセルを、1 つのカラーパラメータからなる単純なフィルタに基づいて、グレースケール値に変換します (カラー In-Sight ビジョンシステムおよびカラー対応のエミュレータのみ)。
- CompareImage 関数: 入力画像とテンプレート画像を比較し、各ピクセルが正規化された差を表すグレースケール出力画像を生成します。
- ComputeImageSharpness 関数: In-Sight ビジョンシステムのレンズを再調整するための反復プロセスの一部として、入力画像の相対的なフォーカスの基準を計算します。
- [フィルタ]: カラーまたはグレースケール出力画像を生成します。ここでは、各ピクセルが入力画像または ROI で画像強調技術の結果となっています。
- FindCircleDefects 関数: ユーザが設定したしきい値に基づいて、入力画像のドーナツ状 (リング状) 領域内の各ピクセルを黒または白に変換します。白は、環状でない、または放射状でないという特徴を示します。
- GreyscaleDistance 関数: ユーザが設定したさまざまなカラーパラメータに基づいて、カラー画像または ROI 内の各ピクセルをグレースケール値または黒および白に変換します (カラーの In-Sight ビジョンシステムまたはカラー対応のエミュレータのみ)。
- ImageMath 関数: 各ピクセルが、2 つの入力画像間で実行された算術演算 (加算、減算、平均など) の結果となるグレースケールまたは白黒の出力画像を生成します (多目的関数の詳細については、ImageMath 関数の「入力パラメータ」セクションを参照してください)。
- LineScanDistortion 関数: In-Sight 5604 ラインスキャンビジョンシステムで使用するために、TrainLineScanDistortion 関数の計算に基づいて、歪みのない出力画像を生成します。
- NeighborFilter 関数: 各ピクセルが、「局所的な」画像強調技術 (縮小、拡大、塗りつぶし、平滑化、またはエッジ強度など) を入力画像または ROI の一連の隣接するピクセル (「近傍」) に適用した結果であるグレースケール出力画像を生成します (多目的関数の詳細については、NeighborFilter 関数の「入力パラメータ」セクションを参照してください)。
- PointFilter 関数: 各ピクセルが、「グローバルな」画像強調技術 (バイナリ、反転、ヒストグラム平坦化、グレースケール伸長またはクリップなど) を入力画像または ROI の各ピクセルに適用した結果である白黒またはグレースケール出力画像を生成します (多目的関数の詳細については、PointFilter 関数の「入力パラメータ」セクションを参照してください)。
- ScaleColorImage 関数: カラー入力画像または ROI のピクセルを再サンプリングして、縮小、拡大、回転または折り曲げの行われていない状態のカラー画像を生成します。
- ScaleImage 関数: 入力画像または ROI のピクセルを再サンプリングして、縮小、拡大、回転または折り曲げの行われていない状態の画像を生成します。
- SceneCorrection 関数: グレースケール画像を作成し、均一でない照明またはシェーディングのある画像を向上させます。
- SurfaceFX 関数: さまざまな方向からの照明が取り込まれた複数の画像を解析して、高コントラストの出力画像を作成し、エッジ、しわ、刻み目、および突出など、スムーズネスからの逸脱をサーフェスの高さが示す領域をハイライトします。
- TrainLineScanDistortion 関数: In-Sight 5604 ラインスキャンビジョンシステムで使用するために、画像の領域内に存在するレンズの歪みを計算します。
- WhiteBalance 関数: RGB (赤、緑、および青) 値を計算し、In-Sight ジョブに保存されたカラーテーブルに従ってそれらを修正することで、カラー画像の色かぶりを除去します (カラー In-Sight ビジョンシステムおよびカラー対応のエミュレータのみ)。
これらの画像フィルタ関数を操作別に表示するには、「画像処理の用途」セクションの表を参照してください。
In-Sight について画像フィルタ関数ツール
画像処理
マシンビジョンアプリケーションには、高品質な画像が必要です。画像にフォーカスが合ってない、歪みがある、または照明が不足しているなどの場合にはデータが失われます。このような状況では、ブロブ解析やヒストグラム解析などのデータ抽出関数が十分に動作できなかったり、失敗したりすることがあります。
高品質な画像を生成する最初のステップは、取り込んだ画像に鮮明にフォーカスが合い、歪みがなく、均一に照明が当たるように、機器のセットアップ時に照明やレンズなどのハードウェアと環境面の問題を確実に最適化することです。In-Sight ジョブで画像から必要なデータを抽出するのが困難な場合、第 2 のステップとして、画像フィルタ関数を使用して画像をさらに強調することができます。
すべての写真と同様、In-Sight の画像は「ラスターグラフィックス」です。ラスターグラフィックスは、画素 (「ピクセル」) からなるグリッドに、画像の特性に関する情報を保存しています。グリッドは、画像の最小で完結したサンプルであるため、拡大や縮小はできません。ラスター画像の品質は、ピクセルの総数 (別名「解像度」) と各ピクセルの情報量によって決まります。
画像の中の必要な対象物を強調し、不要な特徴は削除するか弱めるために (カラー、明度、コントラストまたはスケールなどを調整して)、In-Sight 画像フィルタ関数は、精巧な画像処理アルゴリズムを使用して、個々のピクセルまたは一連の隣接するピクセル (別名「近傍」) に対してデータを追加または除去します。
画像処理の用途
多くのユーザは画像フィルタツールを使用せずに In-Sight ジョブを作成し、ジョブで必要な結果を生成できない場合にのみツールを使用します。画像フィルタ関数は、次のいずれの場合でも使用できます。
- 取り込んだ画像がカラーである。In-Sight ツールはグレースケール画像でのみ動作します。各ツールは画像をカラーからグレースケールに自動的に変換するように設計されていますが、画像フィルタ関数を使用して 1 回だけ変換を実行し、後続のツールは変換された画像を参照するようにするとより効率的です。
- 取り込んだ画像の対象物と背景のコントラストが弱い。
- 取り込んだ画像に、対象物の視覚的影響を最小化する不要な特徴が含まれている。
- 取り込んだ画像のフォーカスがずれているため、ビジョンシステムのレンズを調整する必要がある。
- 拡大、縮小、折り曲げまたは回転の行われていない状態の取り込み画像が、別の In-Sight ツールで必要とされている。
- 白黒の取り込み画像が別の In-Sight ツールで必要とされている。
画像フィルタ関数は、さまざまな画像処理操作を実行できます。ほとんどの関数は特定の操作を対象としています。多目的に設計されている関数は 3 つあります。次の表は、一般的な操作とそれに使用可能な画像フィルタ関数の一覧です。
操作 | 説明 | 使用可能な画像フィルタ関数 |
明度/コントラスト | 各ピクセルのグレースケール値をユーザが指定した最小値または最大値に「クリッピング」 (「スケールアップ」または「スケールダウン」) して、明度とコントラストを変更します。 | |
カラー調整 | 入力画像のカラーを変換または修正します。カラー In-Sight ビジョンシステムまたはカラー対応のエミュレータでのみ使用可能です。 | |
拡大/縮小 | 入力画像または ROI 内の特徴を拡大または縮小します。 | |
塗りつぶし | 隣接するピクセルに近い外観になるように、ピクセルを白値または黒値で埋めます。 |
|
フィルタ処理 | 不要なデータをブロックし、必要なデータのみを通します。 | |
画像の差分 | 入力画像を、テンプレート、別の画像または形状と比較し、2 つの画像間の差を判定します。 | |
反転 | 「ネガティブ」状態の画像を作成します。 | |
レンズの調整 | 反復プロセスを通じてレンズのフォーカスを測定し、調整します。 | ComputeImageSharpness 関数 |
スケーリング (サイズ設定) | 拡大または縮小された入力画像をジョブビューに表示します。 | ScaleImage 関数 |
強調 | 方向 (垂直、水平) に基づいて「エッジ」(画像内でピクセルのグレースケール値が急激に変化する領域) を検出します。または、「平滑化された」画像とオリジナルの画像を比較して、エッジを強調します。 | |
平滑化 | 入力画像内の一連の隣接するピクセル (「近傍」) のグレースケール値を平均し、急速に変化するグレースケール値の影響を弱めます。 | |
2 値化 | ユーザ設定のしきい値に基づき、白黒の入力画像または ROI を生成します。 |
画像処理を使用する理由
画像の品質が低いために In-Sight ジョブが失敗する場合、必要なデータを容易に抽出できるように画像を強調するには、画像フィルタ関数が有効です。例えば、次のような場合があります。
- ブロブ解析用にノイズを除去したり、対象物の連結性を変更したりする場合。
- ヒストグラム解析用の統計計算のために、空間的な特徴をグレースケール値に変換する場合。
- 2D コードの読み取り用に、背景に対する 2D シンボルのコントラストを強める場合。
- PatFind テンプレートサーチ用に速度と信頼性を改善するために、モデルと画像ピクセルデータの両方で、曖昧または不要な空間周波数特性を最小化する場合。
画像処理の実行方法
In-Sight Explorer では、画像処理手順は、次の 3 つに分けることができます。
- 手順 1:取り込んだ画像を分析し、画像処理が有効かどうか、どのような種類の変更が必要かを判定します。
- 手順 2:適切な画像フィルタ関数を In-Sight スプレッドシートに挿入し、複数のパラメータを試して、画像を強調するための最適な設定値を判定します。
- 手順 3:必要に応じて、別の画像フィルタ関数を In-Sight スプレッドシートに挿入し、前の関数の出力画像を参照させ、複数のパラメータ設定を試します。必要に応じて繰り返します。
このように、取り込んだ画像の品質を改善するには、複数の画像フィルタ関数を使用し、後続の画像フィルタ関数の出力にそれぞれ参照されるようにする必要が生じることがあります。ただし、画像フィルタツールを使用して達成できる改善の程度は、取り込んだ画像の品質によって決まります。つまり、照明や光学系などの外部要因によって多くが決まります。画像フィルタツールでは、粗悪な写真を良質な写真にすることはできません。