使用小数组制作长矢量(列矩阵)

时间:2012-05-14 09:40:06

标签: c++ opencv

我正在尝试制作一个包含数组元素的向量(特征向量)。

假设我在第一次迭代中有一个大小为arr1的数组nx1。我必须将此数组元素添加到大小为CvMat的{​​{1}}矩阵featureVect

在下一次迭代中,我有一个大小为2*n x 1的数组arr2,现在我必须将此数组从行nx1添加到featureVectn+1 (使用一个基于索引)

假设我有

2*n

现在我希望结果看起来像这样(其中int arr1[4] = {1, 2, 3, 4}; int arr2[4] = {5, 6, 7, 8}; CvMat *featureVect; 是一个列矩阵)

featureVect

1 个答案:

答案 0 :(得分:1)

如果您在OpenCV中使用C ++,我会推荐Mat类。然后,

Mat featureVect(8,1,CV_32S); //CV_32s <=> int (32-bit signed integer)
const int n = 4;
for(int i = 0; i < n; ++i) 
{
   featureVect.at<int>(i,0)     = arr1[i];
   featureVect.at<int>(i+n,0) = arr2[i];
}