程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> opencv做的美女找茬程序~

opencv做的美女找茬程序~

編輯:C++入門知識

// 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正合適~

效果如下

原圖

 

 

\


結果圖

 \
 


 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved