利用opencv合併影象

weixin_33816946發表於2011-09-06

如果要合併兩張或者多張圖片,我們可以採用這樣的思路,設定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);

相關文章