opencv 眼睛识别 linux,用opencv测试人脸识别眨眼练习及问题
最近試了一下用opencv進(jìn)行圖像處理,遇到了很多問題這里記錄下來
首先是安裝
VS用的VS2013,開始用的是2015+3.1,后來感覺網(wǎng)上的資料較少就改成了2013+2.4.11
流程:
1、 安裝VS2013
2、 安裝opencv2.4.11
3、 配置環(huán)境變量
4、 創(chuàng)建控制臺應(yīng)用程序,寫代碼
5、 加各種lib文件
具體過程http://jingyan.baidu.com/article/ff411625b1311a12e4823784.html
其中遇到的各種問題以及解決
1、 會出現(xiàn)link的幾種錯誤,這個的主要問題是lib庫沒加明白,由于2.4.11要加的庫很多,所以很容易出錯,還有可能就是那個線程調(diào)試的問題在屬性里邊的多線程調(diào)試也是需要改的。
改過之后還是有問題我發(fā)現(xiàn)了一個更好的解決辦法,就是加上libpngd.lib
libtiffd.lib
zlibd.lib
IlmImfd.lib
libjasperd.lib
libjpegd.lib
comctl32.lib
gdi32.lib
vfw32.lib
這些鏈接庫,然后就不會報錯了
2、 改完之后,運(yùn)行會報缺少dll的錯誤,這個直接下載對應(yīng)的文件,放到system32中即可
3、 在測試人臉識別的程序(http://docs.opencv.org/2.4/doc/tutorials/objdetect/cascade_classifier/cascade_classifier.html)的時候objectdetection文件里邊的時候不能打開攝像頭,這個地方用capture的代碼把-1改成0就可以了
4、 然后在運(yùn)行這個的時候會出現(xiàn)中止,——pdirst=pHead出錯,這個地方可能是庫沒加明白,我改成release的庫,用release運(yùn)行就沒問題了
5、 接下來是運(yùn)行從https://github.com/andheroe/blink-detection上的眨眼程序,時,沒有反應(yīng),經(jīng)過調(diào)試發(fā)現(xiàn)是xml文件沒有加載上,可能是路徑的問題,把xml文件放到文件下,直接用相對路徑后就沒問題了。
6、 還有就是我用的臺式機(jī),沒有攝像頭而這里邊的兩個程序,就直接找了一個視頻文件,進(jìn)行測試,打開視頻文件的代碼可直接使用
對于第一個程序人臉識別的可以直接使用
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;
}
這樣修改就可以了,測試結(jié)果如下
總結(jié)
以上是生活随笔為你收集整理的opencv 眼睛识别 linux,用opencv测试人脸识别眨眼练习及问题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ng linux 存储 配置,linux
- 下一篇: c语言期末作业自己设计个小程序,帮看一个