🟠 形態学操作

機能説明

このオペレーターは入力画像に対して一連の形状ベースの画像処理操作を実行します。形態学操作は「構造要素」または「カーネル(Kernel)」と呼ばれる小さなウィンドウを画像上でスライドさせることにより、ピクセル値を修正し、画像の幾何学的特徴(輪郭、穴、接続など)を修正する目的を達成します。主に2値画像とグレースケール画像の前処理と特徴抽出に使用されます。

使用シーン

ノイズ除去:

  • オープン操作(OPEN)を使用して小さく孤立した明るいスポット(ごま塩ノイズの「塩」)を除去。

  • クローズ操作(CLOSE)を使用して物体内部の小さな黒い穴(ごま塩ノイズの「胡椒」)を埋める。

物体の接続と分離:

  • 膨張(DILATE)を使用して切断された輪郭を接続したり、隣接する物体を統合。

  • 収縮(ERODE)を使用して軽微に癒着した物体を分離したり、物体の輪郭を細化。

エッジと輪郭の抽出:

  • グラジエント操作(GRADIENT)を使用して物体のエッジ輪郭を効果的に抽出。

特定特徴の抽出:

  • トップハット操作(TOPHAT)を使用して周囲の領域より明るい微小な詳細やスポットを抽出。

  • ブラックハット操作(BLACKHAT)を使用して周囲の領域より暗い微小な詳細や傷を抽出。

  • ヒット・ミス(HITMISS)を使用して特定のパターンマッチングを行い、細化や特定のピクセル配列パターンの検索に使用(高度な応用)。

入力出力

入力項目

image(Image):処理対象の画像。通常は2値化後の画像ですが、ほとんどの操作はグレースケール画像やカラー画像もサポートします。

出力項目

morphology_image(Image):形態学操作実行後に得られる画像。

パラメータ説明

操作タイプ

パラメータ説明

実行する具体的な形態学アルゴリズムを選択します。

調整説明

収縮(ERODE):効果は画像中の明るい領域(白色)を「細く」し、暗い領域(黒色)を「太く」します。細い接続を切断し、物体境界の毛羽立ちを除去できます。

膨張(DILATE):収縮と逆で、明るい領域を「太く」し、暗い領域を「細く」します。物体内の穴を埋め、切断された輪郭を接続できます。

オープン操作(OPEN):先に収縮、後に膨張。主な作用は小さな明点と細い明線を消去し、同時に全体の輪郭サイズを変更しません。離散的なノイズ点の除去に非常に適しています。

クローズ操作(CLOSE):先に膨張、後に収縮。主な作用は物体内部の小さな穴を埋め、物体輪郭上の小さな亀裂を閉じ、同時に全体の輪郭サイズを変更しません。

グラジエント操作(GRADIENT):画像の膨張と収縮の差分を計算します。結果は物体の輪郭線のように見えます。

トップハット操作(TOPHAT):元画像と「オープン操作」結果の差分を計算します。隣接点より明るい線やノイズ点を分離でき、画像中の明るい背景の明るい詳細を抽出するのに適しています。

ブラックハット操作(BLACKHAT):「クローズ操作」結果と元画像の差分を計算します。明るい背景中の小さな暗い物体や傷を抽出できます。

ヒット・ミス(HITMISS):特殊なパターンマッチング操作で、入力は単一チャンネルのグレースケール画像(通常は2値画像)である必要があり、特定のピクセル近傍パターンを検索するために使用されます。

カーネルサイズ

パラメータ説明

形態学操作で使用される構造要素(カーネル)のサイズを定義し、フォーマットは[幅,高さ]です。

調整説明

  • カーネルサイズを増大:形態学操作の効果がより顕著になります。例えば、より大きなカーネルでオープン操作を実行すると、より大きなノイズ点を除去できます;クローズ操作を実行すると、より大きな穴を埋めることができます。

  • カーネルサイズを減小:操作効果がより精細になり、影響範囲が小さくなります。

調整時は、処理したい(または接続したい)画像特徴のサイズよりわずかに大きなカーネルサイズを選択すべきです。

パラメータ範囲

[3,3]

カーネル形状

パラメータ説明

構造要素の形状を定義します。

調整説明

カーネルの形状は形態学操作の方向性に影響します。

  • 矩形(RECT):最も一般的な形状で、すべての方向への影響が均一です。

  • 十字形(CROSS):水平と垂直方向の接続性のみを考慮し、対角線方向を無視します。

  • 楕円形(ELLIPSE):対角の影響が水平と垂直方向より小さく、形状がより滑らかで、円形または弧形の特徴の処理に適しています。

  • 全1行列(MatrixofOnes):矩形カーネルと同等です。

反復回数

パラメータ説明

収縮または膨張操作の連続実行回数を設定します。

調整説明

反復回数の増加は同じ操作を複数回適用することと同等で、その効果はより大きなカーネルを使用することに似ていますが、完全に同じではありません。

  • 反復回数を増加:操作の効果を強化します。例えば、3x3の収縮を2回反復すると、1回の反復よりも強い収縮効果が生じます。

  • 通常の場合、効果を制御するために「カーネルサイズ」を優先的に調整する方がより直感的で効率的です。精細な制御や特定の効果を実現する必要がある場合、反復回数を調整できます。

パラメータ範囲

[1,100]、デフォルト値:1