| サイトマップ | |
||
画像処理プログラムのほとんどは、ディスクから画像を読み込んで作業を開始するよう設計されていますが、Igor には、カメラやビデオソースから画像を直接取り込む機能が備わっています。これによりデータ収集プログラムとデータ分析プログラムという別々の2つのプログラムを使用する際に行わなければならない作業をスキップできます。 ハードウェアとの関連性が深い画像収集は、通常、Igor の特別な Igor プラグイン(XOPs)を使って行われます。WaveMetrics は、ユーザーのプロシージャが異なるプラットフォーム間および異なる画像ハードウェア間においても互換性が保たれるよう標準設計ガイドラインに沿った XOPs が豊富に提供します。
Igor における画像処理操作の多くは、ユーザーが指定した画像領域に対して選択的に適用できます。 この領域のことを「関心領域(ROI: Region of Interest)」といいます。
画像全体よりも小さな領域を設定するのに ROI が利用されると、ROI に対応する多くの操作は、きわめて高速にその処理が行われます。
Igor の ROI は、どのような画像ピクセルの集合でも指定可能だというという点で完全に任意です。特 に、ROI は矩形や連続的である必要はありません。ひとつ以上のばらばらな領域であっても構いません。
画像変換は、単純な算術的演算や複雑な数学的演算を実行することである画像を別の画像に変換できます。
Igor は、ImageTransform
操作関数を使用して、もっとも標準的なカラースペース変換を実行できます。それ以外のカラースペース変換は colorSpaceConversions
プロシージャファイルを使用して実行できます。
しきい値操作関数は、グレースケール画像をバイナリ画像に変換する非線形演算です。これにより特定のしきい値より上か下か2つのレベルが各ピクセルに対して割り当てられます。
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 | ネイバーフッドマップを使用してバイナリ画像透かしを計算します。 |
多くのアプリケーションでは、画像に表示されるオブジェクトの境界の検出が重要になります。エッジ検出とは、グレースケール画像からバイナリ画像を生成することです。 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 エッジ検出法です。 |
形態的操作関数(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近傍ピクセルの使用に切り換えます。 |
画像解析の概要は、画像の 2D 空間情報を他の形式に変換することです。画像の特性を示すのに利用されます。
ImageStats
操作関数は指定された ROI (関心領域) のための画像の統計を計算します。ImageLineProfile
操作関数は連続する2つの頂点に挟まれたラインセグメントで構成されるユーザーの指定した任意のパスに沿ってソース画像のサンプリングを表示します。各セグメントにおいて、プロファイルはオリジナル画像のサンプリング密度と等しいポイント数(プロファイルポイント)で計算されます。各プロファイルポイントにおいては、プロファイルの値はプロファイルラインセグメントへの垂線に沿ったサンプルの平均化によって計算されます。ユーザーは平均に使われるサンプル数を指定することができます。