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

标签 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()

我正在尝试对图片进行平滑处理,但我不理解 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_8UC2CV_8UC3CV_8SC1(等于CV_8S)等

进一步阅读

更多的讨论可以看下面两篇文章

关于opencv - cv2.filter2d() opencv 中 ddepth 参数的解释?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43392956/

相关文章:

android - 如何在opencv中将一个矩形放置在相机框架的中心

iPhone OpenCV 人脸检测

java OpenCV 找到 k 最近邻 c++ 到 java 的转换

c++ - opencv namedWindow 泄漏(c++ 和 opencv)

c++ - OpenCV scorebox检测和提取

c++ - OpenCV:C++ API 和 C API 在功能或速度上有区别吗?

python - 直方图计算中的数组更改值逻辑

通过 SSH 运行的 Python OpenCV 脚本(请求失败的 X 错误 : BadRequest)

c++ - 从 QT 资源加载 openCV Haar Cascade

python - 如何在 BGR 图像中添加特定值的 Alpha channel