形态学滤波
数学形态
Mathematical morpgology
这两个操作针对的是对图像的高亮部分,而不是黑色部分
膨胀
dilate 求局部最大值的操作,膨胀或腐蚀操作从数学来讲就是将图像与核进行卷积。
核B与图片卷积,B覆盖区域中像素点最大值赋给A目标点,是图像中高亮区域逐渐增长。
腐蚀
erode与膨胀是相反的操作,求局部最小值。
相关源码分析
erode dilate都是调用了morphOp函数,只不过第一个参数不一样
(MORPH_ERODE,MORPH_DILATE)
相关核心API函数
- dilate函数
dilate()
-
参数1 src Mat类,深度CV_8U CV_16U CV_16S CV_64F
-
参数2 dst
-
参数3 kernal 膨胀操作的核,当为NULL时候,表示的是参考点位于3*3的核
-
参数4 Point anchor
-
参数5 int iterations 迭代使用dilate()函数的次数,默认1
-
参数6 int borderType
-
参数7 const Scalar& borderValue 有默认值,不用管
-
使用函数 getStructingElement 返回指定形状和尺寸的结构元素(内核矩阵),来获取自定义核
-
参数1 有三种形状可以选:MORPH_RECT MORPH_CROSS MORPH_ELLIPSE
-
参数2 内核尺寸
-
参数3 锚点位置
erode函数
形参和dilate完全一样,不再赘述