Android Mat到JPEG转换为倒置颜色

时间:2016-04-14 14:08:16

标签: android image opencv bitmap jpeg

我有一个应用程序。你可以用它拍照。 如果捕获了图片,则会调用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);
    }

我不知道为什么,但是当我在我的文件管理器上打开图片时,它已经反转了颜色。我做错了什么?

1 个答案:

答案 0 :(得分:0)

我不小心把错误的参数

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

现在一切正常。