利用opencv合并图像

如果要合并两张或者多张图片,我们可以采用这样的思路,设置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://hi.baidu.com/rockyzhou1984/blog/item/267961fdf20e478ab901a0e0.html/cmtid/bf8a036f4f90acd181cb4aa5

 

你可能感兴趣的:(c,image)