OpencV

    xiaoxiao2021-11-13  73

    图像滤波函数

    cv2.bilateralFilter(InputArray src,OutputArray dst, int d,double sigmaColor,double sigmaSpace,int borderType = BORDER_DEFAULT) 将双边滤波器应用于图像,该函数适用双边滤波对输入的图像,可以减少不必要的噪音,同时保持较锋利的边缘。然而,与其他滤波器相比它的速度很慢。http://www.dai.ed.ac.uk/CVonline/LOCAL_COPIES/MANDUCHI1/Bilateral_Filtering.html  sigma的值:简而言之你可以设置2个sigma值相等,如果他们取值很小(<10),那么滤波的作用是很有限的,如果它们的值很大(>150),那么它们会有很给力的效果,让图片看上去很“卡通” Filter size:较大的滤波器是很慢的,因此建议使用d=5作为实际应用,当然你也许会在噪声严重的滤波中使用9x9滤波 d:过滤过程中每个像素的邻域的直径 sigmacolor:颜色空间中的标准方差,参数值较大时意味着在像素点领域内的更多的颜色会被混合在一起,结果导致较大区域内的颜色半等 sigmaspace:坐标空间的标准方差,参数的较大值意味着更远的像素将与相互影响,只要它们的颜色足够相近。 borderType:详见图像扩边cv2.copyMakeBorder() cv2.blur(InputArray- src,OutputArray- dst,size- ksize,point- anchor=Point(-1,-1),int borderType = BORDER_DEFAULT)

    模糊图像使用归一化的框过滤器。内核为︰K=1ksize.width*ksize.height111111111111111

    blur(src, dst, ksize, anchor, borderType)与  boxFilter(src, dst, src.type(), anchor, true, borderType).的调用相等 ksize:滤波内核的大小 anchor:默认值(-1,-1)即像素点在内核中央   cv2.boxFilter(InputArray src,OutputArray dst,int ddepth,size ksize ,point anchor=Point(-1,-1),bool norimalize = true,int borderType = BORDER_DEFAULT) 其内核为

    K=α111111111111111

    α={1ksize.width*ksize.height1when \texttt{normalize=true}otherwise

     

    转载请注明原文地址: https://ju.6miu.com/read-678251.html

    最新回复(0)