Что означает вывод elements.getBoundingBox? (FirebaseVision, android) - PullRequest
0 голосов
/ 31 января 2020

При использовании метода getBoundingBox для элемента, извлеченного с помощью библиотеки Firebase-MLKit, он дает вам вывод, который выглядит следующим образом

Rect(0, 0 - 13, 33)

что представляет собой каждое отдельное число?

соответствующий код

private void processTextRecognitionResults(FirebaseVisionText receipt) {

        List<FirebaseVisionText.TextBlock> blocks = receipt.getTextBlocks();
        List<FirebaseVisionText.Element> elements;
        if (blocks.size() == 0) {
            Toast.makeText(this, "No text found", Toast.LENGTH_SHORT).show();
            return;
        }

        for (int runThroBlocks = 0; runThroBlocks < blocks.size(); runThroBlocks++) {
            List<FirebaseVisionText.Line> lines = blocks.get(runThroBlocks).getLines();
            for (int runThroLines = 0; runThroLines < lines.size(); runThroLines++) {
                elements = lines.get(runThroLines).getElements();
                for (int runThroElemnts = 0; runThroElemnts < elements.size(); runThroElemnts++) {
                    System.out.println("-----BOX-----");
                    System.out.println(elements.get(runThroElemnts).getText());
                    //This line prints the output given above
                    System.out.println(elements.get(runThroElemnts).getBoundingBox());
                    System.out.println("-----BOX-----");

                }
            }
        }

Извините, если вопрос написан плохо. Это мой первый раз, когда я пишу один Спасибо за помощь

1 Ответ

0 голосов
/ 31 января 2020

Функция getBoundingBox() возвращает объект android.graphics.Rect .

Реализация toString , которая вызывается при печати elements.get(runThroElemnts).getText(), печатает их как left, top, right и bottom.

    public String toString() {
        StringBuilder sb = new StringBuilder(32);
        sb.append("Rect("); sb.append(left); sb.append(", ");
        sb.append(top); sb.append(" - "); sb.append(right);
        sb.append(", "); sb.append(bottom); sb.append(")");
        return sb.toString();
    }
...