python&opencv 图像的双边滤波

双边滤波的操作主要是ccv2.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)

显示效果:
这里写图片描述这里写图片描述
这里写图片描述

  • 5
    点赞
  • 68
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值