2017-06-17 31 views
0

我是Android中的OpenCV實現新手。我使用下面的代碼來查找輪廓。Android Studio中未安裝Opencv包管理器

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); 

    } 

,但應用程序崩潰的錯誤 「java.lang.UnsatisfiedLinkError中:沒有長期org.opencv.core.Mat.n_Mat發現(實現)(試過Java_org_opencv_core_Mat_n_1Mat和Java_org_opencv_core_Mat_n_1Mat__)」

即使我試着添加opencv作爲異步任務:

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; 
      } 
     } 
    }; 

但它說我必須安裝OpenCV管理器,該怎麼辦? 任何幫助將不勝感激!

回答

相關問題