openCV从零开始:2、图像腐蚀

图像腐蚀,即用图像中的暗色部分“腐蚀”掉图像中的高亮部分。
在使用图像腐蚀函数之前,我们还需要了解 getStructuringElement 函数
函数原型
Mat getStructuringElement(int shape, Size esize, Point anchor = Point(-1, -1));

其中这个函数的第一个参数表示内核的形状,有三种形状可以选择。

矩形:MORPH_RECT;

交叉形:MORPH_CORSS;

椭圆形:MORPH_ELLIPSE;

第二和第三个参数分别是内核的尺寸以及锚点的位置。一般在调用
erode**腐蚀**
dilate**膨胀**函数之前
先定义一个Mat类型的变量来获得getStructuringElement函数的返回值。对于锚点的位置,有默认值Point(-1,-1),表示锚点位于中心点。element形状唯一依赖锚点位置,其他情况下,锚点只是影响了形态学运算结果的偏移。

了解完getStructuringElement后,我们就可以使用腐蚀函数了
函数原型
void erode(InputArray src, OutputArray dst, InputArray kernel, Point anchor=Point(-1,-1), int iterations=1,intborderType=BORDER_CONSTANT,constScalar&borderValue=morphologyDefaultBorderValue() )
是不是很长?但是有了上面的函数,创建一个Mat变量,例如
Mat element;
调用上面的函数
Mat element = getStructurningElement(MORPH_RECT,size(-1,-1));即可得到腐蚀函数后面的相关参数
只需要
erode(src,dst,element);即可完成腐蚀


可能有些人选用的《openCV3编程入门》电子工业出版社这本书
由于版本原因相关函数位置已不在书上注明的函数里面,想求方便的话只需要额外添加

include<opencv.hpp>

这行代码

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值