opencv 训练人脸对比_基于Opencv的人脸检测及识别

这篇博客介绍了如何使用OpenCV进行人脸识别,包括从摄像头抓取图片、读取存储的图片、检测人脸、以及利用感知哈希算法匹配最相似的人脸图片。作者通过C++在Visual Studio 2010环境下实现这一功能,并详细讲述了配置OpenCV的过程和代码实现。
摘要由CSDN通过智能技术生成

一、实验目的:我这里完成的是,将8张人脸图片(4组,每组两张)存入库中,选取1张图片,程序识别出与其匹配的另一张。

这里介绍分三个步骤完成该工作,①程序读取摄像头、拍照

②程序从电脑文档中读取图片

③检测人脸,并用红框框出人脸

④使用感知哈希算法匹配最相似的图片

二、实验环境: Win 7(x64)、visual studio 2010、openCV-2.4.3

使用语言:C++

三、实验准备:①安装好vs2010,本文不予介绍。

②配置opencv :

1'进入官网下载http://opencv.org/  (OpenCv 2.4x是支持Vs2010的,建议根据自己的Vs版本安装相应的OpenCv的版本)解压后,目录如下:

2'打开vs2010,创建项目,这里以我的工程名test为例。右击项目->属性->vc++目录->包含目录, 添加三个路径:(在解压后opencv下的build目录)

E:\新建文件夹\opencv\build\include

E:\新建文件夹\opencv\build\include\opencv

E:\新建文件夹\opencv\build\include\opencv2

然后点击库目录,添加路径:E:\新建文件夹\opencv\build\x86\vc10\lib

配置好了后,第二步,点击链接器->输入->附加依赖项,编辑添加,把E:\新建文件夹\opencv\build\x86\vc10\bin里面左右的文件名称全导入进去,导入带d的文件,比如有opencv_calib3d243.dll与opencv_calib3d243d.dll文件,只需添加后者带d的即可。

至此,openCV配置已经全部完成。接下来编写代码。

四、编写代码

①为了收集图片库,我编写了直接拍照的功能,按下p进行拍照,并自动命名排序存到文件中。

#include #include#include

using namespacecv;int main( int argc, char**argv )

{int i=1;//照片名从1开始命名

while(1)

{

CvCapture*pCapture=cvCreateCameraCapture(-1);//打开摄像头

Mat image=cvQueryFrame(pCapture); //将摄像头拍的以图片形式展现

cvNamedWindow("frame",1); //命名一个窗口

imshow("frame",image); //在窗口显示图片

string filename=format("C:\\images\\

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值