Copy an cv::Mat inside a ROI of another one

前端 未结 3 1046
暖寄归人
暖寄归人 2020-11-27 14:58

I need to copy a cv::Mat image (source) to an ROI of another (Destination) cv::Mat image.

I found this reference, but it seems that it does

相关标签:
3条回答
  • 2020-11-27 15:21

    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);
    
    0 讨论(0)
  • 2020-11-27 15:32

    In addition or correction to above answers, if you want to copy a smaller region of open Mat to another Mat, you should do:

    src(Rect(left,top,width, height)).copyTo(dst);
    
    0 讨论(0)
  • 2020-11-27 15:36

    Did work for me this way:

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

    I am using Opencv 2.4.9 Based on Andrey's answer.

    0 讨论(0)
提交回复
热议问题