void sabun(IplImage * src_img)

void sabun(IplImage * src_img)
{ 
//      モロフォロジー演算用
   IplImage *dst_img_dilate;
   IplImage *dst_img_erode;
   IplImage *dst_img_opening;
   IplImage *tmp_img;
   IplConvKernel *element;

   dst_img_dilate = cvCloneImage(src_img);	//拡大
   dst_img_erode = cvCloneImage(src_img);	//縮小
   dst_img_opening = cvCloneImage(src_img);	//差分
   dst_img_subunn = cvCloneImage(src_img);
   tmp_img = cvCloneImage(src_img);

   //構造要素を生成する
   element = cvCreateStructuringElementEx(9, 9, 4, 4, CV_SHAPE_RECT, NULL);

   //各種のモルフォロジー演算を実行する
   cvMorphologyEx(src_img, dst_img_opening, tmp_img, element, CV_MOP_OPEN, 1);

   cvErode(dst_img_opening, dst_img_erode, element, 5);	//縮小を5回繰り返す
   cvDilate(dst_img_erode, dst_img_dilate, element, 8);	//拡大を8回繰り返す
   cvSub(dst_img_opening, dst_img_dilate, dst_img_subunn);	//差分を求める

   //      画像を表示させる
   //cvShowImage(windowNameSub, dst_img_subunn);


   //      メモリを解放する
   cvReleaseImage(&dst_img_dilate);
   cvReleaseImage(&dst_img_erode);
   cvReleaseImage(&dst_img_opening);
   Ellipse(dst_img_subunn);
   cvReleaseImage(&dst_img_subunn);
   cvReleaseImage(&tmp_img);
 }
最終更新:2010年01月29日 14:24
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。