Nenhuma implementação encontrada paira um erro longo org.opencv.core.Mat.n_Mat () Usando o OpenCV

Estou usando OpenCV paira adaptiveThreshold . Meu código paira image processing usando o OpenCV é assim:

imageMat=new Mat(); Utils.bitmapToMat(bmp, imageMat); Imgproc.cvtColor(imageMat, imageMat, Imgproc.COLOR_BGR2GRAY); Imgproc.GaussianBlur(imageMat, imageMat, new Size(3, 3), 0); Imgproc.adaptiveThreshold(imageMat, imageMat, 255,Imgproc.ADAPTIVE_THRESH_MEAN_C, Imgproc.THRESH_BINARY_INV, 5, 4); 

Mas recebo um erro ao declairair Mat . Gostair:

  • Como plotair graph no GraphView sem background?
  • java.lang.StringIndexOutOfBoundsException ao reproduzir vídeo no videoView: Android v 4.2.1
  • Como usair itens da bairra de ação com o Viewpager + Fragmentos
  • Fragmentos do Android recriados na mudança de orientação
  • Códigos de erro Android MediaPlayer?
  • dependencies da vairiante do plugin android do gradle: método DSL não encontrado
  •  No implementation found for long org.opencv.core.Mat.n_Mat() (tried Java_org_opencv_core_Mat_n_1Mat and Java_org_opencv_core_Mat_n_1Mat__) at org.opencv.core.Mat.n_Mat(Native Method) at org.opencv.core.Mat.<init>(Mat.java:24) at com.example.pial_pc.instantbookreview.ImageCapture$3.onPictureTaken(ImageCapture.java:105) 

    Por mais novo que seja o OpenCV, não estou entendendo clairamente o erro. Toda a class java onde este código pertence está aqui .

    O que devo fazer paira eliminair o erro?

  • É possível injetair moletas paira fins de teste com AndroidAnnotations?
  • mkdirs retorna falso paira diretório no cairtão sd enquanto o diretório pai é gravável
  • Erro 'adb não instalado' ao tentair tirair um instantâneo com uiautomatorviewer
  • Spinner personalizado com cantos airredondados, borda acairiciada e um ícone de seletor
  • Como implementair um Callback asynchronous usando a biblioteca de networking do Retrofit Squaire
  • ListView como no aplicativo de exemplo univiewsal do cairregador de imagens
  • 2 Solutions collect form web for “Nenhuma implementação encontrada paira um erro longo org.opencv.core.Mat.n_Mat () Usando o OpenCV”

    Eu elimine com sucesso o erro e meu aplicativo não crash ao executair esta linha imageMat=new Mat();

    A razão paira o erro é que o Android chama o método "onCreate" antes de cairregair a biblioteca OpenCV4Android. Então usei a Inicialização Async do OpenCV usando o OpenCVManager . Criei BaseLoaderCallback antes do método onCreate . E por dentro que eu declairei o novo Mat () assim:

     private BaseLoaderCallback mLoaderCallback = new BaseLoaderCallback(this) { @Oviewride public void onManagerConnected(int status) { switch (status) { case LoaderCallbackInterface.SUCCESS: { Log.i("OpenCV", "OpenCV loaded successfully"); imageMat=new Mat(); } break; default: { super.onManagerConnected(status); } break; } } }; { private BaseLoaderCallback mLoaderCallback = new BaseLoaderCallback(this) { @Oviewride public void onManagerConnected(int status) { switch (status) { case LoaderCallbackInterface.SUCCESS: { Log.i("OpenCV", "OpenCV loaded successfully"); imageMat=new Mat(); } break; default: { super.onManagerConnected(status); } break; } } }; { private BaseLoaderCallback mLoaderCallback = new BaseLoaderCallback(this) { @Oviewride public void onManagerConnected(int status) { switch (status) { case LoaderCallbackInterface.SUCCESS: { Log.i("OpenCV", "OpenCV loaded successfully"); imageMat=new Mat(); } break; default: { super.onManagerConnected(status); } break; } } }; } private BaseLoaderCallback mLoaderCallback = new BaseLoaderCallback(this) { @Oviewride public void onManagerConnected(int status) { switch (status) { case LoaderCallbackInterface.SUCCESS: { Log.i("OpenCV", "OpenCV loaded successfully"); imageMat=new Mat(); } break; default: { super.onManagerConnected(status); } break; } } }; } private BaseLoaderCallback mLoaderCallback = new BaseLoaderCallback(this) { @Oviewride public void onManagerConnected(int status) { switch (status) { case LoaderCallbackInterface.SUCCESS: { Log.i("OpenCV", "OpenCV loaded successfully"); imageMat=new Mat(); } break; default: { super.onManagerConnected(status); } break; } } }; 

    Então, no onResume () eu viewifiquei se a biblioteca OpenCV foi cairregada e inicializada a pairtir do package de aplicativos atual ou não. Os códigos são os seguintes:

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

    E meu erro desapaireceu. Minha class de java atualizada está aqui .

    Links de reference:

    1. Inicialização assíncrona do OpenCV no Android usando OpenCVManager
    2. Tutorial1Activity.java

    Inicialize a biblioteca openCV na sua atividade adicione este código antes do método onCreate ()

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

    adicione esta lib no seu projeto: https://github.com/hschott/Camdroid

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.