使用相机和Firebase ML套件的Android设备上的文本识别不正确

时间:2019-07-08 05:47:13

标签: android android-studio firebase-mlkit text-recognition

我正在使用Android设备上的Firebase ML Kit来使用相机进行文本识别,而无需单击图像。 我通过接收帧并从帧中获取位图来使用它。 然后将位图传递到文本识别方法。 但是识别的文字不正确。而且,它在不断变化,但从未给出准确的结果。 请让我知道我在做什么错。

获取框架和位图:

  public void onSurfaceTextureUpdated(SurfaceTexture surface) {
            frame = Bitmap.createBitmap(textureView.getWidth(), textureView.getHeight(), Bitmap.Config.ARGB_8888);
            textureView.getBitmap(frame);

            Bitmap emptyBitmap = Bitmap.createBitmap(textureView.getBitmap(frame).getWidth(), textureView.getBitmap(frame).getHeight(), textureView.getBitmap(frame).getConfig());
            if (textureView.getBitmap(frame).sameAs(emptyBitmap)) {
                // myBitmap is empty/blank
                System.out.println(" empty !!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
            } else {
                System.out.println(" bitmap");


                        bitmap = textureView.getBitmap(frame);
                                runTextRecognition();
            }

文本识别:

private void runTextRecognition() {
    System.out.println(" text recognition!!!");
    FirebaseVisionImage image = FirebaseVisionImage.fromBitmap(bitmap);
    FirebaseVisionTextRecognizer recognizer = FirebaseVision.getInstance().getOnDeviceTextRecognizer();
    recognizer.processImage(image).addOnSuccessListener(new OnSuccessListener<FirebaseVisionText>() {
        @Override
        public void onSuccess(FirebaseVisionText texts) {
            System.out.println("Text recognized ::: " + texts);
            textRecognized = true;
            processTextRecognitionResult(texts);

        }
    }).addOnFailureListener(new OnFailureListener() {
        @Override
        public void onFailure(@NonNull Exception e) {
            e.printStackTrace();
        }
    });

}

2 个答案:

答案 0 :(得分:1)

我试图识别的文字是MRZ。我联系了Firebase支持人员,他们自己进行了测试,并得出结论,ML Kit API无法读取MRZ类型的文本,并且将来可能会合并它。

答案 1 :(得分:0)

您可以在Android中尝试用于OCR(光学字符识别)的Mobile Text Vision API。

有关实现的详细信息,请参考此Google代码实验室https://codelabs.developers.google.com/codelabs/mobile-vision-ocr/index.html?index=..%2F..index#0

特别是创建OcrDetectorProcessor步骤。