0
点赞
收藏
分享

微信扫一扫

OpenCV第七章——滤波器

洲行 2024-09-10 阅读 8

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()  

 操作效果如下:

 

那么有关于滤波器的 解释就到这里了,谢谢大家的观看!!!

举报

相关推荐

第七章

滤波器opencv

第七章:事务

第七章:集合

第七章 类

第七章 数组

第七章 集合

第七章总结

第七章 测试

0 条评论