Я хочу создать приложение, похожее на CamCard, которое будет работать как ocr и заполнять текст в определенных полях. Я использовал Firebase MLKit для распознавания текста из изображения, но проблема в том, что теперь он дает мне текст в виде списка, как узнать, какой текств зависимости от того, какое поле моя базовая реализация, как в
FirebaseApp.initializeApp(this);
FirebaseVisionImage image = FirebaseVisionImage.fromBitmap(bm);
FirebaseVisionTextRecognizer textRecognizer = FirebaseVision.getInstance()
.getOnDeviceTextRecognizer();
textRecognizer.processImage(image)
.addOnSuccessListener(new OnSuccessListener<FirebaseVisionText>() {
@Override
public void onSuccess(FirebaseVisionText result) {
// Task completed successfully
// ...
String resultText = result.getText();
for (FirebaseVisionText.TextBlock block : result.getTextBlocks()) {
String blockText = block.getText();
Float blockConfidence = block.getConfidence();
List<RecognizedLanguage> blockLanguages = block.getRecognizedLanguages();
Point[] blockCornerPoints = block.getCornerPoints();
Rect blockFrame = block.getBoundingBox();
for (FirebaseVisionText.Line line : block.getLines()) {
String lineText = line.getText();
Float lineConfidence = line.getConfidence();
List<RecognizedLanguage> lineLanguages = line.getRecognizedLanguages();
Point[] lineCornerPoints = line.getCornerPoints();
Rect lineFrame = line.getBoundingBox();
for (FirebaseVisionText.Element element : line.getElements()) {
String elementText = element.getText();
Float elementConfidence = element.getConfidence();
List<RecognizedLanguage> elementLanguages = element.getRecognizedLanguages();
Point[] elementCornerPoints = element.getCornerPoints();
Rect elementFrame = element.getBoundingBox();
}
}
}
}
})
.addOnFailureListener(
new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
// Task failed with an exception
// ...
}
});
От вышеупомянутого слушателя я получу список всех текстов. Прошу продемонстрировать, как установить текст в соответствующие поля