画像を縮める処理を収縮処理、膨らませる処理を膨張処理。ノイズなんかを取るのにつかう。OpenCVでは
収縮処理:
void cvErode( const CvArr* A, CvArr* C, IplConvKernel* B=0, int iterations=1 );
膨張処理:
void cvDilate( const CvArr* A, CvArr* C, IplConvKernel* B=0, int iterations=1 );
でできる。
Aの画像をBの構造要素を使ってiterations回収縮、または膨張処理を行ってCの画像に入れるってこと。BがNULLの場合は3×3の矩形構造要素。Bって何だろうと思って、ヘルプを見ると、収縮処理の場合、Bの構造要素の中の最小値がCの画素になり、膨張処理の場合は最大値がCの画素になるらしい。ってことは、NULLの場合は、3×3の矩形構造要素になってるけど、設定しだいでは5×5の矩形構造要素、円形構造要素とかにもなりそうな予感。
第四回の画像をそれぞれ1回収縮、膨張処理した結果。
0 件のコメント:
コメントを投稿