Android Image to Bitmap for use in Google Vision Barcode api



我需要将android.media.Image转换为BitMap,以便我可以在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.

谷歌的示例代码引用了已弃用的 Camera API,但我正在使用camera2这就是为什么我无法使用它们寻求帮助的原因。

解决方法是确保imageReader格式JPEG而不是YUV

 mImageReader = ImageReader.newInstance(width, height, ImageFormat.JPEG, 3);

相关内容

  • 没有找到相关文章

最新更新