filter2D用于将自定义的滤波器应用于图像,需要为这个函数提供的一个重要参数就是核矩阵。
该函数非常强大,可以生成很多种不同的结果,包括与之前的模糊函数相同的结果,不同的核还可以形成很多不同的滤波器。
OpenCV API:
cv2.filter2D(src, ddepth, kernel)
参数:
代码示例:
import cv2 as cv
import numpy as np
src = cv.imread("E:\\qi.png")
img = src.copy()
kernel = np.array([[0, 1.5, 0],
[1.5, -6, 1.5],
[0, 1.5, 0]])
dst = cv.filter2D(img, -1, kernel)
# 显示图像
fig, axes = plt.subplots(nrows=1, ncols=2, figsize=(10, 8), dpi=100)
axes[0].imshow(img[:, :, ::-1])
axes[0].set_title("原图")
axes[1].imshow(dst[:, :, ::-1])
axes[1].set_title("结果")
plt.show()