Initialisation statique sur OpenCV Android [dupliquer]
cette question a déjà une réponse ici:
- OpenCV in Android Studio 6 réponses
j'essaie d'exécuter OpenCV
tutoriel 1-Ajouter OpenCV avec l'initialisation statique en utilisant ce
Je ne veux pas D'une OpenCV séparée. Gestionnaire application installée) mais je reçois un "OpenCV error: Cannot load info library for OpenCV."
j'ai fait les choses suivantes:
-
a ajouté un dossier libs avec
armeabi
,armeabi-v7a
, etx86
dossiers à l'intérieur de celui-ci (de OpenCV-2.4.2-android-sdk/sdk/native/libs/) -
a ajouté le code statique
{if (!OpenCVLoader.initDebug())}
juste au-dessous de L'échantillon privé1view mView; -
supprimé le code ci-dessous
si (!OpenCVLoader.initAsync (OpenCVLoader.OPENCV_VERSION_2_4_2, this, mOpenCVCallBack))
Quel est le problème?
4 réponses
vous devez ajouter le code:
mOpenCVCallBack.onManagerConnected(LoaderCallbackInterface.SUCCESS);
après:
if(!OpenCVLoader.initAsync(OpenCVLoader.OPENCV_VERSION_2_4_2, this, mOpenCVCallBack))
si vous supprimez:
if(!OpenCVLoader.initAsync(OpenCVLoader.OPENCV_VERSION_2_4_2, this, mOpenCVCallBack))
bloc de code puis personne n'appelle.
J'espère qu'il pourra vous aider.
j'ai le même problème, j'ai résolu le problème en ajoutant le code suivant au début de mon Activité en classe:
static {
if (!OpenCVLoader.initDebug()) {
// Handle initialization error
}
}
J'ai aussi ajouté
mLoaderCallback.onManagerConnected(LoaderCallbackInterface.SUCCESS);
avant la ligne
OpenCVLoader.initAsync(OpenCVLoader.OPENCV_VERSION_2_4_3, this, mLoaderCallback);
et commente la ligne
OpenCVLoader.initAsync(OpenCVLoader.OPENCV_VERSION_2_4_3, this, mLoaderCallback);
bonne chance.
Le message du journal:
"OpenCV error: Cannot load info library for OpenCV."
ne vous inquiétez pas. Au moins dans mon application, il me dit quelque chose comme OpenCV libs init est OK après.
dans l'exemple de code, L'objet CameraBridgeViewBase est activé lorsque le BaseLoaderCallback est appelé. Cela se produit lorsque le chargement asynchrone de la bibliothèque opencv est terminé. Lorsque vous chargez la bibliothèque statiquement, essayez d'ajouter un appel à mOpenCVCameraView.enablview() dans votre méthode onResume () (après chargement de la lib de coourse).
initAsync () a besoin d'un rappel pour charger opencv libs et vos JNI libs.
vérifiez la fonction de rappel et faites-le dans le si (!OpenCVLoader.initDebug()), pas dans le rappel!
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();
}
il fonctionne pour le tutoriel 2 en OCV4Android2.4.5.