Java OpenCV输出误差中的距离变换

Java OpenCV输出误差中的距离变换,java,android,image-processing,opencv,computer-vision,Java,Android,Image Processing,Opencv,Computer Vision,我正在使用Android二进制文件,这是我第一次在OpenCV中执行距离变换。表示距离变换的输出图像是32位浮点单通道图像。我把它放在一个垫子(mDist)中,但在用垫子创建位图时,它抛出了一个非法状态异常。这是因为输出和mat对象不兼容吗?我必须为垫子或任何东西指定颜色通道细节吗?下面是我的代码部分 Mat mImg = new Mat(); Mat mThresh = new Mat(); Mat mDist = new Mat();

我正在使用Android二进制文件,这是我第一次在OpenCV中执行距离变换。表示距离变换的输出图像是32位浮点单通道图像。我把它放在一个垫子(mDist)中,但在用垫子创建位图时,它抛出了一个非法状态异常。这是因为输出和mat对象不兼容吗?我必须为垫子或任何东西指定颜色通道细节吗?下面是我的代码部分

        Mat mImg = new Mat();
        Mat mThresh = new Mat();
        Mat mDist = new Mat();

        ImageView imgView = (ImageView) findViewById(R.id.imageView);
        Bitmap bmpIn = BitmapFactory.decodeResource(getResources(),
                R.drawable.w1);    
        Utils.bitmapToMat(bmpIn, mImg); //Load image to mat

        Imgproc.cvtColor(mImg, mImg, Imgproc.COLOR_BGR2GRAY);    
        Imgproc.threshold(mImg, mThresh, 0, 255, Imgproc.THRESH_BINARY
                | Imgproc.THRESH_OTSU); //Grayscale and thresholding        

        Imgproc.distanceTransform(mThresh, mDist, Imgproc.CV_DIST_L2, Imgproc.CV_DIST_MASK_PRECISE);

        Bitmap bmpOut = Bitmap.createBitmap(mDist.cols(), mDist.rows(),
                Bitmap.Config.ARGB_8888);   

        Utils.matToBitmap(mDist, bmpOut); //Error in creating bitmap
        imgView.setImageBitmap(bmpOut);


故障出现在以下代码行中

Bitmap bmpOut = Bitmap.createBitmap(mDist.cols(), mDist.rows(),
                Bitmap.Config.ARGB_8888); 
应应用的Bitmap.Config不是ARGB_8888。该函数用于创建8位单通道mat