import cv2
import numpy as np
from matplotlib import pyplot as plt
img = cv2.imread('logo.png')
kernel = np.ones((5, 5), np.float32) / 25
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')
plt.xticks([]), plt.yticks([])
plt.show()
我正在尝试对图片进行平滑处理,但我不理解 cv2.filter2d() 的 ddepth 参数,其中值为 -1。那么 -1 是做什么的以及 ddpeth 是什么意思?
最佳答案
深度
ddepth
表示目标图像的所需深度
它包含有关图像中存储的数据类型的信息,可以是 unsigned char (CV_8U
)、signed char (CV_8S
)、unsigned short (CV_16U
), 等等...
类型
至于类型,类型具有由 2 个值组合而成的信息:
图像深度 + channel 数。
它可以是例如CV_8UC1
(等于CV_8U
)、CV_8UC2
、CV_8UC3
、CV_8SC1
(等于CV_8S
)等
进一步阅读
更多的讨论可以看下面两篇文章
关于opencv - cv2.filter2d() opencv 中 ddepth 参数的解释?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43392956/