Я получаю следующую ошибку при попытке использовать облачный API для распознавания текста:
W/System.err: com.google.firebase.ml.common.FirebaseMLException: Internal error has occurred when executing Firebase ML tasks
at com.google.android.gms.internal.firebase_ml.zzmy.zza(Unknown Source:35)
at com.google.android.gms.internal.firebase_ml.zzmz.run(Unknown Source:2)
at android.os.Handler.handleCallback(Handler.java:873)
at android.os.Handler.dispatchMessage(Handler.java:99)
at com.google.android.gms.internal.firebase_ml.zze.dispatchMessage(Unknown Source:6)
at android.os.Looper.loop(Looper.java:280)
at android.os.HandlerThread.run(HandlerThread.java:65)
Caused by: java.lang.NullPointerException: The input TextAnnotation can not be null
at com.google.android.gms.common.internal.Preconditions.checkNotNull(Unknown Source:11)
at com.google.android.gms.internal.firebase_ml.zzpj.zzb(Unknown Source:1)
at com.google.android.gms.internal.firebase_ml.zzpf.zza(Unknown Source:38)
at com.google.android.gms.internal.firebase_ml.zzoo.zza(Unknown Source:23)
at com.google.android.gms.internal.firebase_ml.zznd.call(Unknown Source:4)
at com.google.android.gms.internal.firebase_ml.zzmy.zza(Unknown Source:29)
... 6 more
Я создаю детектор как
private FirebaseVisionTextRecognizer cloudDetector = FirebaseVision.getInstance().getCloudTextRecognizer();
и вызываю детектор, используя:
FirebaseVisionImage image = FirebaseVisionImage.fromBitmap(bm);
Task<FirebaseVisionText> result =
cloudDetector.processImage(image)
.addOnSuccessListener(new OnSuccessListener<FirebaseVisionText>() {
@Override
public void onSuccess(FirebaseVisionText firebaseVisionText) {
String text = firebaseVisionText.getText();
mFragment.setDetectedText(text);
// toggle isDetecting after 0.5 s. Do not want the textview to flickr to much
final Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
isDetecting = false;
}
}, delayTime);
}
})
.addOnFailureListener(
new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
// Task failed with an exception
// ...
Log.d("DETECTING", e.getMessage());
e.printStackTrace();
}
});
Я включил облачный API в консоли Firebase.Более того, текстовый детектор на устройстве работает на отлично.Я также не вижу никакой разницы между моим кодом и примером кода здесь .Кто-нибудь испытывал это?