OpenCV学习笔记-形态学

本文介绍了使用OpenCV实现图像处理中的开运算、闭运算、形态梯度、礼帽操作和黑帽操作的方法,通过具体代码示例展示了如何在图像上进行形态学处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

superdont

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值