我希望相机仅在此矩形内检测文本(如图所示)
[请看ML Kit Material Design Showcase app,其中提供了有关如何执行此操作的示例。我们在这里采取的方法是,我们检测到可见的所有条形码,但仅作用于覆盖层中心的条形码。
BarcodeProcessor.java中的以下代码片段:
for (FirebaseVisionBarcode barcode : results) {
RectF box = graphicOverlay.translateRect(barcode.getBoundingBox());
if (box.contains(graphicOverlay.getWidth() / 2f, graphicOverlay.getHeight() / 2f)) {
barcodeInCenter = barcode;
break;
}
}
或者,您可以在通过条形码检测器发送图像之前进行裁剪。但是,发送整个图像的好处是,典型的条形码可以在用户将条形码与覆盖物对齐之前很久就可以检测到并解码。