OpenCV:将不同的向量附加为一行

Posted

技术标签:

【中文标题】OpenCV:将不同的向量附加为一行【英文标题】:OpenCV: append different vectors as one row 【发布时间】:2017-03-16 10:40:28 【问题描述】:

我有一个cv::Mat1f 向量,其大小为kxd。如何通过附加k 不同的1xd 向量来填充它?

我想做这样的事情:

    int k = 3, d = 3;
    cv::Mat1f testMat(1,k*d);
    for(int i=0; i<k;i++)
        cv::Mat1f partial(1,d,i);
        testMat.push_back(partial);
    

请注意,上面的示例比我的实际情况要简单得多。

【问题讨论】:

【参考方案1】:

我找到了一个解决方案,但我不知道它是否是最好的一个

    int k = 3, d = 3;
    cv::Mat1f testMat(1,k*d);
    for(int i=0; i<k;i++)
        cv::Mat1f partial(1,d,i);
        testMat.push_back(partial);
    
    testMat = testMat.reshape(1,1);

【讨论】:

以上是关于OpenCV:将不同的向量附加为一行的主要内容,如果未能解决你的问题,请参考以下文章

将openCV矩阵转换为向量

将 3D MatND 拆分为 2D Mat opencv 的向量

为啥用 Eigen 和 OpenCV 计算的 SVD 左奇异向量具有不同的符号

OpenCV 将轮廓设置为 0

在opencv中连接向量Rect [重复]

归并排序向量 c++ opencv