一、首先要感谢于老师的分享。
二、此教程只是方便像我这样编程小白入门使用,若有不足之处,请原谅。
网上对libfacedetection的介绍已经很多了,我在这里就不进行多余的解释,直接进入主题。
下载地址:https://github.com/ShiqiYu/libfacedetection
环境:vs2017+opencv2.4.13
步骤:
1、建一个工程,并完成opencv配置.。(关于opencv配置网上也有很多教程,这里也不进行过多介绍。)
2、将下载的好的文件中将前四个文件夹拷贝至你的工程目录中。
3、vs2017工程目录添加文件,添加后如图所示。(一定要添加完成,不然会有报错。)
报错:
undefined reference to `facedetect_cnn(unsigned char*, unsigned char*, int, int, int)'
4、添加预编译定义。项目->属性->c/c++->预编译器->预编译定义添加 __WIN__ 和 _WINDOWS。防止编译报错
报错:
1>d:\workspace\workspace_vs\facedetect\facedetect\facedetectcnn.cpp(120): error C2676: 二进制“[”:“__m256”不定义该运算符或到预定义运算符可接收的类型的转换
1>d:\workspace\workspace_vs\facedetect\facedetect\facedetectcnn.cpp(121): error C2676: 二进制“[”:“__m256”不定义该运算符或到预定义运算符可接收的类型的转换
1>d:\workspace\workspace_vs\facedetect\facedetect\facedetectcnn.cpp(982): error C2676: 二进制“[”:“__m256”不定义该运算符或到预定义运算符可接收的类型的转换
1>d:\workspace\workspace_vs\facedetect\facedetect\facedetectcnn.cpp(983): error C2676: 二进制“[”:“__m256”不定义该运算符或到预定义运算符可接收的类型的转换
5、将主函数替换。打开e'xample/libfacedetectcnn-example.cpp,将里边的代码复制至你的主函数。建议将测试图像更改一下,这样不用配置属性。
运行结果: