python+opencv 边缘保留滤波(EPF)

import cv2 as cv
import numpy as np


# 高斯双边(考虑了像素值之间的差异)
def bi_demo(image):
    #  100是sigmaColor,15是sigmaSpace,d设为0,后面根据sigmaSpace自己计算
    # 通常sigmaColor取大点儿,可以将小的差异模糊掉,sigmaSpace取小点儿,使和小点儿,可以减少计算量
    # d是distance,若不输入d,用sigmaSpace,若输入d,则根据d计算sigmaSpace
    # dst = cv.bilateralFilter(src, d, sigmaColor, sigmaSpace)
    dst = cv.bilateralFilter(image, 0, 100, 15)
    cv.imshow('bi_demo', dst)


# 均值迁移
def shift_demo(image):
    dst = cv.pyrMeanShiftFiltering(image, 10, 50)
    cv.imshow('shift_demo', dst)

src = cv.imread('C:/Users/Y/Pictures/Saved Pictures/example.png')
cv.namedWindow('input image', cv.WINDOW_AUTOSIZE)
cv.imshow('input image', src)
bi_demo(src)
cv.waitKey(0)
cv.destroyAllWindows()

原图像                                                经过高斯双边的图像                  经过均值迁移的图像

发布了70 篇原创文章 · 获赞 8 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/Acmer_future_victor/article/details/104145479
今日推荐