OPENCV人脸检测学习笔记【入门级别】

来源:互联网 发布:佛山公交线路查询软件 编辑:程序博客网 时间:2024/06/05 08:43
刚开始打算用JAVA调用OPENCV进行人脸检测,但发现配置起来的难度实在略高啊。如果用JAVA写的话,推荐直接使用FACE++。
本篇文章里,PO主使用VS2010用C++调用OPENCV进行人脸检测。
以下是PO主在实践过程中遇到的问题及笔记,希望对大家有帮助。


1、安装及配置OPENCV:
http://blog.csdn.net/morewindows/article/details/8225783


2、
出现错误:
1>LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
解决方案:
项目\属性\配置属性\清单工具\输入和输出\嵌入清单:原来是“是”,改成“否”。


3、1>LINK : fatal error LNK1104: 无法打开文件“opencv_calib3d240d.lib”
解决办法:
opencv_calib3d240d.lib
opencv_contrib240d.lib
opencv_core240d.lib
opencv_features2d240d.lib
opencv_flann240d.lib
opencv_gpu240d.lib
opencv_highgui240d.lib
opencv_imgproc240d.lib
opencv_legacy240d.lib
opencv_ml240d.lib
opencv_objdetect240d.lib
opencv_ts240d.lib
opencv_video240d.lib


是OPENCV版本不一致,把240改成244


4、目前参考这篇文章:VS2010+Opencv-2.4.0的配置攻略
http://www.cnblogs.com/freedomshe/archive/2012/04/25/2470540.html


5、 fatal error LNK1112: 模块计算机类型“x64”与目标计算机类型“X86”冲突
解决方法:
因为机器是64位机器,所以在工程的配置管理器上要选择x64方式,而不是win32。


6、 fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏


终极解决方案:
VS2010在经历一些更新后,建立Win32 Console Project时会出“error LNK1123” 错误,解决方案为将 项目|项目属性|配置属性|清单工具|输入和输出|嵌入清单 “是”改为“否”即可,但是没新建一个项目都要这样设置一次。
在建立VS2010 Win32 Project项目时,按照上面解决方案依然发生了“error LNK1123”错误,经过上网查资料,解决方案为:
第一步:与上相同。
第二步:将 项目|项目属性|配置属性|连接器|清单文件|嵌入清单 “是”改为“否”。
第三步:一般计算机经过上两步设置就能解决问题了,但是如果还有问题,那就按一下方法解决:
计算机是否为64bit操作系统,如是,继续2。
查找是否有两个cvtres.exe。一个是C:\Program Files(x86)\Microsoft Visual Studio 10.0\vc\bin\cvtres.exe, 另一个是C:\Windows\Microsoft.NET\Framework\v
4.0.30319\cvtres.exe。右键属性|详细信息 查看两者版本号,删除/重命名较旧的版本,或者重新设置Path变量。


意外的是,治本的办法是第三步,删除旧版本的cvtres.exe后,就不需要每次都设置配置了。



7、最后参考人脸检测(识别)代码:

http://blog.csdn.net/morewindows/article/details/8426318



8、haartraining

http://www.cnblogs.com/tornadomeet/archive/2012/03/22/2411318.html


OpenCV 之 HaarTraining 算法剖析(训练一个Haar分类器的步骤与强分类器流程的简述)

http://wiki.opencv.org.cn/images/a/ab/OpenCV%E4%B9%8B_HaarTraining%E7%AE%97%E6%B3%95%E5%89%96%E6%9E%90-%E5%85%AC%E5%BC%80%E7%89%88.pdf


OPENCV根目录下的DOC目录下也有haartraining步骤文档




详细得不得了的步骤:

http://wenku.baidu.com/view/f327303683c4bb4cf7ecd18a.html

最后PO主训练出了自己的分类器,但是正确率偏低,远远比不上OPENCV自带的。

总的来说,这次学习经历还是比较愉快的:)



最后附上两个下载地址:

haarconv.exe生成分类器XML文件

http://download.csdn.net/detail/sheila_2013/7608487


自训练adaboost分类器

http://download.csdn.net/detail/sheila_2013/7608473

0 0