OpenCV之腐蚀(Erosion)和膨胀(Dilation)

腐蚀Erosion是通过API函数erode来实现的(膨胀和腐蚀使用上一样使用API函数Dilate

     腐蚀效果如下:

     原图像:                                                执行函数erode后:

从效果上来看,erode是通过一个核(结构元素)矩阵,在图像上滑动

腐蚀膨胀原理,请访问https://blog.csdn.net/qq_25847123/article/details/73744575

 

     erode(const Mat &src, Mat &dst, Mat kernel, Point anchor=Point(-1,-1), int iterations=1)

     src:输入图像,可以多通道,深度可为CV_8U、CV_16U、CV_16S、CV_32F或CV_64F。

     dst:输出图像,尺寸,通道与输入图像相同。

     kernel:结构元素,如果kernel=Mat()则默认为3*3的矩阵,kernel越大则侵蚀效果越明显。

     anchor:锚点位置,默认为结构中央位置。

    iterations:执行次数,默认执行一次,执行次数越多侵蚀效果越明显。

 

使用erode一般还会用到另一个API函数getStructuringElement(获得结构元素kernel)

Mat getStructuringElement(int shape, Size esize, Point anchor = Point(-1, -1));

  shape:获得结构元素的形状  使用枚举enum { MORPH_RECT=0, MORPH_CROSS=1, MORPH_ELLIPSE=2 };

                0---矩形:MORPH_RECT

                1---十字交叉型:MORPH_CROSS

                 2---椭圆:MORPH_ELLIPSE

 esize:内核的尺寸(一般为奇数3*3 5*5 7*7.....)

 anchor:锚点位

 返回一个Mat的结构元素

如下列子

执行结果如下:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值