2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > opencv 眼睛识别 linux 用opencv测试人脸识别眨眼练习及问题

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

时间:2022-04-30 12:05:44

相关推荐

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

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

首先是安装

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

流程:

1、 安装VS

2、 安装opencv2.4.11

3、 配置环境变量

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

5、 加各种lib文件

具体过程/article/ff411625b1311a12e4823784.html

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

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

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

libtiffd.lib

zlibd.lib

IlmImfd.lib

libjasperd.lib

libjpegd.lib

comctl32.lib

gdi32.lib

vfw32.lib

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

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

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

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

5、 接下来是运行从/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;

}

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

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。