高斯双边模糊
def bi_demo(image):
"""
斯双边模糊:
d:即 distance,常规为 0 ,像素的邻域直径,可有sigmaColor和sigmaSpace计算可得;
sigmaColor:尽量取大,目的将小的差异模糊掉,噪声去掉
sigmaSpace:尽量取小,那么“核”就小一点,主要的差异就保留下来
"""
dst = cv.bilateralFilter(image, 0, 100, 15)
cv.imshow("bilateralFilter", dst)
均值迁移模糊
def shift_demo(image):
"""
均值迁移模糊:
sp:(The spatial window radius) 定义的漂移物理空间半径大小
sr:(The color window radius) 定义的漂移色彩空间半径大小
"""
dst = cv.pyrMeanShiftFiltering(image, 10, 50)
cv.imshow("pyrMeanShiftFiltering", dst)
代码
# -*- coding: utf-8 -*-
# By:iloveluoluo
# 2019.3.25
import cv2 as cv
import numpy as np
# EPF
# 高斯双边,均值迁移
def bi_demo(image):
"""
斯双边模糊:
d:即 distance,常规为 0 ,像素的邻域直径,可有sigmaColor和sigmaSpace计算可得;
sigmaColor:尽量取大,目的将小的差异模糊掉,噪声去掉
sigmaSpace:尽量取小,那么“核”就小一点,主要的差异就保留下来
"""
dst = cv.bilateralFilter(image, 0, 100, 15)
cv.imshow("bilateralFilter", dst)
def shift_demo(image):
"""
均值迁移模糊:
sp:(The spatial window radius) 定义的漂移物理空间半径大小
sr:(The color window radius) 定义的漂移色彩空间半径大小
"""
dst = cv.pyrMeanShiftFiltering(image, 10, 50)
cv.imshow("pyrMeanShiftFiltering", dst)
src = cv.imread('E:/MyFile/Picture/date/example.png') # 读取椒盐噪声图片
cv.imshow("src demo", src)
bi_demo(src)
shift_demo(src)
cv.waitKey(0)
cv.destroyAllWindows()