在使用Firebase-MLKit库提取的元素上使用getBoundingBox方法时,它将给出如下所示的输出
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-----");
}
}
}
如果问题写得不好,很抱歉。这是我第一次写一篇谢谢你的帮助
发布于 2020-01-31 04:57:54
getBoundingBox()
函数返回一个android.graphics.Rect
object。
当您将toString
implementation打印为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(); }
https://stackoverflow.com/questions/59995500
复制相似问题