gpt4 book ai didi

c++ - OpenCV 中的多 channel 或多列矩阵

转载 作者:行者123 更新时间:2023-11-27 23:57:12 25 4
gpt4 key购买 nike

在 OpenCV 中,我正在处理一些如下所示的数据:

//label     A    B    C
// 0 1 2 0
// 1 2 1 1
// 2 3 0 4
// 3 4 2 3
// 4 1 1 1

此数据(A、B 和 C 列)可以存储在单 channel 5x3 矩阵或具有三个 channel 的 5x1 矩阵中。更具体地说,对于这个例子,data 的两个定义都将完成这项工作:

cv::Mat data(5, 3, CV_8UC1);
cv::Mat data(5, 1, CV_8UC3);

我的问题是:是否有理由选择上面的声明之一而不选择另一个?

P.S.:这是一个普遍的疑问,不是针对特定问题的提问。

最佳答案

这真的取决于你想用这些数据做什么。
某些 OpenCV 操作在单个像素平面上更容易执行,但其他操作可能面向多 channel 。

我猜想单平面 (C1) 更适合大多数情况,尽管您可以使用 cv::reshape() 轻松切换表示。事实上,选择任何一个并使用 reshape() 生成同一内存的另一个 View 。

关于c++ - OpenCV 中的多 channel 或多列矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41721683/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com