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