OPENCV入门教程十:erode图像腐蚀

来源:互联网 发布:大数据收购 编辑:程序博客网 时间:2024/05/20 07:53

一、目标

学习如何使用opencv中的函数,学习对图像的腐蚀操作,学习erode()函数的使用

二、函数说明

函数原型:

erode( InputArray src, OutputArray dst, InputArray kernel, Point anchor, int iterations,int borderType, constScalar& borderValue )

参数详解:

src:源图像
dst:目标图像。
kernel:膨胀操作的核。若为NULL时,表示的是使用参考点位于中心3x3的核。
我们一般使用函数 getStructuringElement配合这个参数的使用。getStructuringElement函数会返回指定形状和尺寸的结构元素(内核矩阵)。

anchor:锚的位置,其有默认值(-1,-1),表示锚位于中心。
iterations:迭代使用erode()函数的次数,默认值为1。
borderType:用于推断图像外部像素的某种边界模式。
borderValue:当边界为常数时的边界值

使用erode函数,一般我们只需要填前面的三个参数,后面的四个参数都有默认值。而且往往结合getStructuringElement一起使用。

三、程序代码

#include "cv.h"                             //  OpenCV 文件头#include "highgui.h"#include "cvaux.h"#include "cxcore.h"#include "opencv2/opencv.hpp"#include "opencv2/imgproc.hpp"#include <iostream>#include <string>using namespace cv;using namespace std;int main(int argc, char *argv[]){    Mat m_SrcImg;    m_SrcImg = imread("C:\\Users\\lidabao\\Desktop\\Lena.bmp");    namedWindow("原图像", 1);    imshow("原图像", m_SrcImg);    //获取自定义核    Mat element = getStructuringElement(MORPH_RECT, Size(10, 10));    Mat m_ResImg;    //进行腐蚀操作    erode(m_SrcImg, m_ResImg, element);    namedWindow("腐蚀后图像", 1);    imshow("腐蚀后图像", m_ResImg);    waitKey(0);}

四、结果

程序运行如下图:
这里写图片描述

五、注意

正确的配置opencv
正确使用erode()函数

0 0
原创粉丝点击