先上定义:
Dilate
使用任意结构元素膨胀图像
void cvDilate( const CvArr* src, CvArr* dst, IplConvKernel* element=NULL, int iterations=1 );
- src
- 输入图像.
- dst
- 输出图像.
- element
- 用于膨胀的结构元素。若为 NULL, 则使用 3×3 长方形的结构元素
- iterations
- 膨胀的次数
函数 cvDilate 对输入图像使用指定的结构元进行膨胀,该结构决定每个具有最小值象素点的邻域形状:
dst=dilate(src,element): dst(x,y)=max((x',y') in element))src(x+x',y+y')函数支持(in-place)模式。膨胀可以重复进行 (iterations) 次. 对彩色图像,每个彩色通道单独处理。
下边是程序:
// opencv_template.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include "opencv2/opencv.hpp"; #include "opencv/cv.h"; using namespace std; using namespace cv; int _tmain(int argc, _TCHAR* argv[]) { //cout"""iam a boy"""endl; IplImage *img; img=cvLoadImage("test.jpg",1); IplImage *newimg; newimg = cvCloneImage(img); //开始膨胀 cvDilate(img,newimg,NULL,3); //开始腐蚀 //cvErode(img,newimg,NULL,3); //开始显示图片 cvNamedWindow("DilateBefore",CV_WINDOW_AUTOSIZE); cvNamedWindow("DilateAfter",CV_WINDOW_AUTOSIZE); cvShowImage("DilateBefore",img); cvSaveImage("new.jpg",newimg); cvShowImage("DilateAfter",newimg); cvWaitKey(0); //system("pause"); return 0; }