【发布时间】:2017-06-02 23:09:51
【问题描述】:
在 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 列)可以存储在单通道 5x3 矩阵或具有三个通道的 5x1 矩阵中。更具体地说,对于这个例子,data 的两个定义都可以完成这项工作:
cv::Mat data(5, 3, CV_8UC1);
cv::Mat data(5, 1, CV_8UC3);
我的问题是:是否有理由从上面选择一个声明而不是另一个?
P.S.:这是一个普遍的疑问,而不是针对特定问题的问题。
【问题讨论】:
-
如果可以有4列以上,最好按照第一种方法。
-
两种方法之间是否存在一些性能差异?
-
不,数据在内存中的布局方式相同。