OpenCV学习笔记-形态学

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; }
运行结果为:


参考文献:

1.学习OpenCV,于仕祺,刘瑞祯,清华大学出版社,pp.139-145.

2.http://www710.univ-lyon1.fr/~bouakaz/OpenCV-0.9.5/docs/ref/OpenCVRef_ImageProcessing.htm

3.http://www710.univ-lyon1.fr/~bouakaz/OpenCV-0.9.5/docs/ref/OpenCVRef_ImageProcessing.htm

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值