2013-04-08 18 views
0

Boost多维数组与OpenCV多维数组之间的区别是什么?Boost多维数组与OpenCV Mat

我在C++中实现了一个聚类算法,并且需要一个数据结构来存储数据点。它应该能够处理不同的维度数据,例如1D数据(灰度图像),3D数据(彩色图像)和N-D数据(特征选择后)。

我应该选择哪一个?看来对于OpenCV Mat,我们需要事先掌握数据的维度。

+1

如果你打算使用opencv函数,Mat应该会更好,如果你会使用更多的提升功能,你应该继续提升。 我会去图书馆,我更有经验。 – 2013-04-08 23:56:33

+0

但是对于mat openCV,你必须预先定义通道的数量。没有办法让一个单一的功能可以正确处理一维,三维或N-D数据? – 2013-04-09 22:23:15

回答

1

正如perfanoff所说,我会选择你最有信心的图书馆,以及你将在代码中使用哪些图书馆。除此之外,鉴于您正在处理图像数据,OpenCV似乎是更好的选择。

OpenCV Mat容器可以返回它们的type,所以你的函数可以检查矩阵是否有1个通道,3个通道或N-D数据。您也可以使用element size函数查找通道数量。

作为一个免责声明,我对Boost多维数组没有多少经验。