Как установить параметры android camera2, чтобы иметь лучший результат при распознавании текста - PullRequest
0 голосов
/ 25 января 2019

Я создаю приложение для Android, которое позволяет пользователю сканировать код на небольшой карточке (например, на карточке).Проблема в том, что число, которое я хочу прочитать, очень мало, и трудно понять, на что он способен.Поэтому я хотел установить параметры для получения наилучшего результата на минимальном расстоянии.

Сначала я следую этому руководству, чтобы создать простой предварительный просмотр камеры: https://inducesmile.com/android/android-camera2-api-example-tutorial/

Далее я попытался изменитьНастройки предварительного просмотра камеры для отключения автофокуса, он работает хорошо, но затем я попытался вручную установить расстояние фокусировки, и ничего не изменилось.

Это фрагмент кода в методах создания предварительного просмотра камеры:

CameraManager manager = (CameraManager) getSystemService(Context.CAMERA_SERVICE);
CameraCharacteristics characteristics = manager.getCameraCharacteristics(cameraId);
//Disable auto-focus
captureRequestBuilder.set(CaptureRequest.CONTROL_AF_MODE, CameraMetadata.CONTROL_AF_MODE_OFF);
//Try to make it at the shortest distance (do not work)
captureRequestBuilder.set(CaptureRequest.LENS_FOCUS_DISTANCE, characteristics.get(CameraCharacteristics.LENS_INFO_MINIMUM_FOCUS_DISTANCE)

Я пробовал разные параметры на расстоянии фокусировки, но ничего не изменилось.Может быть, я просто ошибаюсь, и это не правильный способ улучшить это.

1 Ответ

0 голосов
/ 26 января 2019

Ручная фокусировка не гарантируется. Многие устройства более низкого уровня не поддерживают его, а поддерживают только автофокусировку. Вы можете проверить, имеет ли устройство возможность MANUAL_SENSOR. Некоторые камеры имеют полностью фиксированную фокусировку (в основном это селфи-камеры), поэтому те, которые вы не можете даже автоматически сфокусировать.

В вашем случае автофокусировка должна работать достаточно хорошо, если маленькая карта заполняет большую часть видимой сцены.

Обратите внимание, что у многих устройств минимальное расстояние фокусировки составляет 8-10 см, поэтому вы не можете держать карту очень близко и ожидать получения четких изображений.

...