天天看点

opencv形态学操作函数morphologyExopencv形态学操作函数morphologyEx

opencv形态学操作函数morphologyEx

2017年07月20日 18:19:45 此人小白一枚 阅读数:1001 标签: opencv 更多

个人分类: opencv

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/jiangjiao4726/article/details/75571014

void morphologyEx(InputArray src, OutputArray dst, int op, InputArray kernel, Point anchor=Point(-1,-1), intiterations=1, int borderType=BORDER_CONSTANT, const Scalar& borderValue=morphologyDefaultBorderValue() )

函数形式:

函数参数:

  • 第一个参数,输入图像
  • 第二个参数,输出图像
  • 第三个参数,使用的形态学方法即:
  •                     MORPH_OPEN – 开运算(Opening operation)

    开运算是对图像先腐蚀再膨胀,可以排除小团的物体转换公式为:

    opencv形态学操作函数morphologyExopencv形态学操作函数morphologyEx
  •                     MORPH_CLOSE – 闭运算(Closing operation)
  • 闭运算是对图像先膨胀再腐蚀,可以排除小型黑洞,变换的公式:
    opencv形态学操作函数morphologyExopencv形态学操作函数morphologyEx
  •                     MORPH_GRADIENT -形态学梯度(Morphological gradient)

    返回图片为膨胀图与腐蚀图之差,可以保留物体的边缘轮廓,变换公式为:

    opencv形态学操作函数morphologyExopencv形态学操作函数morphologyEx
  •                     MORPH_TOPHAT - “顶帽”(“Top hat”)
  • 返回图像为原图像与开运算结果图之差,变换公式:
    opencv形态学操作函数morphologyExopencv形态学操作函数morphologyEx
  •                     MORPH_BLACKHAT - “黑帽”(“Black hat“)

    返回图片为闭运算结果图与原图像之差,变换公式为:

    opencv形态学操作函数morphologyExopencv形态学操作函数morphologyEx
  • 第四个参数,InputArray类型的kernel,形态学运算的内核。若为NULL时,表示的是使用参考点位于中心3x3的核。如果设置5*5的即:Mat(5, 5, CV_8U)
  • 第五个参数,Point类型的anchor,锚的位置,其有默认值(-1,-1),表示锚位于中心。
  • 第六个参数,int类型的iterations,迭代使用函数的次数,默认值为1。
  • 第七个参数,int类型的borderType,用于推断图像外部像素的某种边界模式。注意它有默认值BORDER_ CONSTANT。
  • 第八个参数,const Scalar&类型的borderValue,当边界为常数时的边界值,有默认值morphologyDefaultBorderValue(),

继续阅读