1.基本概念
高斯模糊: 基于权重,权重只考虑像素空间的分布
高斯双边模糊: 除了考虑像素空间的分布,还考虑像素值的差异。相当于磨皮操作。
均值迁移模糊: 相当于把图片转化为油画效果的操作。
2.API 介绍
# 高斯双边模糊
cv2.bilateralFilter(src: Any, d: Any, sigmaColor: Any, sigmaSpace: Any, dst: Any = None, borderType: Any = None)
sigmaColor: 色彩差异,取大一点才能去掉噪声
sigmaSpace: 空间差异,取小一点才能保留边缘
# 均值迁移模糊
pyrMeanShiftFiltering(src: Any, sp: Any, sr: Any, dst: Any = None, maxLevel: Any = None, termcrit: Any = None)
sp: 空间窗的半径(The spatial window radius)
sr: 色彩窗的半径(The color window radius)
3.代码示例
import cv2
def show(name, img):
cv2.imshow(name, img)
cv2.waitKey(0)
cat = cv2.imread('E:/PycharmProjects/cat.jpg')
show('cat', cat)
def bi_demo(img):
bi = cv2.bilateralFilter(img, 0, 100, 15)
show('bi_demo', bi)
bi_demo(cat)
def shift_demo(img):
dst = cv2.pyrMeanShiftFiltering(img, 10, 50)
show('shift_demo', dst)
shift_demo(cat)
cv2.destroyAllWindows()