【问题标题】:Android Mat to JPEG converting to inverted ColorsAndroid Mat 到 JPEG 转换为反转颜色
【发布时间】:2016-04-14 14:08:16
【问题描述】:

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

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

【问题讨论】:

  • 你试过不使用 cvtColor 方法吗?

标签: android image opencv bitmap jpeg


【解决方案1】:

我不小心放错了参数

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

现在一切正常。

【讨论】:

    猜你喜欢
    • 2016-04-09
    • 2017-02-06
    • 2019-01-05
    • 2020-04-27
    • 1970-01-01
    • 2018-09-04
    • 2011-10-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多