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?
我正在使用 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?