2012-02-29 2 views
2

Я пытаюсь использовать камеру в проекте requireitas с использованием 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-in-qt-creator-android-project) – sashoalm

ответ

4

Вам нужно будет вручную скопировать libnative_camera_r2.2.2.so в /android/libs/armeabi-v7a каталог.

Затем измените файл QtActivity.java для того, чтобы загрузить вручную LIBS при запуске:

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

+0

Является ли какая-либо зависимость отсутствующей в вашем приложении? Можете ли вы попробовать переустановить Ministro с рынка Android? –

+0

Я так не думаю, прежде чем пытаться добавить Opencv, приложение работает нормально. Я должен добавить эти строки (какой метод), возможно, это проблема прямо сейчас. Я также пытаюсь переустановить министро. Спасибо – Vordok