本文主要是介绍OpenCV-21方盒滤波和均值滤波,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一、方和滤波
使用API --- boxFiter(src, ddepth, ksize[,dst[,anchor[, normalize[, borderType]]]])方盒滤波
方盒滤波的卷积核如下所示:
--- normalize = Ture时, a = 1 / (W*H)滤波器的宽高
--- normalize = False时, a = 1 相当于什么都没做
一般情况使用normalize = Ture的情况,这时方盒滤波等价于均值滤波。
二、均值滤波
使用API---blur(src,ksize[, dst[, anchor[, borderType]]])
blur(模糊不清的事物,模糊的)
示例代码如下:
import cv2
import numpy as npdog = cv2.imread("dog.png")
NEW_DOG = cv2.resize(dog, (640, 480))
# 不需要手动创建卷积核, 只需要告诉方盒滤波,卷积核的大小是多少
# 创建方盒滤波
# new_dog = cv2.boxFilter(NEW_DOG, -1, (5, 5), normalize=True)
# 创建均值滤波
new_dog = cv2.blur(NEW_DOG, (5, 5))
cv2.imshow("Dog", np.hstack((NEW_DOG, new_dog)))
cv2.waitKey(0)
cv2.destroyAllWindows()
输出结果如下:
可以得到:
1)均值滤波会将图片变得模糊。
2)均值滤波和方和滤波在normalize = True的效果一样。
这篇关于OpenCV-21方盒滤波和均值滤波的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!