opencv图像处理学习(三十九)——形态学梯度与顶帽,黑帽

1.形态学梯度

梯度用于刻画目标边界或边缘位于图像灰度级剧烈变化的区域,形态学梯度根据膨胀或腐蚀与原图作差组合来实现增强结构元素邻域中像素的强度,突出高亮区域的外围。最常用的形态学梯度是计算膨胀与腐蚀之间的算术差,另外两种计算形态学梯度分别是膨胀结果与原图的算术差以及原图与腐蚀结果的算术差,对于结构元素E,形态学梯度可以表示为:

G_{E}=\sigma _{E}-\xi _{E}

形态学梯度操作的输出图像像素值实在对应结构元素而非局部过渡区域所定义的邻域中灰度级强度变化的最大值。

2.顶帽和黑帽运算

形态学Top—Hat变换是指形态学顶帽操作与黑帽操作,前者是计算原图像与开运算结果图之差,后者是计算闭运算结果图与原图像之差。形态学Top-Hat是常用的一种形态学滤波器,具有高通滤波器的某部分特性,可实现在图像中检测出周围背景亮结构或周边背景暗结构。顶帽操作常用于检测图像中的峰结构,而黑帽操作常用于检测图像中的波谷结构。

在Opencv中提供了morphologyEx函数用于形态学运算,其参数如下:

void morphologyEx(InputArray src,OutputArrat dst,int op,InputArray kernel,Point anchor = Point(-1,-1),int iterations = 1 ,int morph-ologyDefaultBorderValue())

其中参数src为输入图像;dst为输出图像;op为形态学操作算子类型,可以进行MORPH_OPEN开操作,MOPRH_CLOSE闭运算,MOPRH_GRADIENT形态学梯度操作,MOPRH_TOPHAT顶帽操作,MOPRH_BLACKHAT黑帽操作;iterations可设置腐蚀与膨胀的操作的次数;borderType与borderValue为可选参数设置,针对边界处理。

你可能感兴趣的:(学习opencv)