opencv+python学习记录(十四)双边滤波

双边滤波:它能够保持边界清晰的情况下有效的去除噪声,但是这种操作比较慢。它拥有着美颜的效果

opencv提供的函数:cv2.bilateralFilter()

import cv2

def bi_demo(image):#高斯双边滤波

    dst = cv2.bilateralFilter(src=image, d=0, sigmaColor=100, sigmaSpace=15)

    cv2.namedWindow('bi_demo',0)

    cv2.resizeWindow('bi_demo',300,400)

    cv2.imshow("bi_demo", dst)

'''

    其中各参数所表达的意义:

    src:原图像;

    d:像素的邻域直径,可有sigmaColor和sigmaSpace计算可得;

    sigmaColor:颜色空间的标准方差,一般尽可能大;

    sigmaSpace:坐标空间的标准方差(像素单位),一般尽可能小。'''

def mean_shift_demo(image):#均值偏移滤波

    dst = cv2.pyrMeanShiftFiltering(src=image, sp=15, sr=20)

    cv2.namedWindow('mean_shift image', 0)

    cv2.resizeWindow('mean_shift image', 300, 400)

    cv2.imshow("mean_shift image", dst)

#使用均值边缘保留滤波时,可能会导致图像过度模糊

'''其中各参数所表达的意义:

    src:原图像;

    sp:空间窗的半径(The spatial window radius);

    sr:色彩窗的半径(The color window radius)'''

src = cv2.imread('E:\python\image\lena.jpg')

bi_demo(src)

mean_shift_demo(src)

cv2.namedWindow('src', 0)

cv2.resizeWindow('src', 300, 400)

cv2.imshow('src',src)

cv2.waitKey(0)

来源自https://blog.csdn.net/songjinxaing/article/details/80487006

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容