// 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正合適~
效果如下
原圖
結果圖