OpenCV-21方盒滤波和均值滤波

一、方和滤波

使用API --- boxFiter(src, ddepth, ksize[,dst[,anchor[, normalize[, borderType]]]])方盒滤波

方盒滤波的卷积核如下所示:

OpenCV-21方盒滤波和均值滤波_第1张图片

--- 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 np

dog = 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,opencv,均值算法,人工智能,python,计算机视觉,numpy,算法)