Android Mat to JPEG 转换为反色

Android Mat to JPEG converting to inverted Colors

我有一个应用程序。你可以用它拍照。 如果捕获了图片,则会调用 onPictureTaken()。在这种方法中,它被转换为位图,然后我将它保存在本地存储中。

@Override
    public void onPictureTaken(byte[] data, Camera camera) {
        MatOfByte raw=new MatOfByte(data);
        Mat mat = Imgcodecs.imdecode(raw,Imgcodecs.CV_LOAD_IMAGE_UNCHANGED);
        Mat tmp = new Mat();

        Imgproc.cvtColor(mat, tmp, Imgproc.COLOR_BGRA2BGR);

        Bitmap bmp = Bitmap.createBitmap(mat.cols(), mat.rows(), Bitmap.Config.ARGB_8888);
        Utils.matToBitmap(mat, bmp);

        storeBitMap(bmp);
    }

我不知道为什么,但是当我在 fileManager 上打开图片时,它有反色。我做错了什么?

我不小心放错了参数

in Utils.matToBitmap(mat, bmp)。应该是:Utils.matToBitmap(tmp, bmp)

现在一切正常。