Скопируйте cv :: Mat внутри ROI другого

Мне нужно скопироватьcv::Mat изображение (источник) для ROI другого (назначение)cv::Mat образ.

я нашелэта ссылка, но, похоже, это не работает для моего случая. Есть ли у вас какие-либо указания, как я могу сделать это с помощью интерфейса OpenCV C ++?

Ответы на вопрос(3)

В дополнение или исправление вышеупомянутых ответов, если вы хотите скопировать меньшую область открытых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 Основано на ответе Андрея.

Решение Вопроса

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

Ваш ответ на вопрос