图像合成: cvSetImageROI 与 cvCopy

实现将文件夹下50幅图片合并到一幅图片中,保存并显示。

    IplImage* gray2 ; //    IplImage* srcImg ;    IplImage* dstImg ;    IplImage* ResultImg;int QRCodeLocalizer::ImageUnite(void ){int ImageWidth,ImageHeight;int count=0;srcImg = cvLoadImage("/home/agv/QrProcess/QrCodeProcess/data/output/qr60.jpg");ImageWidth = srcImg->width;ImageHeight = srcImg->height;CvSize dstSize;dstSize.width = srcImg->width *10.0;dstSize.height = srcImg->height *5.0;dstImg = cvCreateImage(dstSize, srcImg->depth, srcImg->nChannels);ResultImg = cvCreateImage(dstSize, srcImg->depth, srcImg->nChannels);for (int ii=50;ii<100;ii++){char ImageName[100];sprintf(ImageName,"%s%d%s", "/home/agv/QrProcess/QrCodeProcess/data/output/qr",ii, ".jpg");//保存的图片名IplImage* srcImg = cvLoadImage(ImageName);cvSetImageROI(dstImg, cvRect(srcImg->width*(count%10),srcImg->height*(count/10), srcImg->width, srcImg->height));cvCopy(srcImg, dstImg);cvResetImageROI(dstImg);count++;}cvSaveImage("./output/Unite.png",dstImg);cvShowImage("testwindow2",dstImg) ;cv::waitKey(10);}1. 文件路径与图片名问题。

2. 图片尺寸大小的设计。

3. 开辟内存合并操作。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

cvSetImageROI函数和cvCopy函数的用法:

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

原来和文字沾上边的孩子从来都是不快乐的,

图像合成: cvSetImageROI 与 cvCopy

相关文章:

你感兴趣的文章:

标签云: