Firebase ML 套件无法准确识别语言(英语或其他语言)

Firebase ML kit does not recognize the language accurately (English or other)

我正在使用 firebase ML Kit 为 android 开发文本识别器应用程序。当我捕获文本图像时出现的问题是没有得到图像的实际结果,为什么??。我认为我的应用程序无法很好地识别语言。 我该如何解决这个问题?

#我是新手android请在这方面帮助我

例子

我用过的依赖

implementation 'com.google.firebase:firebase-ml-vision:20.0.0'

识别文本并处理文本代码

/**
 * This method is used to extract the text from the image
 * @param image
 */
private void recognizeText(FirebaseVisionImage image){
    FirebaseVisionTextRecognizer detector = FirebaseVision.getInstance()
            .getOnDeviceTextRecognizer();
    detector.processImage(image)
            .addOnSuccessListener(new OnSuccessListener<FirebaseVisionText>() {
                @Override
                public void onSuccess(FirebaseVisionText firebaseVisionText) {
                    processText(firebaseVisionText);
                }
            })
            .addOnFailureListener(new OnFailureListener() {
                @Override
                public void onFailure(@NonNull Exception e) {
                    e.printStackTrace();
                    Toast.makeText(getActivity(), "No text found", Toast.LENGTH_SHORT).show();
                }
            });
}

/**
 * This method is used to process the text and send the result (text) to ResultLayout fragment
 * @param firebaseVisionText
 */
private void processText(FirebaseVisionText firebaseVisionText) {
    if(firebaseVisionText.getTextBlocks().isEmpty()){
        Toast.makeText(getActivity(), "No text found or Text may not be clear", Toast.LENGTH_LONG).show();
    }
    else {
        String text = "";
        for (FirebaseVisionText.TextBlock block : firebaseVisionText.getTextBlocks()){
            text = text + block.getText() + " ";
        }

        String tag = ((MainActivity)getActivity()).getTag_ResultLayout();
        ResultLayout fragment = (ResultLayout)getActivity().getSupportFragmentManager()
                .findFragmentByTag(tag);
        fragment.setResult(text);
        ((MainActivity)getActivity()).openResultLayout();
    }

我准备提供更多这方面的信息

你能分享你的 AndroidManifest.xml 吗?

如果你想达到更好的效果,你可以尝试使用多个模型:

  <application ...>
      ...
      <meta-data
          android:name="com.google.firebase.ml.vision.DEPENDENCIES"
          android:value="ocr" />
      <!-- To use multiple models: android:value="ocr,model2,model3" -->
  </application>

有关此的更多信息,请参见此处的官方文档: https://firebase.google.com/docs/ml-kit/android/recognize-text

我们对 Firebase 的 Firebase ML Kit 进行了一些更改,以更好地区分 on-device API 与基于云的 API。 “ML Kit”(无 firebase 品牌)包含所有 on-device API。 Here's 从 firebase mlkit 到 mlkit 的迁移指南。

此问题可能是由于图像格式错误造成的。您能否尝试参考示例 here 从不同来源构建 InputImage?