Android Studio Opencv Canny检测

时间:2017-07-30 23:26:54

标签: android opencv edge-detection

当我点击按钮时,我想为图像添加canny检测。我不能采取任何例外,但是emilator在没有开始的情况下停止工作。

buton2.setOnClickListener(new View.OnClickListener() {

    public void onClick(View view) {

        ImageView i = (ImageView) findViewById(R.id.imageView);

        Bitmap bmp =BitmapFactory.decodeResource(getResources(),R.drawable.ab);
        Mat srcMat = new Mat ( bmp.getHeight(), bmp.getWidth(), CvType.CV_8UC3);

        Bitmap myBitmap32 = bmp.copy(Bitmap.Config.ARGB_8888, true);

        Utils.bitmapToMat(myBitmap32, srcMat);

        Mat gray = new Mat(srcMat.size(), CvType.CV_8UC1);
        Imgproc.cvtColor(srcMat, gray, Imgproc.COLOR_RGB2GRAY);
        Mat edge = new Mat();
        Mat dst = new Mat();
        Imgproc.Canny(gray, edge, 80, 90);
        Imgproc.cvtColor(edge, dst, Imgproc.COLOR_GRAY2RGBA,4);
        Bitmap resultBitmap = Bitmap.createBitmap(dst.cols(), dst.rows(),Bitmap.Config.ARGB_8888);
        Utils.matToBitmap(dst, resultBitmap);

        i.setImageBitmap(resultBitmap);
    }
});

2 个答案:

答案 0 :(得分:1)

我的opencv版本3.0.0所以ı必须在onCreate方法下写 的System.loadLibrary( “opencv_java3”);

所以,解决我的问题

答案 1 :(得分:1)

您是否将以下行添加到onCreate方法中。

OpenCVLoader.initDebug();