二维卷积(图像滤波)
与一维信号一样,图像也可以用各种低通滤波器(LPF)、高通滤波器(HPF)等进行滤波。LPF有助于去除噪声,模糊图像等。HPF过滤器有助于在图像中找到边缘。OpenCV提供了一个函数cv.filter2D()来将内核与图像进行卷积。例如,我们将尝试对图像进行平均滤波。一个5x5平均滤波内核如下:
操作如下:将该内核保持在一个像素之上,将该内核之下的所有25个像素相加,取其平均值,然后用新的平均值替换中心像素。继续对图像中的所有像素继续此操作。
函数
dst=cv.filter2D(src, ddepth, kernel[, dst[, anchor[, delta[, borderType]]]])
参数:
src
输入图像
dst
与src相同大小、相同通道数的输出图像。
ddepth
目标图像的所需深度。-1使用原图像深度。 see combinations
kernel
卷积核, 一个单通道浮点矩阵; 如果想对不同通道使用不同卷积核, 使用分割将图像分割成单独的彩色平面,并单独处理它们。
anchor
内核的锚点,表示内核中经过过滤的点的相对位置; 锚点应该位于内核中; 默认值 (-1,-1) 代表锚点即内核中心。
delta
在储存目标图像前可选的添加到像素的值,默认值为0
borderType
举例:
importnumpy as npimportcv2 as cvfrom matplotlib importpyplot as plt
img&#