双边滤波函数bilateralFilter():定义:bilateralFilter(src, d, sigmaColor, sigmaSpace, dst=None, borderType=None)
src: 图像矩阵
d:邻域直径
sigmaColor:颜色标准差
sigmaSpace:空间标准差
可以看出对图像的边缘处理的很好,左下角的图标没有模糊掉(图像边缘是指图像属性区域和另一个属性区域的交接处,是区域属性发生突变的地方,是图像不确定性最大的地方,也是图像信息最集中的地方,图像的边缘包含着丰富的信息)
代码语言:javascript复制# coding=GBK
import cv2 as cv
import numpy as np
image1=cv.imread("D://bil.png")
cv.imshow("yuantu",image1)
dst=cv.bilateralFilter(image1,0,100,15)
cv.imshow("hanshu_gaussian",dst)
cv.waitKey(0)
cv.destroyAllWindows()
另一个EPF的经典实现是均值迁移
比起高斯双边,均值迁移有时候过度模糊
原型:
代码语言:javascript复制void pyrMeanShiftFiltering( InputArray src, OutputArray dst,
double sp, double sr, int maxLevel=1,
TermCriteria termcrit=TermCriteria(
TermCriteria::MAX_ITER TermCriteria::EPS,5,1) );
src 是图像
sp:定义漂移物理空间半径大小
sr: 定义漂移色彩空间半径大小
代码语言:javascript复制# coding=GBK
import cv2 as cv
import numpy as np
image1=cv.imread("D://bil.png")
cv.imshow("yuantu",image1)
dst=cv.pyrMeanShiftFiltering(image1,10,50)
cv.imshow("hanshu_gaussian",dst)
cv.waitKey(0)
cv.destroyAllWindows()