OpenCV实现将两幅图像拼接在一起

下面是几个知识点:

(1)路径的设置方式:通常情况下,需要把包含图片的文件夹保存到工程目录下,也就是保证和Debug在同一个根目录下面;

(2)cvSetImageROI函数和cvCopy函数的用法:

cvSetImageROI(IplImage*dst,cvRect(左边界,上边界,宽度,高度))。他的作用是把图像在图像dst中开辟出cvRect矩形框区域大小的内存空间,然后cvCopy(IplImage*src,IplImage*dst)函数会将源图像src复制到目标图像dst中。

 

参考代码:

#include
#include

int main(int argc, char* argv[])
{
    IplImage* src1 ;
    IplImage* src2 ;
    IplImage* des ;

     src1 = cvLoadImage("111.jpg",0);
     src2 = cvLoadImage("222.jpg",0);
   
    des = cvCreateImage(cvSize(1200,450),src1->depth, src1->nChannels);

 
  
    //----------------------------------
    //载入原图像到目标图像
    cvSetImageROI(des, cvRect(0, 0, 600, 450));
    cvCopy(src1, des);
 cvResetImageROI(des);
 cvSetImageROI(des, cvRect(600, 0, 600, 450));
    cvCopy(src2, des);
    cvResetImageROI(des);
   
    cvNamedWindow("图像合并",1);
    cvShowImage("图像合并", des);
    cvWaitKey(0);

    cvReleaseImage(&src1);
    cvReleaseImage(&src2);
    cvReleaseImage(&des);


    cvDestroyWindow("图像合并");
    return 0;
}

 

运行结果:

你可能感兴趣的:(MFC学习资料,OPENCV学习之路)