python opencv3图像处理课程学习——边缘保留有滤波(EPF)
高斯双边
均值迁移
1.高斯双边模糊
原理参考:https://blog.csdn.net/edogawachia/article/details/78837988
import cv2 as cv
import numpy as np
def bi_demo(image):
dst = cv.bilateralFilter(image, 0, 100, 15)
cv.imshow("bi-demo", dst)
src = cv.imread("C:/Users/ASUS/Desktop/11/2.jpg") # 从目录中读取图片
cv.namedWindow("input image", cv.WINDOW_AUTOSIZE) # 通过opencv的GUI将图片显示出来
cv.imshow("input image", src) # 在窗口中将图片显示出来,通过名字“src”找到图片
bi_demo(src)
cv.waitKey(0)
cv.destroyAllWindows()
输出:
2.均值迁移模糊
均值漂移pyrMeanShiftFiltering函数原型:pyrMeanShiftFiltering(src, sp, sr[, dst[, maxLevel[, termcrit]]]) -> dst
src参数表示输入图像,8位,三通道图像。
sp参数表示漂移物理空间半径大小。
sr参数表示漂移色彩空间半径大小。
dst参数表示和源图象相同大小、相同格式的输出图象。
maxLevel参数表示金字塔的最大层数。
termcrit参数表示漂移迭代终止条件。
import cv2 as cv
import numpy as np
def shift_demo(image):
dst = cv.pyrMeanShiftFiltering(image, 10, 50)
cv.imshow("shift_demo", dst)
src = cv.imread("C:/Users/ASUS/Desktop/11/2.jpg") # 从目录中读取图片
cv.namedWindow("input image", cv.WINDOW_AUTOSIZE) # 通过opencv的GUI将图片显示出来
cv.imshow("input image", src) # 在窗口中将图片显示出来,通过名字“src”找到图片
shift_demo(src)
cv.waitKey(0)
cv.destroyAllWindows()