opencv学习之路(14)形态学之膨胀腐蚀
Posted 进击的小猴子
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了opencv学习之路(14)形态学之膨胀腐蚀相关的知识,希望对你有一定的参考价值。
一、膨胀腐蚀概述(对高亮部分进行操作)
二、膨胀
三、腐蚀
四、代码
1.查看结构元素
1 #include<opencv2/opencv.hpp> 2 #include<iostream> 3 using namespace cv; 4 using namespace std; 5 6 void main(){ 7 Mat element=getStructuringElement(MORPH_RECT,Size(5,5)); 8 Mat element2=getStructuringElement(MORPH_CROSS,Size(5,5)); 9 Mat element3=getStructuringElement(MORPH_ELLIPSE,Size(5,5)); 10 cout<<endl<<element<<endl; 11 cout<<endl<<element2<<endl; 12 cout<<endl<<element3<<endl; 13 }
按下ctrl+F5进行调试
由此可见,一般用MORPH_RECT结构元素。
2.对图像进行膨胀腐蚀操作
1 #include<opencv2/opencv.hpp> 2 using namespace cv; 3 4 void main(){ 5 Mat src=imread("E://1.jpg"); 6 Mat dst; 7 Mat element=getStructuringElement(MORPH_RECT,Size(5,5)); 8 dilate(src,dst,element,Point(-1,-1),1);//膨胀一次,(-1,-1)表示取中心位置 9 //erode(src,dst,element,Point(-1,-1),2);//腐蚀两次 10 11 imshow("src",src); 12 imshow("dst",dst); 13 waitKey(0); 14 }
膨胀效果如下:
腐蚀效果如下:
以上是关于opencv学习之路(14)形态学之膨胀腐蚀的主要内容,如果未能解决你的问题,请参考以下文章
详解图像形态学操作之图形的腐蚀和膨胀的概念和运算过程,并利用OpenCV的函数erode()和函数dilate()对图像进行腐蚀和膨胀操作