SeetaFace C++环境搭建(详细图文)

来源:互联网 发布:ssm网上商城源码下载 编辑:程序博客网 时间:2024/06/15 11:39

SeetaFace C++环境搭建(详细图文)


SeetaFace开源库由FaceDetection、FaceAlignment、FaceIdentification三部分组成,本文综合网上其他SeetaFace环境搭建的教程,经实践后整理出一份可行、详细的图文教程。


1. 环境准备

opencv2.4.11、VS2013(因为SeetaFace使用了一些C++ 11的新特性,因此建议在VS2013中编译)、SeetaFaceEngine源码

附:opencv2.4.11下载链接VS2013下载链接SeetaFaceEngine下载链接


2. 配置opencv环境变量

此电脑(右击)—>属性—>高级系统设置—>环境变量—>系统变量—>双击Path变量,添加opencv变量



3. 编译FaceDetection

3.1. 打开vs2013—>文件—>新建—>项目—>Visual C++—>Win32—>Win32控制台应用程序—>(输入名称,选择位置,输入解决方案名称)点击确定—>下一步—>在”应用程序类型”选择”DLL”,在“附加选项”勾选"空项目”—>完成









3.2. 将活动解决方案平台转化为X64平台

配置管理器—>新建—>选择X64平台—>确定










3.3. 将下载的FaceDetection源码中的data、include、model、src这四个文件夹copy到我们上面所建立的工程的文件夹里面


(data放最外层,SeetaFace下)




3.4. 添加cpp源文件:右击项目的源文件—>添加—>现有项。添加除“src/test”以外的所有在”src”文件夹下面的cpp文件.







3.5. 右击项目—>属性

a)VC++目录->包含目录(选择刚刚复制过来的include文件夹的路径,使用相对路径)





b)C/C++->预处理器->预处理器定义->添加”SEETA_EXPORTS和USE_OPENMP”两项



c)C/C++->语言->OpenMP支持->是



3.6. 右击项目—>生成(生成dll和lib)





4. 创建FaceDetection测试项目FaceDetectionTest

4.1. 右击解决方案名称—>添加—>新建项目—>Visual C++ —>Win32控制台应用程序—>(输入名称)确定—>下一步—>控制台应用程序,空项目—>完成。基本步骤类似3.1



4.2. 右击FaceDetectionTest项目名称—>设置为启动项目



4.3. 调整配置管理器,将活动解决方案平台调整为X64,具体步骤参照3.2


4.4. 新建用于测试的main.cpp空文件,代码复制”src/test”下的代码





4.5. 在SeetaFace文件夹下面新建lib文件夹,同时将上面第3点编译FaceDetection得到的.lib文件copy到这个文件夹里




4.6. 右击FaceDetectionTest—>属性 

a)调试—>命令参数—>输入"..\data\0_1_1.jpg ..\FaceDetection\model\seeta_fd_frontal_v1.0.bin”





b)VC++ 目录 —> 包含目录(添加opencv\build\include路径以及FaceDetection的inculde的路径) —>库目录(添加opencv\build\x64\vc12\lib路径以及SeetaFace下的lib文件夹的路径) 







c)C\C++—>预处理器—>预处理器定义 —> 添加” %(PreprocessorDefinitions)、USE_OPENMP和SEETA_EXPORTS”


d)链接器—>输入—>附加依赖项—>添加” opencv_highgui2411.lib、opencv_imgproc2411.lib、opencv_core2411.lib和在3.6中生成的FaceDetection.lib”



4.7 运行FaceDetectionTest





5. 编译FaceAlignment

详细步骤参照上面第3点,但不需要配置命令参数(上面第4.6. a),因为参数在main.cpp测试方法中写死了。


6. 创建FaceAlignment测试项目FaceAlignmentTest

6.1. 详细步骤参照上面第4点,但包含目录、库目录、附加依赖项的具体配置不同,见下图:


(注意这里也需要包含FaceDetection的include目录,因为FaceDetectionTest中有用到)





(注意这里也需要包含FaceDetection.lib,因为FaceAlignmentTest有用到)


6.2. 运行FaceAlignmentTest

运行后FaceAlignmentTest目录下会生成result.jpg结果图片





7. 编译FaceIdentification

7.1. 这个模块的编译不需要创建工程,把源码FaceIdentification文件夹copy到我们的SeetaFace解决方案下,然后打开FaceIdentification\examples中的VS解决方案文件examples.sln







7.2. 导入examples.sln后我们的SeetaFace解决方案下会多出Identification和Tester两个工程,直接编译Identification工程就可以得到Identification.dll和Identification.lib,Tester可以删掉



7.3. 同样将生成的Identification.lib copy到我们的lib目录



8. 创建FaceIdentification测试项目FaceIdentificationTest

8.1. 详细步骤参照上面第4点,但包含目录、库目录、附加依赖项的具体配置不同,见下图:







8.2. 运行FaceIdentificationTest



9. 搭建环境中遇到的问题

9.1. 发生如下报错



解决方法:属性管理器->通用属性->C/C++->预处理器->预处理器定义里添加_CRT_SECURE_NO_WARNINGS即可



10. 文中搭建好的SeetaFace下载:链接:http://pan.baidu.com/s/1gfzjK2J 密码:pl6s


11. 参考链接

开源人脸识别引擎 SeetaFaceEngine

如何根据SeetaFaceDetection教程创建自己的工程

SeetaFace教程(一) 在 VS 中的编译安装和环境配置





原创粉丝点击