快速利用opencv合并图像

来源:互联网 发布:5g网络基础硬件建设 编辑:程序博客网 时间:2024/06/05 17:30

如果要合并两张或者多张图片,我们可以采用这样的思路,设置ROI。以合并两张大小320x240的图像为例:

A 需要创建一张640x240的图像image3。

B 把image3的ROI设置为Rect(0,0,320,240),刚好可以放一张小图像。

C 然后把小图像image1 COPY到image3中。

D 重新设置ROI,针对第二张小图像image2重复B和C的操作。

IplImage* image3 = cvCreateImage( cvSize(image1->width+image2->width,MAX(image1->height,image2->height)),IPL_DEPTH_8U,3);
CvRect rect=cvRect(0,0,image1->width,image1->height);
cvSetImageROI(image3,rect);
cvCopy(image1,image3);

cvResetImageROI(image3);
rect=cvRect(image1->width,0,image2->width,image2->height);
cvSetImageROI(image3,rect);
cvCopy(image2,image3);
cvResetImageROI(image3);
cvNamedWindow("image3");
cvShowImage("image3",image3);


引自:http://www.cnblogs.com/carekee/articles/2168926.html