开启与闭合

开启与闭合

  开启:先腐蚀后膨胀

  闭合:先膨胀后开启

开启:用来背景中的消除小物体、在纤细点处分离物体、平滑较大物体的边界的同时并不明显改变其面积。所有小到不能容纳结构元素的物体都会被移除。

闭合:闭运算用来填充物体内细小空洞、连接邻近物体、平滑其边界的同时并不明显改变其面积。基本上所有小到不能完整容纳结构元素的空隙或间隙,都会被闭运算消除(即连起来)。

多次使用开启闭合是无效的

oid 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)
开运算是对图像先腐蚀再膨胀,可以排除小团的物体

                  MORPH_CLOSE – 闭运算(Closing operation)
闭运算是对图像先膨胀再腐蚀,可以排除小型黑洞,

MORPH_GRADIENT -形态学梯度(Morphological gradient)

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

  •  MORPH_TOPHAT - “顶帽”(“Top hat”)(提取出局部的小型前景物体)
  • 返回图像为原图像与开运算结果图之差,

  •                     MORPH_BLACKHAT - “黑帽”(“Black hat“)

    返回图片为闭运算结果图与原图像之差,(提取背景)

  • 第四个参数,InputArray类型的kernel,形态学运算的内核。若为NULL时,表示的是使用参考点位于中心3x3的核。如果设置5*5的即:Mat(5, 5, CV_8U)
原文地址:https://www.cnblogs.com/KAVEI/p/14730270.html