文档介绍:OpenCV学(二)五形态学操作形态学操作简单来讲,形态学操作就是基于形状的一系列图像处理操作。通过将结构元素作用于输入图像来产生输出图像。最基本的形态学操作有二:腐蚀与膨胀(Erosion与Dilation)。他们的运用广泛:消除噪声分割(isolate)独立的图像元素,以及连接(join)相邻的元素。寻找图像中的明显的极大值区域或极小值区域。腐蚀操作腐蚀在形态学操作家族里是膨胀操作的孪生姐妹。它提取的是内核覆盖下的相素最小值。进行腐蚀操作时,将内核B划过图像,将内核B覆盖区域的最小相素值提取,并代替锚点位置的相素。我们使用腐蚀操作。从下面的结果图我们看到亮区(背景)变细,而黑色区域(字母)则变大了。腐蚀操作函数原型:voiderode(InputArraysrc,OutputArraydst,InputArraykernel,Pointanchor=Point(-1,-1),intiterations=1,intborderType=BORDER_CONSTANT,constScalar&borderValue=morphologyDefaultBorderValue())1可以看到前三个是必要的参数,后面都有默认的参数。InputArraykernel腐蚀操作的内核膨胀操作此操作将图像A与任意形状的内核(B),通常为正方形或圆形,进行卷积。内核B有一个可定义的锚点,通常定义为内核中心点。进行膨胀操作时,将内核B划过图像,将内核B覆盖区域的最大相素值提取,并代替锚点位置的相素。显然,这一最大化操作将会导致图像中的亮区开始”扩展”(因此有了术语膨胀dilation)voiddilate(InputArraysrc,OutputArraydst,InputArraykernel,Pointanchor=Point(-1,-1),intiterations=1,intborderType=BORDER_CONSTANT,constScalar&borderValue=morphologyDefaultBorderValue())12开运算(Opening)开运算是通过先对图像腐蚀再膨胀实现的。dst=open(src,element)=dilate(erode(src,element))能够排除小团块物体(假设物体较背景明亮)闭运算(Closing)闭运算是通过先对图像膨胀再腐蚀实现的。dst=close(src,element)=erode(dilate(src,element))能够排除小型黑洞(黑色区域)。形态梯度(MorphologicalGradient)膨胀图与腐蚀图之差dst=morph_{grad}(src,element)=dilate(src,element)-erode(src,element顶帽(TopHat)原图像与开运算结果图之差dst=tophat(src,element)=src-open(src,element)黑帽(BlackHat)闭运算结果图与原图像之差dst=blackhat(src,element)=close(src,element)–src六图像的放大和缩小图像金字塔(ImagePyramids)一个图像金字塔是一系列图像的集合-所有图像来源于同一张原始图像-通过梯次向下采样获得,直到达到某个终止条件才停止采样。有两种类型的图像金字塔常常出现在文献和应用中:高斯金字塔(Gaussianpyramid):用来向下采样拉普拉斯金字塔(Laplacianpyramid):用来从金字塔低层图像重建上层未采样图像向下采样导致了,图像放大,造成模糊向上采样会导致丢失信息,因为他缩小了图像向上采用函数原型:voidpyrUp(InputArraysrc,OutputArraydst,constSize&dstsize=Size(),intborderType=BORDER_DEFAULT)向下采用函数原型:voidpyrDown(InputArraysrc,OutputArraydst,constSize&dstsize=Size(),intborderType=BORDER_DEFAULT)实例://将图像放大两倍pyrUp(src,dst,Size(*2,*2));//缩小两倍pyrDown(src,dst,Size(,));七图像修复图像修复图像的修复是重建图像和视频受损部分的过程,这个过程也成为图像或视频的插值。,函数的模型为:voidinpaint(InputArraysrc,InputArrayinpaintMask,OutputArraydst,doubleinpai