Concatenating vector Rect in opencv
本问题已经有最佳答案,请猛点这里访问。
我有两个矩形向量
1 2 | std::vector<cv::Rect>faces; std::vector<cv::Rect>windows; |
我需要将窗口与面连接起来…为此,我将代码编写为
1 2 3 4 5 6 | int fsize=faces.size(); for(int i=0;i<windows.size();i++) { faces[fsize]=windows[i]; fsize++; } |
但我觉得这段代码会产生分段错误……有人知道……或者任何内置函数吗??
使用插入:
1 | faces.insert(faces.end(), windows.begin(), windows.end()); |
或移动内容:
1 2 | faces.insert(faces.end(), std::make_move_iterator(windows.begin()), std::make_move_iterator(windows.end())); |
你用
如果你真的是指
1 2 | faces.reserve(faces.size() + windows.size()); faces.insert(faces.end(), windows.begin(), windows.end()); |