opencv 眼睛识别 linux,用opencv测试人脸识别眨眼练习及问题

最近试了一下用opencv进行图像处理,遇到了很多问题这里记录下来

首先是安装

VS用的VS2013,开始用的是2015+3.1,后来感觉网上的资料较少就改成了2013+2.4.11

流程:

1、 安装VS2013

2、 安装opencv2.4.11

3、 配置环境变量

4、 创建控制台应用程序,写代码

5、 加各种lib文件

具体过程http://jingyan.baidu.com/article/ff411625b1311a12e4823784.html

其中遇到的各种问题以及解决

1、 会出现link的几种错误,这个的主要问题是lib库没加明白,由于2.4.11要加的库很多,所以很容易出错,还有可能就是那个线程调试的问题在属性里边的多线程调试也是需要改的。

AAffA0nNPuCLAAAAAElFTkSuQmCC

AAffA0nNPuCLAAAAAElFTkSuQmCC

改过之后还是有问题我发现了一个更好的解决办法,就是加上libpngd.lib

libtiffd.lib

zlibd.lib

IlmImfd.lib

libjasperd.lib

libjpegd.lib

comctl32.lib

gdi32.lib

vfw32.lib

这些链接库,然后就不会报错了

2、 改完之后,运行会报缺少dll的错误,这个直接下载对应的文件,放到system32中即可

3、 在测试人脸识别的程序(http://docs.opencv.org/2.4/doc/tutorials/objdetect/cascade_classifier/cascade_classifier.html)的时候objectdetection文件里边的时候不能打开摄像头,这个地方用capture的代码把-1改成0就可以了

4、 然后在运行这个的时候会出现中止,——pdirst=pHead出错,这个地方可能是库没加明白,我改成release的库,用release运行就没问题了

5、 接下来是运行从https://github.com/andheroe/blink-detection上的眨眼程序,时,没有反应,经过调试发现是xml文件没有加载上,可能是路径的问题,把xml文件放到文件下,直接用相对路径后就没问题了。

6、 还有就是我用的台式机,没有摄像头而这里边的两个程序,就直接找了一个视频文件,进行测试,打开视频文件的代码可直接使用

对于第一个程序人脸识别的可以直接使用

VideoCapture cap("文件路径");

对于眨眼的程序

CvCapture *capture = cvCreateFileCapture("F:/zy.mp4");

Mat frame, frameCopy, image;

//这里有一句要注释掉,不然会出问题

// capture = cvCaptureFromCAM(CV_CAP_ANY); //0=default, -1=any camera, 1..99=your camera

if (!capture) {

cout << "No camera detected" << endl;

}

这样修改就可以了,测试结果如下

AAffA0nNPuCLAAAAAElFTkSuQmCC


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部