opencv cv::dilate
作者:fly 发布于:2016-12-21 10:44 分类:Linux
erode函数,使用像素邻域内的局部极大运算符来膨胀一张图片,从src输入,由dst输出。支持就地(in-place)操作。
void dilate( InputArray src, OutputArray dst, InputArray kernel, Point anchor=Point(-1,-1), int iterations=1, int borderType=BORDER_CONSTANT, const Scalar& borderValue=morphologyDefaultBorderValue() );
参数详解:
第一个参数,InputArray类型的src,输入图像,即源图像,填Mat类的对象即可。图像通道的数量可以是任意的,但图像深度应为CV_8U,CV_16U,CV_16S,CV_32F或 CV_64F其中之一。
第二个参数,OutputArray类型的dst,即目标图像,需要和源图片有一样的尺寸和类型。
第三个参数,InputArray类型的kernel,膨胀操作的核。若为NULL时,表示的是使用参考点位于中心3x3的核。
我们一般使用函数 getStructuringElement配合这个参数的使用。getStructuringElement函数会返回指定形状和尺寸的结构元素(内核矩阵)。
其中,getStructuringElement函数的第一个参数表示内核的形状,我们可以选择如下三种形状之一:
矩形: MORPH_RECT
交叉形: MORPH_CROSS
椭圆形: MORPH_ELLIPSE
第四个参数,Point类型的anchor,锚的位置,其有默认值(-1,-1),表示锚位于中心。
第五个参数,int类型的iterations,迭代使用erode()函数的次数,默认值为1。
第六个参数,int类型的borderType,用于推断图像外部像素的某种边界模式。注意它有默认值BORDER_DEFAULT。
第七个参数,const Scalar&类型的borderValue,当边界为常数时的边界值,有默认值morphologyDefaultBorderValue(),一般我们不用去管他。需要用到它时,可以看官方文档中的createMorphologyFilter()函数得到更详细的解释。
日历
分类
存档
- 2018年3月(1)
- 2017年9月(1)
- 2017年7月(2)
- 2017年5月(1)
- 2017年3月(2)
- 2017年2月(6)
- 2017年1月(9)
- 2016年12月(13)
- 2016年11月(4)
- 2016年8月(17)
- 2016年7月(4)
- 2016年3月(1)
- 2016年2月(2)
- 2015年12月(4)
- 2015年10月(5)
- 2015年9月(1)
- 2015年8月(1)
- 2015年6月(2)
- 2015年5月(4)
- 2015年4月(1)
- 2015年3月(4)
- 2015年2月(2)
- 2015年1月(24)
- 2014年12月(3)
- 2014年10月(5)
- 2014年9月(5)
- 2014年8月(4)
- 2014年7月(13)
- 2014年6月(18)
- 2014年5月(20)
- 2014年4月(23)
- 2014年3月(90)
- 2014年2月(121)
- 2014年1月(11)
最新评论
- qq
哈 - AdOnCn
很好!感谢! - FlyLu
fly您好,看到你写的文章很不错,也很佩... - 地铁诡事
[给力] - 婚嫁百科
如果有爱,如果有结局! - 安安博客
看不懂 - wys.me
博主好,请教个问题哈。 怎么修改vis... - 知道91博客
哈哈,这个算是编程很基础很基础的了吧 - 婚嫁百科
晕死,怎么都不会显示出来的啊 - 小俊
看不懂
发表评论: