人脸视频检索系统设计(C++)
创始人
2024-01-20 17:26:34
0

目录
人脸检索系统框架的构建 1
一.软件实现的主要界面 1
二.软件的需求概括 1
三.软件代码设计过程中需要注意的问题 2
四.程序到目前为止产生的诸多缺陷 4
五.程序的详细设计过程 4
1.输入部分的设计 4
2.检测结果部分的设计过程 10

人脸检索系统框架的构建
------FaceMFC_v1
一.软件实现的主要界面
软件的主要界面如图1.1所示,从程序的主界面可以看出整个系统主要由两大模块构成,包括:人脸的输入和检测模块,以及人脸识别和检索模块。按照组成部分可以将整个系统分成六个部分:包括:1.输入部分,2.检测结果,3.视频操作,4.信息配置,5.输出结果,6.软件简介。
在这里插入图片描述

图1.1 人脸检索系统主界面
二.软件的需求概括
软件主要的功能部分:
(1):能够打开读取任何BMP或者JPG图像,并将图像显示到固定空间上。(2):能够在控件上通过鼠标操作实现任意图像大小的剪裁,并实现剪裁后的图片显示。
(3):能够对任意一幅图像进行人脸检测,包括对图像剪裁之后,只对剪裁区域进行人脸检测。
(4):图像的重新加载,任何图像都与可能误操作,此时可以通过重新加载来实现数据恢复到原始的读入时的图像数据,包括实施剪裁的数据的清空。(5):图像信息的显示,主要是指一些简单的图像信息,包括图像的宽度、高度以及位深。
(6):人脸教案车结果的显示,就是将提供带检测的图像中人脸区域找出,并将其显示到指定的控件中,在此系统中并没有将全部检测到的人脸显示出来,不能动态显示(可以作为其缺钱在后面再叙述)。
(7):能够打开Xvid编码格式的avi视频文件,并获得视频文件的相关信息,并且通过制定控件查看,只包括简单的视频长度和宽度以及帧速率。
(8):能够实现简单的视频操作,包括视频在指定的控件上播放,能在暂停和播放模式之间切换.播放时能够显示相应的信息,包括总的视频时间长度,播放的动态时间显示,滑动条显示播放进度。
(9):人脸检索主要是对从视频中抓取的一帧图像进行人脸检测,并对其与检测输入选择的人脸进行识别,识别过程主要是计算所有人脸的欧式距离,默认距离最小值为识别的结果。
(10):可以进行检索之前的信息配置,本文转载自http://www.biyezuopin.vip/onews.asp?id=11024包括对视频检索步长的选取,以及检索时间段的选取。
(11):显示视频中最像待识别人脸的12个结果,每次显示六个结果,通过“上”“下”按键可以选择循环显示。
(12):能够对检测结果进行跟踪,即找出每个检索结果所在视频帧,以及相对应的时间,可以直接在原视频中查看原始图像。
(13):显示软件的相关介绍。
(14):所有显示图像的窗口都必须实现重绘的功能,就是在窗口最小化或被遮掩之后恢复之后原图的显示不会出现任何问题。

#include "cv.h"
#include "highgui.h"
#include "cxcore.h"
#include "stdafx.h" #include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#define DEFAULT_CASCADE_NAME "C:\\Program Files\\OpenCV\\data\\haarcascades\\haarcascade_frontalface_alt2.xml"#ifdef _EiC
#define WIN32
#endif//int detect_and_draw( IplImage* image ,CvHaarClassifierCascade* cascade);static CvMemStorage* storage = 0;
static CvHaarClassifierCascade* cascade = 0;
//static CvHaarClassifierCascade* cascade =  (CvHaarClassifierCascade*)cvLoad ( DEFAULT_CASCADE_NAME, 0, 0, 0 );//void detect_and_draw( IplImage* image );const char* cascade_name ="../debug/haarcascade_frontalface_alt2.xml";
//cascade = (CvHaarClassifierCascade*)cvLoad (cascade_name, 0, 0, 0 );
/*    "haarcascade_profileface.xml";*//*int detect_and_draw( IplImage* img,CvHaarClassifierCascade* cascade )
{storage = cvCreateMemStorage(0);//AfxMessageBox("hi,you!");int scale = 1;IplImage* temp = cvCreateImage( cvSize(img->width/scale,img->height/scale), 8, 3 );CvPoint pt1, pt2;int i,N=0;//cvPyrDown( img, temp, CV_GAUSSIAN_5x5 );cvClearMemStorage( storage );//cvEqualizeHist(small_img,small_img);//AfxMessageBox("3");//cvClearMemStorage( storage );//AfxMessageBox("4");if( cascade ){//AfxMessageBox("cascade Loaded!");CvSeq* faces = cvHaarDetectObjects( img, cascade, storage,1.1, 2, CV_HAAR_DO_CANNY_PRUNING,cvSize(40, 40));//AfxMessageBox("Wrong!");N=faces ? faces->total:0;for( i = 0; i < (faces ? faces->total : 0); i++ ){CvRect* r = (CvRect*)cvGetSeqElem( faces, i );pt1.x = r->x*scale;pt2.x = (r->x+r->width)*scale;pt1.y = r->y*scale;pt2.y = (r->y+r->height)*scale;cvRectangle( img, pt1, pt2, CV_RGB(255,0,0), 3, 8, 0 );}}else{AfxMessageBox(cascade_name);}cvNamedWindow("result",1);cvShowImage( "result", img );return N;//cvDestroyWindow("result");//AfxMessageBox("4");//cvReleaseImage( &gray );//cvReleaseImage( &small_img );
}*///把IplImage转化为CBitmap类型
HBITMAP Ipl2Bmp(IplImage *img)
{HBITMAP hBitmap;hBitmap=CreateBitmap(img->width, img->height,img->nChannels*8, 1, NULL);SetBitmapBits(hBitmap, img->imageSize, img->imageData);return hBitmap;
}

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

相关内容

热门资讯

喜欢穿一身黑的男生性格(喜欢穿... 今天百科达人给各位分享喜欢穿一身黑的男生性格的知识,其中也会对喜欢穿一身黑衣服的男人人好相处吗进行解...
发春是什么意思(思春和发春是什... 本篇文章极速百科给大家谈谈发春是什么意思,以及思春和发春是什么意思对应的知识点,希望对各位有所帮助,...
网络用语zl是什么意思(zl是... 今天给各位分享网络用语zl是什么意思的知识,其中也会对zl是啥意思是什么网络用语进行解释,如果能碰巧...
为什么酷狗音乐自己唱的歌不能下... 本篇文章极速百科小编给大家谈谈为什么酷狗音乐自己唱的歌不能下载到本地?,以及为什么酷狗下载的歌曲不是...
华为下载未安装的文件去哪找(华... 今天百科达人给各位分享华为下载未安装的文件去哪找的知识,其中也会对华为下载未安装的文件去哪找到进行解...
怎么往应用助手里添加应用(应用... 今天百科达人给各位分享怎么往应用助手里添加应用的知识,其中也会对应用助手怎么添加微信进行解释,如果能...
家里可以做假山养金鱼吗(假山能... 今天百科达人给各位分享家里可以做假山养金鱼吗的知识,其中也会对假山能放鱼缸里吗进行解释,如果能碰巧解...
一帆风顺二龙腾飞三阳开泰祝福语... 本篇文章极速百科给大家谈谈一帆风顺二龙腾飞三阳开泰祝福语,以及一帆风顺二龙腾飞三阳开泰祝福语结婚对应...
美团联名卡审核成功待激活(美团... 今天百科达人给各位分享美团联名卡审核成功待激活的知识,其中也会对美团联名卡审核未通过进行解释,如果能...
四分五裂是什么生肖什么动物(四... 本篇文章极速百科小编给大家谈谈四分五裂是什么生肖什么动物,以及四分五裂打一生肖是什么对应的知识点,希...