2016-05-26 3 views
1

Перед тем, как задать вопрос: Я уже рассмотрел другие ответы SO, но никто из них не показал, как исправить это с помощью Android Studio.Как использовать openCV Camera без установки opencv-менеджера в устройстве?

Я использую opencv-библиотеку для обнаружения карт в своем приложении. Приложение похоже на «Сканер документов», но оно использует JavaCameraView вместо растрового изображения.

mOpenCvCameraView = (CameraBridgeViewBase) findViewById(R.id.live_camera_frame); 

Моя проблема, при использовании JavaCameraView всегда прошу для установки OpenCV менеджера из игрового магазина.

Даже после выполнения статической инициализации openCV в студии Android это asking me for download openCV manage APK from playstore. Я использую android studio 1.5 и opencv library 3.1.0

Может ли кто-нибудь рассказать, как использовать камеру OpenCV без установки менеджера Opencv в качестве автономного приложения?

Что касается резюме, я не хочу, чтобы пользователь запрашивал диалог, как на изображении. Если мы можем включить библиотеку openCV как часть проекта, и если мы сможем ее использовать без установки.

Я сделал следующие шаги здесь application-development-with-static-initialization , но это для затмения, и я использую андроид-студию. Я попробовал то же самое для затмения, но затем он дает ошибку в стандартной библиотеке OpenCV, что class not found.

+1

[проверить эту ссылку] (http://stackoverflow.com/questions/36551069/using-android-opencv-apps-without-downloading-opencv-sdk-manager?rq=1) еще, если у вас есть решено другим способом .. пожалуйста, поделитесь. –

+0

проверить первый ответ в этой [link] (http://stackoverflow.com/questions/27406303/opencv-in-android-studio) –

ответ

2

Сделайте это

создать папку jniLibs под основной папке (то же место, как папку Java)

просто скопируйте соответствующие родные библиотеки OpenCV (должно быть семь папок, mips, x86 и т. д., которые вам нужны, зависит от того, на каком процессоре будет работать ваше приложение) из/sdk/native/libs/в ваш каталог проекта folder jniLibs

затем в вашей деятельности

@Override 
public void onResume() { 
    super.onResume(); 
    if (!OpenCVLoader.initDebug()) { 
     Logger.d("Internal OpenCV library not found. Using OpenCV Manager for initialization"); 
     OpenCVLoader.initAsync(OpenCVLoader.OPENCV_VERSION_3_1_0, this, mLoaderCallback); 
    } else { 
     Logger.d("OpenCV library found inside package. Using it!"); 
     mLoaderCallback.onManagerConnected(LoaderCallbackInterface.SUCCESS); 
    } 
} 

private BaseLoaderCallback mLoaderCallback = new BaseLoaderCallback(this) { 
    @Override 
    public void onManagerConnected(int status) { 
     switch (status) { 
      case LoaderCallbackInterface.SUCCESS: 
      { 
       Logger.d("OpenCV loaded successfully"); 
       //mOpenCvCameraView.enableView(); 
      } break; 
      default: 
      { 
       super.onManagerConnected(status); 
      } break; 
     } 
    } 
}; 
+0

его работа, спасибо u за сообщение u @Jerffrey Liu –

Смежные вопросы