问题描述
我正在使用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进行了一些更改,以更好地区分设备上的API和基于云的API。 “ ML Kit”(没有firebase品牌)包含所有设备上的API。 Here's从Firebase mlkit到mlkit的迁移指南。
此问题可能导致图像格式错误。您能否尝试参考示例here来从不同来源构造InputImage?