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