Opencv图像处理(读取图像以及简单合并)

#include<opencv2/opencv.hpp>


using namespace cv;
void main()
{
/*//读取图像并显示
IplImage* src;
src=cvLoadImage("Lena.jpg",0);//这里的lena.jpg和lena.cpp文件放在同一文件夹下1:默认读取图像原通道数。0:强制转换读取图像为灰度图。-1:读取彩色图像
cvNamedWindow("lena",CV_WINDOW_AUTOSIZE);//创建窗口
cvShowImage("lena",src);//显示图像
cvWaitKey(0);
cvDestroyWindow("lena");//销毁窗口
cvReleaseImage(&src);*///释放图像


//创建保存复制图像
IplImage* pImg;
pImg=cvLoadImage("Lena.jpg");


IplImage* pImg1=cvCreateImage(cvGetSize(pImg),pImg->depth,pImg->nChannels);//创建同样大小的图片
IplImage* pImg2=cvCreateImage(cvGetSize(pImg1),pImg->depth,pImg->nChannels);//创建同样大小的图片
IplImage* pImg3=cvCreateImage(cvGetSize(pImg1),pImg->depth,pImg->nChannels);//创建同样大小的图片
IplImage* pImg4=cvCreateImage(cvGetSize(pImg1),pImg->depth,pImg->nChannels);//创建同样大小的图片

cvCopy(pImg,pImg1,NULL);//复制图片
cvSaveImage("Lena1.jpg",pImg1);//把图片写入文件
//cvSaveImage("Lena1.bmp",pImg1);
//cvSaveImage("Lena1.png",pImg1);
//cvNamedWindow("lena1",CV_WINDOW_AUTOSIZE);
//cvShowImage("lena1",pImg1);


cvCopy(pImg,pImg2,NULL);//复制图片
cvSaveImage("Lena2.jpg",pImg2);//把图片写入文件


cvCopy(pImg,pImg3,NULL);//复制图片
cvSaveImage("Lena3.jpg",pImg3);//把图片写入文件


cvCopy(pImg,pImg4,NULL);//复制图片
cvSaveImage("Lena4.jpg",pImg4);//把图片写入文件


//合并图像
IplImage* pDstImg;
pDstImg=cvCreateImage(cvSize(pImg1->width+pImg2->width ,pImg1->height+pImg2->height),IPL_DEPTH_8U,3);
CvRect rect; 

rect=cvRect(0,0,pImg1->width,pImg1->height);
cvSetImageROI(pDstImg,rect);
cvCopy(pImg1,pDstImg);
cvResetImageROI(pDstImg);

rect=cvRect(pImg1->width,0,pImg2->width,pImg2->height);
cvSetImageROI(pDstImg,rect);
cvCopy(pImg2,pDstImg);
cvResetImageROI(pDstImg);

rect=cvRect(0,pImg1->height,pImg3->width,pImg3->height);
cvSetImageROI(pDstImg,rect);
cvCopy(pImg3,pDstImg);
cvResetImageROI(pDstImg);


rect=cvRect(pImg1->width,pImg1->height,pImg4->width,pImg4->height);
cvSetImageROI(pDstImg,rect);
cvCopy(pImg4,pDstImg);
cvResetImageROI(pDstImg);


cvNamedWindow("dstiamge");
cvShowImage("dstiamge",pDstImg);
cvSaveImage("dstImg.jpg",pDstImg);


cvWaitKey(0);
cvDestroyWindow("lena1");
cvDestroyWindow("dstiamge");


cvReleaseImage(&pImg1);
cvReleaseImage(&pImg2);
cvReleaseImage(&pImg3);
cvReleaseImage(&pImg4);
cvReleaseImage(&pDstImg);

}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值