【发布时间】: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