您的位置:首页 > 运维架构

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

2013-01-08 19:49 537 查看
下面是几个知识点:

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

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

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

参考代码:

#include <cv.h>

#include <highgui.h>

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;

}

运行结果:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: