700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 【OpenCV】opencv入门之图像的形态学基本操作-----膨胀(dilate)和腐蚀(erode)函数

【OpenCV】opencv入门之图像的形态学基本操作-----膨胀(dilate)和腐蚀(erode)函数

时间:2023-04-15 10:15:03

相关推荐

【OpenCV】opencv入门之图像的形态学基本操作-----膨胀(dilate)和腐蚀(erode)函数

图像形态学的基本操作:腐蚀、膨胀。

图像的膨胀和腐蚀使用的函数为dilate和erode,以下是函数的原型:

void dilate //erode(InputArray src, //输入源图像,填Mat类的图像即可,图像的通道数量是任意的OutputArray dst, //目标图像,需要和源图像有一样的尺寸和类型InputArray kernel, //膨胀操作的核。当此值为NULL时,表示的是使用参考点位于中心3*3的核Point anchor = Point(-1, -1), //Point类型的anchor,锚的位置,其有默认值(-1,-1),表示锚位于中心int iterations=1,//表示dilate的次数,默认值为1int borderType = BORDER_CONSTANT, //用于推断图像外部像素某种边界模式,默认值为BORDER_DEFAULT)

代码实现:

#include "pch.h"#include <core.hpp> #include <highgui.hpp> #include <imgproc.hpp> #include <opencv2/imgproc/types_c.h> using namespace std;using namespace cv;int main(){//读取一张图片Mat img=imread("D:\\Visual Studio project\\ConsoleApplication2\\风景.jpg");//创建窗口namedWindow("原图", WINDOW_NORMAL);//将窗口调整成512*512resizeWindow("原图", 512, 512);//显示原图imshow("原图",img);//获取一个自定义的核,getStructuringElement表示cv中获取自定义核,MORPH_RECT核定义为方形,大小为10*10Mat element = getStructuringElement(MORPH_RECT, Size(10, 10)); Mat after_dilate;Mat after_erode;//进行膨胀和腐蚀操作,2表示腐蚀2次dilate(img, after_dilate, element, Point(-1, -1),2, BORDER_CONSTANT);erode(img, after_erode, element,Point(-1,-1),2,BORDER_CONSTANT);//创建新的窗口namedWindow("膨胀图", WINDOW_NORMAL);resizeWindow("膨胀图", 512, 512);//显示膨胀图imshow("膨胀图", after_dilate);//再创建一个窗口namedWindow("腐蚀图", WINDOW_NORMAL);resizeWindow("腐蚀图", 512, 512);//显示腐蚀图imshow("腐蚀图", after_erode);waitKey(0);return 0;}

输出结果:

参考文章:/qq_41553038/article/details/80048510

【OpenCV】opencv入门之图像的形态学基本操作-----膨胀(dilate)和腐蚀(erode)函数原型及代码实现

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。