opencv 数学形态学(2) 膨胀运算:dilate
dilate 函数原型如下:
void dilate( InputArray src, OutputArray dst, InputArray kernel, Point anchor=Point(-1,-1),int iterations=1, int borderType=BORDER_CONSTANT,const Scalar& borderValue=morphologyDefaultBorderValue() );
使用 dilate 函数,一般我们只需要填前面的三个参数,后面的四个参数都有默认值。而且往往结合 getStructuringElement 一起使用。
其中:
第一个参数,InputArray 类型的 src,输入图像,即源图像,填 Mat 类的对象即可。图像通道的数量可以是任意的,但图像深度应为 CV_8U,CV_16U,CV_16S,CV_32F 或 CV_64F 其中之一。
第二个参数,OutputArray 类型的 dst,即目标图像,需要和源图片有一样的尺寸和类型。
第三个参数,InputArray 类型的 kernel,膨胀操作的核。若为 NULL 时,表示的是使用参考点位于中心 3x3 的核。
第四个参数,Point 类型的 anchor,锚的位置,其有默认值(-1,-1),表示锚位于中心。
第五个参数,int 类型的 iterations,迭代使用 erode()函数的次数,默认值为 1。
第六个参数,int 类型的 borderType,用于推断图像外部像素的某种边界模式。注意它有默认值 BORDER_DEFAULT。
第七个参数,const Scalar&类型的 borderValue,当边界为常数时的边界值,有默认值 morphologyDefaultBorderValue(),一般我们不用去管他。需要用到它时,可以看官方文档中的 createMorphologyFilter()函数得到更详细的解释。
希望对你有帮助。