1.均值滤波器
下面是一个均值滤波操作示例:
import cv2
img = cv2.imread(r"C:\Users\cgs\Desktop\pictures\5(5).jpg")
dst1 = cv2.blur(img, (3, 3)) # 使用大小为3*3的滤波核进行均值滤波
dst2 = cv2.blur(img, (5, 5)) # 使用大小为5*5的滤波核进行均值滤波
dst3 = cv2.blur(img, (9, 9)) # 使用大小为9*9的滤波核进行均值滤波
cv2.imshow("img", img)
cv2.imshow("3*3", dst1) # 显示滤波效果
cv2.imshow("5*5", dst2)
cv2.imshow("9*9", dst3)
cv2.waitKey()
cv2.destroyAllWindows()
操作效果图像:
2.中值滤波器
下面是一个中值滤波的操作代码:
import cv2
img = cv2.imread(r"C:\Users\cgs\Desktop\pictures\5(5).jpg")
dst1 = cv2.medianBlur(img, 3) # 使用宽度为3的滤波核进行中值滤波
dst2 = cv2.medianBlur(img, 5) # 使用宽度为5的滤波核进行中值滤波
dst3 = cv2.medianBlur(img, 9) # 使用宽度为9的滤波核进行中值滤波
cv2.imshow("img", img)
cv2.imshow("3", dst1)
cv2.imshow("5", dst2)
cv2.imshow("9", dst3)
cv2.waitKey()
cv2.destroyAllWindows()
操作效果图像:
3.高斯滤波器
下面是高斯滤波操作代码示例:
import cv2
img = cv2.imread(r"C:\Users\cgs\Desktop\pictures\5(5).jpg")
dst1 = cv2.GaussianBlur(img, (5, 5), 0, 0) # 使用大小为5*5的滤波核进行高斯滤波
dst2 = cv2.GaussianBlur(img, (9, 9), 0, 0) # 使用大小为9*9的滤波核进行高斯滤波
dst3 = cv2.GaussianBlur(img, (15, 15), 0, 0) # 使用大小为15*15的滤波核进行高斯滤波
cv2.imshow("img", img)
cv2.imshow("5", dst1)
cv2.imshow("9", dst2)
cv2.imshow("15", dst3)
cv2.waitKey()
cv2.destroyAllWindows()
操作效果图像如下:
4.双边滤波器
下面是一个双边滤波操作与高斯滤波操作对比代码示例:
import cv2
img = cv2.imread(r"C:\Users\cgs\Desktop\pictures\5(5).jpg")
dst1 = cv2.GaussianBlur(img, (15, 15), 0, 0) # 使用大小为15*15的滤波核进行高斯滤波
# 双边滤波,选取范围直径为15,颜色差为120
dst2 = cv2.bilateralFilter(img, 15, 120, 100)
cv2.imshow("img", img)
cv2.imshow("Gauss", dst1) # 高斯滤波效果
cv2.imshow("bilateral", dst2) # 双边滤波效果
cv2.waitKey()
cv2.destroyAllWindows()
操作效果如下:
那么有关于滤波器的 解释就到这里了,谢谢大家的观看!!!