openCV:将垫子保存到矢量<int><矢量>

openCV: Saving Mat to vector<vector<int> >

本文关键字:lt gt int 矢量 保存 openCV      更新时间:2023-10-16

我有一个名为myimage的cv ::我想保存到std :: vector> name savedvec。这是我编写的代码:

for (int i = 0; i < myImage.rows; ++i)
{
    std::vector<int> row(myImage.cols);
    for (int j = 0; j < myImage.cols; ++j)
    {
        row.push_back(Play::getInstance()->getFinder()->getImage().at<uchar>(i, j));
    }
    savedVec.push_back(row);
}

我的问题现在是savedVec[0].size()的产量是Myimage.cols的两倍,但是由于它们应该是相同的,不是吗?
请告诉我我做错了什么。

根据C 参考,调用push_back将元素附加到向量上,因此它从末端增加了大小

因此,您的大小至少为2*cols。您应该初始化一个空矢量。或使用[]操作员。