cvSmooth(gray_Img, gray_Img, CV_BLUR, 3,3, 7, 7);
形态学:
cvMorphologyEx函数不推荐使用。
OpenCV提供了通用的形态学函数cvMorphologyEx,该函数能够实现开运算,闭运算,形态梯度,礼帽操作,黑帽操作,例题如下:
- #include "StdAfx.h"
- #include "cv.h"
- #include "highgui.h"
- #include "highgui.h"
- int main(int argc, char ** argv)
- {
- cvNamedWindow("sourceImage");
- cvNamedWindow("open");
- cvNamedWindow("close");
- cvNamedWindow("gradient");
- cvNamedWindow("topHat");
- cvNamedWindow("blackHat");
- IplImage * src = cvLoadImage("test.bmp");
- cvShowImage("sourceImage",src);
- IplImage * temp = cvCreateImage(cvGetSize(src), 8,3);
- IplImage * img=cvCreateImage(cvGetSize(src), 8, 3);
- cvCopyImage(src,temp);
- cvCopyImage(src, img);
- //开运算
- cvMorphologyEx(
- src,
- img,
- temp,
- NULL, //default 3*3
- CV_MOP_OPEN,
- 4);
- cvShowImage("open", img);
- //闭运算
- cvMorphologyEx(
- src,
- img,
- temp,
- NULL, //default 3*3
- CV_MOP_CLOSE,
- 4);
- cvShowImage("close", img);
- //形态梯度
- cvMorphologyEx(
- src,
- img,
- temp,
- NULL, //default 3*3
- CV_MOP_GRADIENT,
- 3);
- cvShowImage("gradient", img);
- //cvWaitKey(0);
- //"礼帽"
- cvMorphologyEx(
- src,
- img,
- temp,
- NULL, //default 3*3
- CV_MOP_TOPHAT,
- 3);
- cvShowImage("topHat", img);
- //cvWaitKey(0);
- //“黑帽”
- cvMorphologyEx(
- src,
- img,
- temp,
- NULL, //default 3*3
- CV_MOP_BLACKHAT,
- 3);
- cvShowImage("blackHat", img);
- cvWaitKey(0);
- cvReleaseImage(&temp);
- cvReleaseImage(&src);
- cvReleaseImage(&img);
- cvDestroyAllWindows();
- return 0;
- }
推荐使用:
lhMorpOpen,lhMorpClose