进行边缘保留式滤波通常有两个方法:
1,高斯双边滤波
代码实现如下:
def bi_demo(image):
dst = cv.bilateralFilter(src=image, d=0, sigmaColor=100, sigmaSpace=15)
cv.imshow("bi_demo", dst)
其中各参数所表达的意义:
src:原图像;
d:像素的邻域直径,可有sigmaColor和sigmaSpace计算可得;
sigmaColor:颜色空间的标准方差,一般尽可能大;
sigmaSpace:坐标空间的标准方差(像素单位),一般尽可能小。
2.均值偏移滤波
代码实现如下:
def mean_shift_demo(image):
dst = cv.pyrMeanShiftFiltering(src=image, sp=15, sr=20)
cv.imshow("mean_shift image", dst)
其中各参数所表达的意义:
src:原图像;
sp:空间窗的半径(The spatial window radius);
sr:色彩窗的半径(The color window radius).
Notes: 通过均值迁移来进行边缘保留滤波有时会导致图像过度模糊