先上定义:
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;
}