滤波器

demo1

# 均值滤波器
import cv2
# 读取原图
img = cv2.imread("./atm.jpg")
img = cv2.resize(img, None,None, 0.5, 0.5)
# 使用大小为3×3的滤波核进行滤波
dst1 = cv2.blur(img, (3, 3))

# 使用大小为5×5的滤波核进行滤波
dst2 = cv2.blur(img, (5, 5))

# 使用大小为3×3的滤波核进行滤波
dst3 = cv2.blur(img, (9, 9))

cv2.imshow("img", img)
cv2.imshow("dst1", dst1)
cv2.imshow("dst2", dst2)
cv2.imshow("dst3", dst3)
cv2.waitKey()
cv2.destroyAllWindows()

demo2

# 中值滤波器
import cv2
# 读取原图
img = cv2.imread("./atm.jpg")
img = cv2.resize(img, None,None, 0.5, 0.5)
# 使用大小为3×3的滤波核进行滤波
dst1 = cv2.medianBlur(img, 3)

# 使用大小为5×5的滤波核进行滤波
dst2 = cv2.medianBlur(img, 5)

# 使用大小为3×3的滤波核进行滤波
dst3 = cv2.medianBlur(img, 9)

cv2.imshow("img", img)
cv2.imshow("dst1", dst1)
cv2.imshow("dst2", dst2)
cv2.imshow("dst3", dst3)
cv2.waitKey()
cv2.destroyAllWindows()

demo3

# 高斯滤波器
import cv2
# 读取原图
img = cv2.imread("./atm.jpg")
img = cv2.resize(img, None,None, 0.5, 0.5)
# 使用大小为3×3的滤波核进行滤波
dst1 = cv2.GaussianBlur(img, (3, 3), 0, 0)

# 使用大小为5×5的滤波核进行滤波
dst2 = cv2.GaussianBlur(img, (5, 5), 0, 0)

# 使用大小为3×3的滤波核进行滤波
dst3 = cv2.GaussianBlur(img, (9, 9), 0 ,0)

cv2.imshow("img", img)
cv2.imshow("dst1", dst1)
cv2.imshow("dst2", dst2)
cv2.imshow("dst3", dst3)
cv2.waitKey()
cv2.destroyAllWindows()

demo4

import cv2

img = cv2.imread("./atm.jpg")
img = cv2.resize(img, None, None, 0.5, 0.5)
dst1 = cv2.GaussianBlur(img, (15, 15), 0, 0)
dst2 = cv2.bilateralFilter(img, 15, 120, 100)
cv2.imshow("img", img)
cv2.imshow("Gauss", dst1)
cv2.imshow("bil", dst2)
cv2.waitKey()
cv2.destroyAllWindows()