如何在OpenCV中填充图像矢量?c++

How to fill vector with images in OpenCV? C++

本文关键字:c++ 图像 填充 OpenCV      更新时间:2023-10-16

我创建了向量std::vector<cv::Mat> main_layers;放在一个类中。矢量还没有启动。我还在构造函数初始化列表中初始化了公共成员cv::Mat source;。现在我有一个复制方法来复制图像的片段到main_layers:

void copy(){
    Rect roi;           
    auto primarySegment = main_layers.begin();
    for (int c = 0; c< primaryKernelsLoad; c++)
        {
        if (heightPriority)
            {
            roi = Rect(0, c, size.width, segment1Size);
            source(roi).copyTo(primarySegment);
            auto nx = std::next(primarySegment, 2);
            }
        };
    };

这里我有错误:gaussian.cpp(133): error C2664: 'void cv::Mat::copyTo(cv::OutputArray) const' : cannot convert parameter 1 from 'std::_Vector_iterator<_Myvec>' to 'cv::OutputArray' online with copyTo。我怎么能得到数组从目前的图像在矢量?关于c++ 98,使用Visual Studio 2010。

效果良好

void copy(){
    Rect roi;           
    for (int c = 0; c< primaryKernelsLoad; c++)
        {
        if (heightPriority)
            {
            roi = cv::Rect(0, c, size.width, segment1Size);
            main_layers.push_back(source(roi));
            }
        };
};