用
opencv
实验形态学开运算和闭运算,程序代码为
#include "cv.h"
#include "highgui.h"
int main(int argc, char* argv[])
{
//
调入照片
IplImage* img = cvLoadImage("2.jpg");
if(!img) //
判断图片调入是否成功
return -1; //
调入图片失败则退出
//
将图片缩小两倍
IplImage*
img_small=cvCreateImage(cvSize(img->width/3,img->height/3),img->depth,img->n
Channels);
cvResize(img,img_small);
//
初始化结果要存到的图像指针
IplImage* result1=cvCloneImage(img_small);
IplImage* result2=cvCloneImage(img_small);
//
分别对图像进行形态学开运算和闭运算
cvMorphologyEx(img_small,result1,NULL,NULL,CV_MOP_OPEN,1);//
最
后
一
个
参数为膨胀和腐蚀次数
cvMorphologyEx(img_small,result2,NULL,NULL,CV_MOP_CLOSE,1);
//
创建窗口
,
并确定其为大小不可变类型窗口
cvNamedWindow("liuxi_open", CV_WINDOW_AUTOSIZE);
cvNamedWindow("liuxi_close", CV_WINDOW_AUTOSIZE);
//
显示图片
cvShowImage("liuxi_open", result1);
cvShowImage("liuxi_close", result2);
//cvShowImage("liuxi_open", img_small);
cvWaitKey(0); //
等待按键
//release images
cvReleaseImage(&img);
cvReleaseImage(&img_small);
cvReleaseImage(&result1);
cvReleaseImage(&result2);
//destroy windows
cvDestroyWindow("liuxi_open");
cvDestroyWindow("liuxi_close");
return 0;
}