我有一个应用程序。你可以用它拍照。
如果捕获了图片,则会调用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);
}
我不知道为什么,但是当我在我的文件管理器上打开图片时,它已经反转了颜色。我做错了什么?
答案 0 :(得分:0)
我不小心把错误的参数
在Utils.matToBitmap(mat,bmp)中。应该是:Utils.matToBitmap(tmp,bmp)
现在一切正常。