android - 使用相机和 Firebase ML Kit 的 Android 设备上的文本识别不准确

标签 android 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();
        }
    });

}

最佳答案

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

关于android - 使用相机和 Firebase ML Kit 的 Android 设备上的文本识别不准确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56929014/

相关文章:

java - GL_NEAREST 上的 Android OpenGL mag 过滤器,小纹理仍然模糊

Windows 7 Pro 64 位下的 Android SDK 设置

java - Firebase Android 机器学习套件 : Way to hide display values on QR code

c++ - C/C++/Objective-C 文本识别库

ios - 停止检测 Apple Vision、iOS、Swift 中的字母

android - 解决屏幕方向变化的两个具体问题 (Android)

android - RenderScript V8 定义了多个 dex 文件

ios - iOS 中使用实时摄像头的 Firebase MLKit 文本识别

android-vision - 如何强制 Android 移动视觉阅读整行文本