opencv把一个图像的某一区域拷贝到另一个图像的某一区域

int main()
{ 
    int c;
    Mat img1 = imread("1.jpg");//500×500的图像
    Mat img2,img3,img4,img5;
    img4 = img1.clone();//将img1图像复制到img4中,此复制连同数据区域一起复制
    img3 = Mat::zeros(500,500);
    namedWindow("原图");//创建窗口
    namedWindow("ROI区域图");//创建窗口
    namedWindow("复制图");//创建窗口
    while (1)
    {
        img2 = img1(Rect(200,200,100,100));//选取img1中从(200,200)到(300,300)的ROI区域
        img5 = img3(Range(100,100+img2.rows),Range(100,100+img2.cols));//选取img3中从(100,100)开始与img2同样大小的ROI区域
        img2.copyTo(img5);//将img1图像一部分复制到img3一部分中

        imshow("复制图", img3);//显示合并后的图像
        c = waitKey(0);//等待按键按下
    }
    return 0;
}

你可能感兴趣的:(opencv)