当前位置:编程学习 > C/C++ >>

opencv做的美女找茬程序~

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

效果如下

原图

 

 

\


结果图

 \
 


 

补充:软件开发 , C++ ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,