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);
除了上面的回答之外,如果您想将一个较小的开放Mat
区域复制到另一个Mat
中,应该执行以下操作:
src(Rect(left,top,width, height)).copyTo(dst);
这种方法对我有用:
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,基于Andrey的回答。
src.copyTo(dst(Rect(left, top, src.cols, src.rows));
3个左括号和2个右括号?Mat dst_roi = dst(Rect(left, top, src.cols, src.rows);
2个左括号和1个右括号?未经测试的代码? - TimZaman