用opencv实验形态学开运算和闭运算
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
用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;
}