【发布时间】:2019-03-03 18:54:44
【问题描述】:
我正在尝试在 Android Studio 中使用 Google Firebase(机器学习工具包)的示例。将图像变量传递给detector.processImage 方法时出现错误(错误如下所示)。
我怎样才能克服这个错误?我必须在 try-catch 块中使用 FirebaseVisionImage.fromFilePath,但错误消息告诉我图像变量可能未初始化。
错误:变量图像可能尚未初始化
FirebaseVisionImage image;
try {
image = FirebaseVisionImage.fromFilePath(MainMenuActivity.this,
Uri.fromFile(new File("/sdcard/Download/test.jpg")));
} catch (IOException e) {
e.printStackTrace();
}
FirebaseVisionTextRecognizer detector = FirebaseVision.getInstance().getOnDeviceTextRecognizer();
Task<FirebaseVisionText> result = detector.processImage(image)
.addOnSuccessListener(new OnSuccessListener<FirebaseVisionText>() {
@Override
public void onSuccess(FirebaseVisionText firebaseVisionText) {
// Task completed successfully
mainText.setText("Hello!");
}
})
.addOnFailureListener(
new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
// Task failed with an exception
}
}
);
【问题讨论】:
-
因为您在 try-catch 中初始化了图像,所以它可能不会被初始化。您可以将其余代码移动到 try-catch 中,或者在尝试使用图像之前检查图像是否已初始化。
-
请不要仅仅因为你使用它就用 android-studio 标签标记问题:Android Studio 标签应该只在你对 IDE 本身有疑问时使用,而不是你编写的任何代码(或者想写)在里面。
-
知道了,抱歉。第一次在stackoverflow上发问题,下次一定会更恰当地使用标签!
标签: java android machine-learning firebase-mlkit