- 2D卷积
与以为信号一样, 我们也可以对 2D 图像实施低通滤波(LPF),高通滤波(HPF)等。 LPF 帮助我们去除噪音,模糊图像。 HPF 帮助我们找到图像的边缘
OpenCV 提供的函数 cv.filter2D() 可以让我们对一幅图像进行卷积操作。
cv.filter2D()(src, ddepth, kernel[, dst[, anchor[, delta[, borderType]]]]) -> dst
参数 |
释义 |
src |
参数表示待处理的输入图像 |
ddepth |
参数表示目标图像深度,输入值为-1时,目标图像和原图像深度保持一致 |
kernel: |
卷积核(或者是相关核),一个单通道浮点型矩阵。修改kernel矩阵即可实现不同的模糊 |
import cv2
import numpy as np
from matplotlib import pyplot as plt
img = cv2.imread('logo.jpg')
kernel = np.ones((5,5),np.float32)/25 #5x5 的平均滤波器核:
dst = cv2.filter2D(img,-1,kernel)
plt.subplot(121),plt.imshow(img),plt.title('Original')
plt.xticks([]), plt.yticks([])
plt.subplot(122),plt.imshow(dst),plt.title('Averaging