【画像処理】膨張・収縮処理の原理・特徴・計算式

この記事では、画像処理における膨張・収縮処理の原理や特徴、計算式についてまとめました。

【膨張・収縮処理とは】アルゴリズム/原理を紹介

膨張処理(Dilation)とは、二値画像の白色領域を増やす処理です。
収縮処理(Erosion)では、逆に白色領域を減らします。

単純なアルゴリズムと処理ですが、ノイズの除去などで活躍します。

動画解説

膨張処理(Dilation)

注目画素の近傍に白色の画素が1つでも存在すれば、注目画素を白色に置き換えます。
■8近傍の場合

収縮処理(Erosion)

注目画素の近傍に黒色の画素が1つでも存在すれば、注目画素を黒色に置き換えます。
■8近傍の場合

【利用方法】オープニング処理、クロージング処理

膨張処理と収縮処理はそれぞれ単独で利用するのでなく、組み合わせて利用するのが一般的です。
その代表例を以下にまとめました。

名称 手順 主な用途
オープニング処理 「収縮処理」した後に同じ回数だけ「膨張処理」をする 白色のノイズ除去
クロージング処理 「膨張処理」した後に同じ回数だけ「収縮処理」をする 黒色のノイズ除去
グラジエント処理 「膨張処理した画像」から「収縮処理した画像」を引く エッジ抽出など
トップハット処理 「元画像」から「オープニング処理した画像」を引く エッジ抽出など
トップハット処理 「オープニング処理した画像」から「元画像」を引く エッジ抽出など

クロージング処理の例

■入力画像(左)→膨張画像(中央)→収縮画像(右)

関連記事
1 【Python/OpenCV】膨張・収縮フィルタ処理(dilate, erode)
2 【画像処理入門】アルゴリズム&プログラミング

コメント

タイトルとURLをコピーしました