OpenCV4Android&JNI學習中遇到的問題及一些小結

    想在Android手機上實現人臉檢測,因而搭建一個OpenCV4Android的環境。具體參考以下網址:http://my.eoe.cn/sandking/archive/2999.htmlhttp://www.360doc.com/content/13/1103/10/14479769_326248493.shtml html

第二個網址中主要參考cygwin須要下載的軟件。 java

在搭建好環境後,發現OpenCV4Android自帶face detection例子,運行了一下發現。。。。居然檢測不到人臉。把lbpcascade_frontalface.xml文件換成了haarcascade_frontalface_alt_tree.xml依然檢測不到,好奇怪。只有我遇到這個問題了嗎?? eclipse

另外這個例子有java和native(JNI)兩種實現方式,其中java好慢好卡(用了haar那個XML文件),native的速度還不錯,這是不得不學JNI的節奏了。 學習

學習例子裏的JNI程序源碼發現,好像沒有用CascadeClassifier(實際是使用了detection_based_tracker,一個封裝過的CascadeClassifier,這裏是後來學習中發現原來理解錯誤的修改),因而就想着本身來實現一個JNI的CascadeClassifier(修改加工源代碼=,=)。 .net

對在eclipse裏JNI有關操做參考http://blog.csdn.net/lhq186/article/details/18499653 。(好吧,這個網址前面的前兩個網頁差很少感受,可是後面的內容仍是有用的。) xml

我所遇到的問題是在cmd進入 項目/bin/classes路徑下使用 javah -jni com.xxx.xxx.ImageProcess時報錯 錯誤:找不到類org.opencv.core.Mat 。這是我在ImageProcess.java中import了這個類。解決方法爲:把OpenCv的sdk\java\bin\classes路徑添加到系統環境變量CLASSPATH裏。 htm

在編輯.cpp文件時存在#include<string>和#include<vector>unresolved的問題,把face detection例子項目的property->C/C++General->Paths and Symbols的Includes照抄一遍就OK~ blog

目前先寫到這裏,邊學邊記錄吧。 ip

。。。。。。。。。。。。。。。。。。。。。。。。。。。。。 get

最終,我找到了face detection例子檢測不到人臉的緣由,原來手機要橫着拿!!!!!

相關文章
相關標籤/搜索