学习【OpenCV入门教程之十】 形态学图像处理(一):膨胀与腐蚀----思维导图笔记

时间:2020-12-06 20:02:54

       本文参考@浅墨_毛星云 出品,文章链接: http://blog.csdn.net/poem_qianmo/article/details/23710721

已经连续几天学习他的系列文章,确实很适合我这种没有图像处理知识体系的小白入门,原理都讲清楚了,也很生动,比自己看原理方面的书容易懂得多,

再次感谢@浅墨_毛星云博主,坚持就是胜利,继续写笔记~

       学习【OpenCV入门教程之十】 形态学图像处理(一):膨胀与腐蚀----理论知识已经整理成思维导图笔记,给出贴图:图太大了,可以另存再打开~

学习【OpenCV入门教程之十】 形态学图像处理(一):膨胀与腐蚀----思维导图笔记

综合示例:根据自己的理解(上完整代码)

#include<opencv2\core\core.hpp>
#include<opencv2\highgui\highgui.hpp>
#include<opencv2\imgproc\imgproc.hpp>
#include<iostream>

using namespace cv;
using namespace std;
//定义全局变量
Mat src,dst1,dst2,kel1,kel2;
int dilateValue=3;
int erodeValue=3;

//dilate膨胀操作
void dilate_do(int,void*)
{
//膨胀操作的核kel1
kel1=getStructuringElement(MORPH_RECT,Size(dilateValue+1,dilateValue+1));
dilate(src,dst1,kel1);
if(!dst1.empty())
{
imshow("效果图",dst1);
}
}

//erode腐蚀操作
void erode_do(int,void*)
{
//腐蚀操作的核kel2
kel2=getStructuringElement(MORPH_RECT,Size(erodeValue+1,erodeValue+1));
erode(src,dst2,kel2);
if(!dst2.empty())
{
imshow("效果图",dst2);
}
}
int main()
{
src=imread("img/dot.jpg");
namedWindow("原图");
imshow("原图",src);
namedWindow("效果图");
dst1=src.clone();
dst2=src.clone();
createTrackbar("膨胀核","效果图",&dilateValue,20,dilate_do);
createTrackbar("腐蚀核","效果图",&erodeValue,20,erode_do);
dilate_do(dilateValue,0);
erode_do(erodeValue,0);
waitKey();
return 0;

}

原图:这个黑白点的图,能看得更清楚

学习【OpenCV入门教程之十】 形态学图像处理(一):膨胀与腐蚀----思维导图笔记


膨胀效果图:高亮区域更大

学习【OpenCV入门教程之十】 形态学图像处理(一):膨胀与腐蚀----思维导图笔记

腐蚀效果图:高亮区域变黑

学习【OpenCV入门教程之十】 形态学图像处理(一):膨胀与腐蚀----思维导图笔记