android - Firebase ML 套件无法准确识别语言(英语或其他)
问题描述
我正在使用 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
推荐阅读
- java - Is it possible to get the HttpServletRequest object from HttpServlet?
- javascript - 如果javascript中存在行或不存在行,如何验证上传的CSV文件
- java - 如何使用 Instrumentation 替换源代码文件?
- javascript - How do you call a object method from within an addEventListener() call?
- ios - 如何在表格行上实现领先的滑动手势?
- javascript - 如何偏移 scrollIntoView()
- javascript - 如何修复我的“drawPlayer”(没有错误)
- python - 如何使用 Pandas 将 DataFrame 从 HTML 转换为 SQL 并将其用于 Flask 中的搜索字段?
- firebase - Firestore composite Indexing not working: The query requires an index
- vim - Vim 和终结者编程环境