新規購入お見積
アップグレードお見積

画像処理機能

 

画像の取り込み ( Image Acquisition)

画像処理プログラムのほとんどは、ディスクから画像を読み込んで作業を開始するよう設計されていますが、Igor には、カメラやビデオソースから画像を直接取り込む機能が備わっています。これによりデータ収集プログラムとデータ分析プログラムという別々の2つのプログラムを使用する際に行わなければならない作業をスキップできます。 ハードウェアとの関連性が深い画像収集は、通常、Igor の特別な Igor プラグイン(XOPs)を使って行われます。WaveMetrics は、ユーザーのプロシージャが異なるプラットフォーム間および異なる画像ハードウェア間においても互換性が保たれるよう標準設計ガイドラインに沿った XOPs が豊富に提供します。

 

ROI (関心領域)

Igor における画像処理操作の多くは、ユーザーが指定した画像領域に対して選択的に適用できます。 この領域のことを「関心領域(ROI: Region of Interest)」といいます。

画像全体よりも小さな領域を設定するのに ROI が利用されると、ROI に対応する多くの操作は、きわめて高速にその処理が行われます。

Igor の ROI は、どのような画像ピクセルの集合でも指定可能だというという点で完全に任意です。特 に、ROI は矩形や連続的である必要はありません。ひとつ以上のばらばらな領域であっても構いません。

 

画像変換 ( Image Transforms)

画像変換は、単純な算術的演算や複雑な数学的演算を実行することである画像を別の画像に変換できます。

  • 数学的演算 ( Mathematical Operations)
  • ヒストグラム変換 ( Histogram Modifications)
  • 画像補間 ( Image Interpolation)
  • 画像登録 ( Image Registration)
  • 背景除去 ( Background Removal)
  • 画像回転 ( Image Rotation)

 

カラースペースの変換 ( Color-Space Transformations )

Igor は、ImageTransform 操作関数を使用して、もっとも標準的なカラースペース変換を実行できます。それ以外のカラースペース変換は colorSpaceConversions プロシージャファイルを使用して実行できます。

 

しきい値 (Image Threshold)

しきい値操作関数は、グレースケール画像をバイナリ画像に変換する非線形演算です。これにより特定のしきい値より上か下か2つのレベルが各ピクセルに対して割り当てられます。

Localized Filters

Localized filters は、画像ピクセルの近傍値に基づいて各画像ピクセルの値を変更します。Localized filters は、畳み込みの形式をとることもあります。畳み込みフィルタは、特定の粒(カーネル)を利用してピクセル値を合成することで画像の外観を変更するための手法です。畳み込みのカーネルが小さい場合は、組み込みの操作関数 MatrixConvolve を使用するのに効果があります。畳み込みのカーネルが比較的大きい場合は、FFT を使用して畳み込みを計算するのに効果があります。MatrixFilter 操作関数には多くの典型的な畳み込みカーネルといくつかの localized (neighborhood) 演算子が実装されています。

MatrixFilter operators
avg nxn 平均フィルタ。
findEdges 3×3 エッジ検索フィルタ。
Gauss nxn ガウスフィルタ。
GradXX 勾配フィルタ。
median nxn 中央値フィルタ。 /M フラグを使用して必要なランクを指定することにより、中央値以外の値を割り当てることもできます。
sharpen 3×3 シャープフィルタ= (12*center-outer)/4。
thin ネイバーフッドマップを使用してバイナリ画像透かしを計算します。

 

エッジ検出 (Edge Detectors)

多くのアプリケーションでは、画像に表示されるオブジェクトの境界の検出が重要になります。エッジ検出とは、グレースケール画像からバイナリ画像を生成することです。 Igor には、ソース画像の内容によって使い分けられる 8種類のエッジ検出法が用意されています。

Edge Detectors
Canny canny エッジ検出法はエッジ検出および 2値化の前に平滑化を使用します。オプションとして、/T フラグを使用してスレショルドを指定したり、/S フラグを使用して平滑化ファクタを指定できます。
Frei 列と行のフィルタだけを使用して Frei-Chen エッジフィルタを計算します。
Kirsch kirsch エッジ検出法です。変化率を計算して 8個のマスクを使用して重畳を実行します。
Marr Marr-Hildreth エッジ検出法です。ガウス関数のラプラシアンを使用して 2回の重畳を実行し、それからゼロ交差を検出します。/S フラグを使用して重畳カーネルの幅を定義します。
Prewitt Prewitt コンパスグラデーションフィルタを計算します。最大フィルタ応答の結果を返します。
Roberts Robert の行列エッジ検出法を使用した重畳を 2乗した量の平方根を計算します。
Shen Shen-Castan 最適化エッジ検出法です。雑音が存在するときに有効であると考えられています。この操作に影響のあるフラグは次の 4つです。/F はスレショルド率(デフォルトは 0.9)を指定します。/S は平滑化ファクタ(デフォルトは 0.9)を指定します。/W はウィンドウ幅(デフォルトは 10)を指定します。/H は細線化ファクタ(デフォルトは 1)を指定します。
Sobel 行列エッジ変化率マスクを使用した重畳を使用する Sobel エッジ検出法です。

 

形態的操作関数 (Image Morphology)

形態的操作関数(Morphological operators) とは画像領域の形態と境界線を変化させるツールです。形態的操作関数の典型的なものは、ひとつの画像とひとつの構造から成っています。2D 画像を操作する場合、その構造要素は 2D 配列です。構造要素は通常画像よりはるかに小さなサイズです。3D 画像を操作する場合、構造要素は 3D 配列です。2D および 3D の形態的操作に使用するために、25種類の組み込み構造要素が用意されています。ユーザーは独自の構造要素を生成することもできます。

ImageMorphology operators
BinaryErosion 組み込みまたはユーザー定義構造エレメントを使用してソース 2値イメージを侵食します。
BinaryDilation 組み込みまたはユーザー定義構造エレメントを使用してソース 2値イメージを拡張します。
Closing 閉じる操作を実行します(拡張してから侵食)。拡張と侵食は同じ構造エレメントを使用します。
Dilation 組み込み構造エレメントまたはユーザー指定構造エレメントを使用してソースグレースケールイメージの拡張を実行します。操作関数は 8ビットグレーイメージのみサポートしています。
Erosion 組み込み構造エレメントまたはユーザー指定構造エレメントを使用してソースグレースケールイメージを侵食します。操作関数は 8ビットグレーイメージのみサポートしています。
Opening 開く操作を実行します(侵食してから拡張)。拡張と侵食は同じ構造エレメントを使用します。この操作はべき等元であり、つまりこの操作を 2回以上実行するポイントが存在しないことに注意してください。
TopHat 侵食されたイメージと拡張したイメージの差を同じ構造エレメントを使用して計算します。
Watershed グレースケールまたは2値イメージの分水界領域を計算します。/N フラグを使用して非分水界線をすべて NaN としてマークします。/L フラグは 4近傍ピクセルの使用(デフォルト)を 8近傍ピクセルの使用に切り換えます。

 

画像解析 (Image Analysis)

画像解析の概要は、画像の 2D 空間情報を他の形式に変換することです。画像の特性を示すのに利用されます。

画像の統計情報 (Image Statistics)

  • ImageStats 操作関数は指定された ROI (関心領域) のための画像の統計を計算します。

ラインプロファイル (Line Profile)

  • ImageLineProfile 操作関数は連続する2つの頂点に挟まれたラインセグメントで構成されるユーザーの指定した任意のパスに沿ってソース画像のサンプリングを表示します。各セグメントにおいて、プロファイルはオリジナル画像のサンプリング密度と等しいポイント数(プロファイルポイント)で計算されます。各プロファイルポイントにおいては、プロファイルの値はプロファイルラインセグメントへの垂線に沿ったサンプルの平均化によって計算されます。ユーザーは平均に使われるサンプル数を指定することができます。

粒子解析 (Particle Analysis)

  • ImageAnalyzeParticles 操作関数を利用してバイナリ画像の粒子解析を実行できます。バイナリ画像における粒子は、レベル 0 のひとつ又は複数のピクセルからなります。ユーザーは、ROI を使って分析する範囲を制限できます。また、粒子をピクセルの最小数になるよう設定することができます。演算が実行されると、粒子の総数やその他の関連情報を知ることができます。