SeetaFace C++环境搭建(详细图文)
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. 参考链接
如何根据SeetaFaceDetection教程创建自己的工程
SeetaFace教程(一) 在 VS 中的编译安装和环境配置