// 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正合适~
效果如下
原图
结果图