java android opencv static initialization

java - Inicialización estática en OpenCV Android



static initialization (4)

Debes agregar el código:

mOpenCVCallBack.onManagerConnected(LoaderCallbackInterface.SUCCESS);

después:

if(!OpenCVLoader.initAsync(OpenCVLoader.OPENCV_VERSION_2_4_2, this, mOpenCVCallBack))

Si eliminas:

if(!OpenCVLoader.initAsync(OpenCVLoader.OPENCV_VERSION_2_4_2, this, mOpenCVCallBack))

bloque de código, entonces nadie llama.

Espero que te ayude.

Esta pregunta ya tiene una respuesta aquí:

Estoy intentando ejecutar OpenCV Tutorial 1 - Agregue OpenCV con inicialización estática usando this
No quiero instalar una aplicación separada de OpenCV Manager) pero recibo un "OpenCV error: Cannot load info library for OpenCV."

Hice las siguientes cosas:

  1. se agregó una carpeta libs con las carpetas armeabi , armeabi-v7a y x86 dentro de ella (desde OpenCV-2.4.2-android-sdk / sdk / native / libs /)

  2. agregó el código estático {if (!OpenCVLoader.initDebug())} justo debajo de private Sample1View mView;

  3. eliminado el código siguiente

if (! OpenCVLoader.initAsync (OpenCVLoader.OPENCV_VERSION_2_4_2, esto, mOpenCVCallBack))

¿Cuál parece ser el problema?


El mensaje de registro:

"OpenCV error: Cannot load info library for OpenCV."

no te preocupes. Al menos en mi aplicación me dice que algo como OpenCV libs init está bien después.

En el código de ejemplo, el objeto CameraBridgeViewBase se habilita cuando se llama a BaseLoaderCallback. Eso sucede cuando finaliza la carga asíncrona de la biblioteca de opencv. Cuando carga la biblioteca estáticamente, intente agregar una llamada a mOpenCVCameraView.enableView () en su método onResume () (después de cargar la lib de coourse).


Tengo el mismo problema, he resuelto el problema agregando el siguiente código en la primera clase de mi actividad:

static { if (!OpenCVLoader.initDebug()) { // Handle initialization error } }

También agregué

mLoaderCallback.onManagerConnected(LoaderCallbackInterface.SUCCESS);

antes de la línea

OpenCVLoader.initAsync(OpenCVLoader.OPENCV_VERSION_2_4_3, this, mLoaderCallback);

y comentó la línea

OpenCVLoader.initAsync(OpenCVLoader.OPENCV_VERSION_2_4_3, this, mLoaderCallback);

Buena suerte.


initAsync () necesita una devolución de llamada para cargar opencv libs y tus jni libs.

compruebe la función de devolución de llamada y hágala correcta en el if (! OpenCVLoader.initDebug ()), no en la devolución de llamada!

if (!OpenCVLoader.initDebug()) { // Handle initialization error Log.i(TAG, "OpenCV load not successfully"); } else { System.loadLibrary("mixed_sample"); //System.loadLibrary("my_jni_lib2"); InitFeature(width,height); mOpenCvCameraView.enableView(); }

funciona para el tutorial 2 en OCV4Android2.4.5.