2012-02-29 59 views
2

我嘗試在使用OpenCV的必要項目中使用相機。我有這樣的.pro文件無法在必需品中加載Opencv庫

INCLUDEPATH += C:/OpenCV-2.3.1-android-bin/OpenCV-2.3.1/include \ 
       C:/OpenCV-2.3.1-android-bin/OpenCV-2.3.1/modules 

LIBS += C:/OpenCV-2.3.1-android-bin/OpenCV-2.3.1/libs/armeabi/libnative_camera_r2.2.2.so \ 
     C:/OpenCV-2.3.1-android-bin/OpenCV-2.3.1/libs/armeabi/libnative_camera_r2.3.3.so \ 
     C:/OpenCV-2.3.1-android-bin/OpenCV-2.3.1/libs/armeabi/libopencv_androidcamera.a \ 
     C:/OpenCV-2.3.1-android-bin/OpenCV-2.3.1/libs/armeabi/libopencv_calib3d.a \ ... 

和我所說的相機時,我按下這個按鈕:

void MainWindow::on_foto_clicked() 
{ 
    CvCapture * camera = cvCreateCameraCapture(0); 
    IplImage * image = cvQueryFrame(camera); 

    cvReleaseCapture(&camera); 
} 

當我運行它,它會嘗試到設備上,三星上運行galaxy gio與Android 2.3.4,我得到這個:

W/System.err(17481): Caused by: java.lang.UnsatisfiedLinkError: Cannot load library: link_image[1963]: 94 could not load needed library 'libnative_camera_r2.2.2.so' for 'libGeopei.so' (load_library[1105]: Library 'libnative_camera_r2.2.2.so' not found) 

我是否缺少加載任何庫或包括?

在此先感謝

+0

的可能重複[如何OpenCV的集成到Qt Creator的Android項目(http://stackoverflow.com/questions/27562311/how-to-integrate-opencv-into-qt-creator-android-project) – sashoalm 2014-12-19 08:44:59

回答

4

您將需要手動libnative_camera_r2.2.2.so複製到/android/libs/armeabi-v7a目錄。

然後,修改QtActivity.java文件,以便在啓動時手動加載庫:

String appPath = getApplication().getApplicationContext().getFilesDir().getAbsolutePath(); 

//application path 
System.load(appPath+"/../lib/libnative_camera_r2.3.3.so"); 
System.load(appPath+"/../lib/libopencv_java.so"); 
+0

我試試這個,首先我將這些行添加到loadApplication方法的末尾,然後到startApp方法的末尾,相同的消息,然後我將它粘貼到startApp方法的開始處並向我發送一個致命異常。我是否用錯誤的方法粘貼它? – Vordok 2012-02-29 00:49:17

+0

應用程序中是否缺少任何依賴項?你能嘗試從android市場重新安裝Ministro嗎? – 2012-02-29 01:08:24

+0

我不這麼認爲,在嘗試添加Opencv之前,該應用運行良好。我應該添加這些行(哪種方法),也許現在就是這個問題。我也嘗試重新安裝ministro。謝謝 – Vordok 2012-02-29 01:11:28