// CMP.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include <cv.h> #include <highgui.h> #include <stdio.h> int _tmain(int argc, _TCHAR* argv[]) { IplImage *pSrc = cvLoadImage("33333.jpg", 1); CvSize size= cvSize(509,738);//区域大小 cvSetImageROI(pSrc,cvRect(0,0,size.width, size.height));//设置源图像ROI IplImage* pDest1 = cvCreateImage(size,pSrc->depth,pSrc->nChannels);//创建目标图像 cvCopy(pSrc,pDest1); //复制图像 cvResetImageROI(pDest1);//源图像用完后,清空ROI cvSaveImage("1.jpg",pDest1);//保存目标图像 cvSetImageROI(pSrc,cvRect(509,0,size.width, size.height));//设置源图像ROI IplImage* pDest2 = cvCreateImage(size,pSrc->depth,pSrc->nChannels);//创建目标图像 cvCopy(pSrc,pDest2); //复制图像 cvResetImageROI(pDest2);//源图像用完后,清空ROI cvSaveImage("2.jpg",pDest2);//保存目标图像 IplImage *dst; dst = cvCreateImage(cvGetSize(pDest1),pDest1->depth,pDest1->nChannels); cvSub(pDest1,pDest2,dst); cvNamedWindow( "Alpha_blend", 1 ); cvShowImage( "Alpha_blend", dst ); cvWaitKey(); return 0; }
菜鸟一枚……
只是用opencv做的比较左右两幅图片的RGB值
首先用截图生成的图片截取为两幅图片,然后进行比较
原图是1024*738 原本分开的两幅图是两个512.。。但是因为边框的原因,经过测试发现平移量是509正合适~
效果如下
原图
结果图