2017-06-17 6 views
0

Ich bin neu in OpenCV-Implementierung in Android. Ich habe den folgenden Code verwendet, um Konturen zu finden.Opencv Paketmanager nicht in Android Studio installiert

private void detectEdges(Bitmap bitmap) { 
     rgba = new Mat(); 
     gray = new Mat(); 
     hierarchy = new Mat(); 
     Utils.bitmapToMat(bitmap, rgba); 

     Imgproc.cvtColor(rgba, gray, Imgproc.COLOR_RGBA2GRAY); 
     Imgproc.Canny(gray, gray, 50, 200); 

     List<MatOfPoint> contours = new ArrayList<MatOfPoint>(); 

     // find contours: 
     Imgproc.findContours(rgba, contours, hierarchy, Imgproc.RETR_TREE,Imgproc.CHAIN_APPROX_SIMPLE); 
     for (int contourIdx = 0; contourIdx < contours.size(); contourIdx++) { 
      Imgproc.drawContours(rgba, contours, contourIdx, new Scalar(0, 0, 255), -1); 
     } 

     Bitmap tempBmp1 = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(), 
       bitmap.getConfig()); 

     Utils.matToBitmap(gray, tempBmp1); 
     ivw.setImageBitmap(tempBmp1); 

    } 

aber App abstürzt für den Fehler "java.lang.UnsatisfiedLinkError: keine Implementierung für lange org.opencv.core.Mat.n_Mat gefunden() (versuchte Java_org_opencv_core_Mat_n_1Mat und Java_org_opencv_core_Mat_n_1Mat__)"

Auch habe ich versucht,

private BaseLoaderCallback mLoaderCallback = new BaseLoaderCallback(this) { 
     @Override 
     public void onManagerConnected(int status) { 
      switch (status) { 
       case LoaderCallbackInterface.SUCCESS: 
       { 
        Log.i("OpenCV", "OpenCV loaded successfully"); 

       } break; 
       default: 
       { 
        super.onManagerConnected(status); 
       } break; 
      } 
     } 
    }; 

, aber es sagt, dass ich OpenCV-Manager installieren, was soll ich tun: opencv als Asynchron-Aufgabe mit diesem hinzufügen? Jede Hilfe wird geschätzt!

Antwort

Verwandte Themen