您的位置:首页 > 运维架构

opencv中的图像形态学——腐蚀膨胀

2014-01-21 20:53 357 查看
  腐蚀膨胀是图像形态学比较常见的处理,腐蚀一般可以用来消除噪点,分割出独立的图像元素等。

  一般腐蚀操作对二值图进行处理,腐蚀操作如下图,中心位置的像素点是否与周围领域的像素点颜色一样(即是否是白色点,即值是否为255),若一致,则保留,不一致则该点变为黑色(值即为0)

  

#include "stdafx.h"
#include "cv.h"
#include "highgui.h"

int main(){
IplImage *img= cvLoadImage("C:/fu.jpg");//读取图片
cvNamedWindow("Example1",CV_WINDOW_AUTOSIZE);
cvNamedWindow("Example2",CV_WINDOW_AUTOSIZE);
cvNamedWindow("Example3",CV_WINDOW_AUTOSIZE);

cvShowImage("Example1",img);//在Example1显示图片
//    cvCopy(img,temp);
IplImage* temp=cvCreateImage( //创建一个size为image,三通道8位的彩色图
cvGetSize(img),
IPL_DEPTH_8U,
3
);

IplConvKernel * myModel;
myModel=cvCreateStructuringElementEx( //自定义5*5,参考点(3,3)的矩形模板
5,5,2,2,CV_SHAPE_RECT
);

cvErode(img,temp,myModel,1);
cvShowImage("Example2",temp);

cvDilate(img,temp,myModel,1);
cvShowImage("Example3",temp);

cvWaitKey(0);//暂停用于显示图片

cvReleaseStructuringElement(&myModel);
cvReleaseImage(&img);//释放img所指向的内存空间并且
cvDestroyWindow("Example1");
cvDestroyWindow("Example2");
cvDestroyWindow("Example3");

return 0;
}


View Code
效果图:



参考:学习opencv
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐