简体   繁体   English

如何在OpenCV中用图像填充向量? C ++

[英]How to fill vector with images in OpenCV? C++

I created vector std::vector<cv::Mat> main_layers; 我创建了向量std::vector<cv::Mat> main_layers; placed in a class. 放在班上。 The vector has not been initiated yet. 该载体尚未启动。 I have also public member cv::Mat source; 我也有公共成员cv::Mat source; initiated in constructor initiation list. 在构造函数启动列表中启动。 Now I have a copy method to copy segments of the image to main_layers: 现在,我有一个copy方法将图像的片段复制到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);
            }
        };
    };

Here I have error: gaussian.cpp(133): error C2664: 'void cv::Mat::copyTo(cv::OutputArray) const' : cannot convert parameter 1 from 'std::_Vector_iterator<_Myvec>' to 'cv::OutputArray' on line with copyTo . 我在这里gaussian.cpp(133): error C2664: 'void cv::Mat::copyTo(cv::OutputArray) const' : cannot convert parameter 1 from 'std::_Vector_iterator<_Myvec>' to 'cv::OutputArray'错误: gaussian.cpp(133): error C2664: 'void cv::Mat::copyTo(cv::OutputArray) const' : cannot convert parameter 1 from 'std::_Vector_iterator<_Myvec>' to 'cv::OutputArray'copyTo一致 How can I get the array from the current image in vector? 如何从向量中的当前图像获取数组? With regards to C++98, using Visual Studio 2010. 关于C ++ 98,请使用Visual Studio 2010。

Works perfectly 完美运作

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));
            }
        };
};

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM