均值迁移滤波python
"""
bilateralFilter(src, d, sigmaColor, sigmaSpace[, dst[, borderType]]) -> dst
- src: 输入图像。
- d: 在过滤期间使用的每个像素邻域的直径。如果输入d非0,则sigmaSpace由d计算得出,如果sigmaColor没输入,则sigmaColor由sigmaSpace计算得出。
- sigmaColor: 色彩空间的标准方差,一般尽可能大。
较大的参数值意味着像素邻域内较远的颜色会混合在一起,
从而产生更大面积的半相等颜色。
- sigmaSpace: 坐标空间的标准方差(像素单位),一般尽可能小。
参数值越大意味着只要它们的颜色足够接近,越远的像素都会相互影响。
当d > 0时,它指定邻域大小而不考虑sigmaSpace。
否则,d与sigmaSpace成正比。
"""
# 边缘保留滤波(EPF) 高斯双边、均值迁移
import cv2
def bi_demo(image): # 双边滤波
dst = cv2.bilateralFilter(image, 0, 100, 15)
cv2.namedWindow("bi_demo", cv2.WINDOW_NORMAL)
cv2.imshow("bi_demo", dst)
def shift_demo(image): # 均值迁移
dst = cv2.pyrMeanShiftFiltering(image, 10, 50)
# cv2.namedWindow("shift_demo", cv2.WINDOW_NORMAL)
# cv2.imshow("shift_demo", dst)
cv2.imwrite('./output2/1_1.jpg', dst)
src = cv2.imread('./output2/1.jpg')
# cv2.namedWindow('input_image', cv2.WINDOW_NORMAL)
# cv2.imshow('input_image', src)
# bi_demo(src)
shift_demo(src)
cv2.waitKey(0)
cv2.destroyAllWindows()
有什么问题可以加qq:1281372141进行交流