![]()
import cv2 as cv
import numpy as np
def blur(image):
"""均值模糊,用来去噪声"""
dst = cv.blur(image, (5, 5)) # ksize=(1,3),均值模糊,stride=1
cv.namedWindow("mean_blur", 0)
cv.resizeWindow("mean_blur", 300, 400)
cv.imshow("mean_blur", dst)
def median_blur(image):
"""中值模糊,平滑椒盐噪声"""
dst = cv.medianBlur(image, 5) # ksize=5
cv.namedWindow("median_blur", 0)
cv.resizeWindow("median_blur", 300, 400)
cv.imshow("median_blur", dst)
def custom_blur(image):
"""自定义模糊"""
kernel = np.ones([5, 5], np.float32) / 25 # 防止溢出255
kernel1 = np.array([[0, -1, 0], [-1, 5, -1], [0, -1, 0]], np.float32) # 锐化算子
dst = cv.filter2D(image, -1, kernel=kernel1) # -1,表示默认的ddepth
cv.namedWindow("custom_blur", 0)
cv.resizeWindow("custom_blur", 300, 400)
cv.imshow("custom_blur", dst)
src = cv.imread("img/test.jpg")
cv.namedWindow("src", 0)
cv.resizeWindow("src", 300, 400)
cv.imshow("src", src)
blur(src)
median_blur(src)
custom_blur(src)
cv.waitKey(0)
cv.destroyAllWindows()