はじめに

前回は「2値画像処理(膨張・収縮)」について学びました!
白画素領域を増減する処理でしたが、どんな効果があるか、いまいち分かりませんでした...

膨張して収縮、収縮して膨張など、処理を組み合わせると効果が分かりやすいと思うので、今回はその辺りを説明していくよ!

えっ!?収縮して膨張しても元に戻るだけじゃないですか??
ノッキー先生の得意技リバウンドと一緒で、良いことなんてないですよね?

いやー、得意技じゃないよ。減量は順調だよ!
それでは、膨張して収縮するクロージング処理と収縮して膨張するオープニング処理について説明していくよ!
クロージング・オープニング処理とは
クロージングとオープニングは、2値画像に対して前回の記事で紹介した膨張処理と収縮処理を複数回行う処理です。
2値画像にあるノイズや細い線などを除去する効果があります。

クロージングは、2値画像に対して数回の膨張処理を行った後、膨張処理と同じ回数の収縮処理を行う処理です。黒いノイズや黒い線を消すことができます。
図は膨張と収縮をそれぞれ1回ずつ組み合わせたクロージング処理の演算イメージです。

一方オープニングは、2値画像に対して数回の収縮処理を行った後、収縮と同じ回数の膨張を行う処理です。白いノイズや白い線を消すことができます。
図は収縮と膨張をそれぞれ1回ずつ組み合わせたオープニング処理の演算イメージです。

クロージング・オープニング処理をやってみよう
クロージング・オープニング処理を実施してみましょう。
「画像E」に、クロージングを実施した「画像G」は、白い部分の黒点が取れましたが白点は残りました。
オープニングを実施した「画像I」は、黒い部分の白点が取れましたが黒点と黒線は残りました。


そこで、「画像E」にクロージングを実施し、その結果にオープニングを実施します。
クロージング処理だけでは残っていた白点や、オープニング処理だけでは残っていた黒点、黒線が取り除かれ、綺麗なリンゴのシルエットが出来上がりました。

最後に、2値化からの一連の処理を見てみましょう。
ノイズが多かった「画像M」がクロージングとオープニングを組み合わせたことでノイズ成分が除去され、綺麗な2値画像「画像P」に変換できました。

まとめ

なるほどー、膨張と収縮を繰り返したらノイズや細い線が除去されるんですね!
元に戻るだけかと思ってました。

繰返しの回数を増やしたりカーネルを大きくすると、より大きなノイズもとれるようになります!
でも、繰返し過ぎは注意!除去したくないところまで影響して元に戻せなくなりますよ。

はい了解です。
ところで「画像K」はどこかで見たことあるマークですし、「画像L」にうっすら書いてある文字ってどんな意味なんですか?

いいところに気が付いたね!
リンゴのマークはさておき、NVPはマクセルフロンティア自慢の画像処理装置だよ!よかったら製品紹介ページで確認してみてね!(あざとい…)
-
クロージングは、膨張後に収縮を行う処理で黒いノイズや黒い線を除去できる
-
オープニングは、収縮後に膨張を行う処理で白いノイズや白い線を除去できる