BETA

OpenCV生活16日目 膨張と収縮によるエッジ検出

投稿日:2020-07-22
最終更新:2020-07-22

膨張の操作をした画像から収縮の操作をした画像を引くことで、エッジが得られます。
これはエッジ周辺以外は差分を取ると、0に近い値が得られるためです。
特に、閉じた領域のエッジを得やすいです。

実際に膨張と収縮の差分を計算

次のような画像を考えます。

OpenCVのdilateにより、膨張の操作をおこなった結果が以下です。

また、erodeにより、収縮をした結果が以下です。

次のように差分を取って表示してみます。

plt.imshow(dilation - erosion)  
plt.plot()  
plt.gray()  

ちなみに、膨張から元の画像を引くことや、元の画像から収縮した画像を引くことでも似たような結果が得られますが、膨張と収縮の差分のほうがよりエッジが強調されます。
膨張させた画像と元画像の差

元画像と収縮させた画像の差

技術ブログをはじめよう Qrunch(クランチ)は、プログラマの技術アプトプットに特化したブログサービスです
駆け出しエンジニアからエキスパートまで全ての方々のアウトプットを歓迎しております!
or 外部アカウントで 登録 / ログイン する
クランチについてもっと詳しく

この記事が掲載されているブログ

@opqrstuvcutの技術とか技術以外のブログ 最近フリーランスになりました

よく一緒に読まれる記事

0件のコメント

ブログ開設 or ログイン してコメントを送ってみよう