0

我需要转换android.media.Image为 aBitMap以便可以在Google Vision Barcode API中使用它。我试过以下...

    byte[] imageData = new byte[image.getPlanes()[0].getBuffer().remaining()];
    Bitmap bmp = BitmapFactory.decodeByteArray(imageData, 0, imageData.length);
    Frame frame = new Frame.Builder().setBitmap(bmp).build();
    SparseArray<Barcode> barcodes = detector.detect(frame);
    System.out.println(barcodes.valueAt(0));

...但我收到以下错误:

java.lang.NullPointerException: Attempt to invoke virtual method 'int android.graphics.Bitmap.getWidth()' on a null object reference.

Google 的示例代码引用了已弃用的CameraAPI,但我正在使用camera2这就是为什么我不能使用它们寻求帮助的原因。

4

1 回答 1

0

imageReader修复是确保JPEG格式而不是YUV

 mImageReader = ImageReader.newInstance(width, height, ImageFormat.JPEG, 3);
于 2017-01-20T06:01:37.417 回答