2016-04-14 55 views
0

我有一個應用程序。你可以用它拍照。 如果圖片被捕獲,onPictureTaken()被調用。在這個方法中,它被轉換爲一個位圖,然後我將它保存在本地存儲上。Android Mat將JPEG轉換爲倒立顏色

@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

你試過沒有cvtColor方法? –

回答

0

我不小心把錯誤的PARAMS

在Utils.matToBitmap(墊,BMP)。應該是:Utils.matToBitmap(TMP,BMP)

現在一切工作正常。