我需要将cv::Mat
图片(来源)复制到另一张(目标)cv::Mat
图片的投资回报率。
我找到了this reference,但似乎它对我的情况不起作用。 你有什么指针我怎么能用OpenCV C ++接口做到这一点?
答案 0 :(得分:72)
OpenCV 2.4:
src.copyTo(dst(Rect(left, top, src.cols, src.rows)));
OpenCV 2.x:
Mat dst_roi = dst(Rect(left, top, src.cols, src.rows));
src.copyTo(dst_roi);
答案 1 :(得分:8)
除了或更正上述答案外,如果您想将较小的开放Mat
区域复制到另一个Mat
,您应该这样做:
src(Rect(left,top,width, height)).copyTo(dst);
答案 2 :(得分:7)
以这种方式为我工作:
Mat imgPanel(100, 250, CV_8UC1, Scalar(0));
Mat imgPanelRoi(imgPanel, Rect(0, 0, imgSrc.cols, imgSrc.rows));
imgSrc.copyTo(imgPanelRoi);
imshow("imgPanel", imgPanel);
waitKey();
我正在使用Opencv 2.4.9 根据安德烈的回答。