Пожалуйста, обратите внимание на приложение ML Kit Material Design Showcase, которое дает пример того, как это сделать. Подход, который мы здесь используем, заключается в том, что мы обнаруживаем все видимые штрих-коды, но воздействуем только на те штрих-коды, которые находятся в центре наложения.
Следующий фрагмент из BarcodeProcessor. java:
for (FirebaseVisionBarcode barcode : results) {
RectF box = graphicOverlay.translateRect(barcode.getBoundingBox());
if (box.contains(graphicOverlay.getWidth() / 2f, graphicOverlay.getHeight() / 2f)) {
barcodeInCenter = barcode;
break;
}
}
Кроме того, вы можете выполнить обрезку перед отправкой изображения через детектор штрих-кода. Однако преимущество отправки всего изображения состоит в том, что типичные штрих-коды могут обнаруживаться и декодироваться задолго до того, как пользователь выровняет штрих-код с наложением.