解释cv2.filter2d()opencv中的ddepth参数?

npk*_*pkp 6 opencv

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()
Run Code Online (Sandbox Code Playgroud)

我正在尝试使图片平滑,但我不了解cv2.filter2d()的ddepth参数,其中值为-1。那么-1做什么,而且ddpeth意味着什么?

WY *_*Hsu 6

深度

ddepth 表示目标图像的所需深度

它具有有关图像中存储的数据类型的信息,可以是无符号char(CV_8U),有符号char(CV_8S),无符号short(CV_16U)等。

类型

至于类型,该类型的信息由2个值组成:

图像深度 + 通道数

它可以是例如CV_8UC1(其等于CV_8U), ,CV_8UC2CV_8UC3CV_8SC1其等于CV_8S)等

进一步阅读

要进行更多讨论,可以在以下两篇文章中找到


Mik*_*iki 5

您可以在代表“目标深度”文档中看到,它是结果(目标)图像的深度。ddepth

如果使用-1,则结果(目标)图像的深度将与输入(源)图像的深度相同。