J'ai besoin de copier un cv::Mat
image (source) vers une ROI d’une autre (destination) cv::Mat
image.
J'ai trouvé cette référence , mais il semble que cela ne fonctionne pas pour mon cas. Avez-vous des indications sur comment faire cela en utilisant l'interface OpenCV C++?
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);
En plus de la correction apportée aux réponses ci-dessus, si vous souhaitez copier une plus petite région d’ouverture Mat
dans un autre Mat
, vous devez procéder comme suit:
src(Rect(left,top,width, height)).copyTo(dst);
Cela a-t-il fonctionné pour moi
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();
J'utilise Opencv 2.4.9 Basé sur la réponse d'Andrey.