python&opencv 图像的双边滤波

匿名 (未验证) 提交于 2019-12-02 22:51:30

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

显示效果:

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!