OpenCV学习笔记-边缘保留滤波EPF

进行边缘保留滤波通常用到两个方法:
1、高斯双边滤波
具体代码:
#高斯双边滤波
def bilateral_demo(img):
    dst = cv.bilateralFilter(src=img,d=0,sigmaColor=100,sigmaSpace=15)
    '''
    高斯双边模糊,相当于磨皮操作
    src:原图像
    d: 像素的领域直径,可有sigmaColor和sigmaColor计算得到
    sigmaColor: 颜色空间的标准方差,一般越大越好
    sigmaSpace: 坐标空间的标准方差(像素单位),一般越小越好
    '''
    cv.imshow('bilateal_dome',dst)
    kennel = np.array([[0, -1, 0], [-1, 5, -1], [0, -1, 0]], np.float32)  # 固定写法 表示锐化操作,可以使图像更立体
    dst1 = cv.filter2D(dst, -1, kennel)  # -1 就表示和原图一样
    cv.imshow('sharpening_dome',dst1)
2、均值偏移滤波
具体代码:

#均值偏移滤波
def mean_shift_demo(img):
    dst = cv.pyrMeanShiftFiltering(src=img,sp=15,sr=20)
    '''
    均值偏移滤波处理,想当与把图片转油画的操作
    src: 原图像
    sp:空间窗的半径(The spatial window radius)
    sr: 色彩窗的半径(The color window radius)
    通过均值迁移来进行边缘保留滤波有时会导致图像过度模糊
    '''
    cv.imshow('mean_shift_demo',dst)

具体原理还没弄懂,具体理论部分可以看看这几个大神的博客:
https://blog.csdn.net/jia20003/article/details/52744157
https://blog.csdn.net/jia20003/article/details/8214567
https://blog.csdn.net/LG1259156776/article/details/51816875

你可能感兴趣的:(OpenCV学习笔记-边缘保留滤波EPF)