Я пытаюсь убедиться, что все записи покрыты предварительно загруженной фотографией. для этого я использую библиотеки firebase ml (на устройстве, а не в облаке API).
В настоящее время я пытаюсь с прямоугольником и задаю ему координаты, которые он читает из блока, вот так:
imageViewArray[i].setRight(blockFrame.right);
imageViewArray[i].setLeft(blockFrame.left);
imageViewArray[i].setTop(blockFrame.top);
imageViewArray[i].setBottom(blockFrame.bottom);
я не увидел ни одной ошибки, но ничего не изменилось в моем приложении .. где я не прав?
еще одна вещь : как я прочитал здесь getCornerPoint () createточка [] с осями x и y вокруг всех 4 углов ... могут ли они быть полезными для меня, чтобы создать представление изображения, расположенное в той же области?
это мой onStart () в MainActivity:
protected void onStart() {
super.onStart();
FirebaseVisionImage image = FirebaseVisionImage.fromBitmap(bitmap);
FirebaseVisionTextRecognizer textRecognizer = FirebaseVision.getInstance()
.getOnDeviceTextRecognizer();
final Task<FirebaseVisionText> result =
textRecognizer.processImage(image)
.addOnSuccessListener(new OnSuccessListener<FirebaseVisionText>() {
@Override
public void onSuccess(FirebaseVisionText firebaseVisionText) {
// Task completed successfully
Integer i = 0;
resultText = firebaseVisionText.getText();
output = resultText;
tvResult.setText(output);
for (FirebaseVisionText.TextBlock block: firebaseVisionText.getTextBlocks()) {
String blockText = block.getText(); //prende il testo e lo mette nella stringa
Float blockConfidence = block.getConfidence(); //bho
List<RecognizedLanguage> blockLanguages = block.getRecognizedLanguages(); //rileva la lingua
Point[] blockCornerPoints = block.getCornerPoints(); //prende le coordinate della box
Rect blockFrame = block.getBoundingBox();
ImageView[] imageViewArray = new ImageView[50];
imageViewArray[i] = new ImageView(context);
imageViewArray[i].setBackgroundColor(Color.rgb(255, 0, 0));
imageViewArray[i].setRight(blockFrame.right);
imageViewArray[i].setLeft(blockFrame.left);
imageViewArray[i].setTop(blockFrame.top);
imageViewArray[i].setBottom(blockFrame.bottom);
i++;
}
}
})
.addOnFailureListener(
new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
// Task failed with an exception
}
});
}