Я работаю над приложением Android, которое сканирует бумажный документ, используя gmsdocumentscanner. Моя цель состоит в том, чтобы определить, какие круги заполнены, аналогичны радиопроизводству в форме. После сканирования документа мне нужно обнаружить маркированный круг, а также ассоциированную с этим текст или значок. Я делюсь здесь фрагментом для лучшего понимания. > Я попробовал эти шаги < /p>
Сканируя документ, используя gmsdocumentscanning < /li>
Попытка обнаружить заполненные круги, используя интенсивность пикселей Анализ < /li>
< /ol>
private void recognizeText(Bitmap bitmap) {
InputImage image = InputImage.fromBitmap(bitmap, 0);
TextRecognizer recognizer = TextRecognition.getClient(TextRecognizerOptions.DEFAULT_OPTIONS);
recognizer.process(image)
.addOnSuccessListener(result -> {
for (Text.TextBlock block : result.getTextBlocks()) {
detectRadioButtons(block, bitmap);
}
})
.addOnFailureListener(e -> Log.e("Error", "Text recognition failed", e));
}
< /code>
private void detectRadioButtons(Text.TextBlock textBlock, Bitmap bitmap) {
for (Text.Line line : textBlock.getLines()) {
Rect boundingBox = line.getBoundingBox();
if (isRadioButtonChecked(boundingBox, bitmap)) {
Log.i("Detection", "Checked Radio Button: " + line.getText());
}
}
}
< /code>
private boolean isRadioButtonChecked(Rect rect, Bitmap bitmap) {
int checkedPixelThreshold = 100;
int checkedPixels = 0;
int totalPixels = rect.width() * rect.height();
for (int x = rect.left; x < rect.right; x++) {
for (int y = rect.top; y < rect.bottom; y++) {
int pixel = bitmap.getPixel(x, y);
if (Color.red(pixel) < checkedPixelThreshold &&
Color.green(pixel) < checkedPixelThreshold &&
Color.blue(pixel) < checkedPixelThreshold) {
checkedPixels++;
}
}
}
return checkedPixels > (totalPixels * 0.5); // More than 50% of pixels are filled
}
< /code>
The expected outcome is
Detect the circles on the scanned paper
Identify which circle is filled
Associate the filled circle with the correct text label or icons
Подробнее здесь: https://stackoverflow.com/questions/794 ... in-android
Как обнаружить заполненные круги (радиопроизводительные кнопки) из отсканированного документа в Android с помощью Java? ⇐ JAVA
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Многие радиопроизводительные кнопки как кнопки переключения с измененным стилем
Anonymous » » в форуме C# - 0 Ответы
- 6 Просмотры
-
Последнее сообщение Anonymous
-