Camera2: установка SCALER_CROP_REGION приводит к неожиданным результатам при захвате изображения при использовании наимеAndroid

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Camera2: установка SCALER_CROP_REGION приводит к неожиданным результатам при захвате изображения при использовании наиме

Сообщение Anonymous »

У меня есть пользовательское действие камеры с использованием API camera2, которое выбирает наименьший доступный выходной размер из:

Код: Выделить всё

    StreamConfigurationMap camMap = currentCamCharacteristics.get(
CameraCharacteristics.SCALER_STREAM_CONFIGURATION_MAP);
selectedSize = selectSmallestPhotoAndPreviewSize(
camMap.getOutputSizes(ImageFormat.JPEG));
И использует этот размер для предварительного просмотра и захвата.
Это работает нормально, пока я не попытаюсь увеличить/обрезать изображение:

Код: Выделить всё

float maxZoom = currentCamCharacteristics.get(
CameraCharacteristics.SCALER_AVAILABLE_MAX_DIGITAL_ZOOM);
Затем создайте на основе этого область обрезки и примените ее с помощью:

Код: Выделить всё

mPreviewRequestBuilder.set(
CaptureRequest.SCALER_CROP_REGION,
_selectedZoomCropRegion);
Это работает для предварительного просмотра, НО при применении к CaptureRequest.Builder оно, похоже, игнорируется и приводит к возврату крошечного фрагмента ожидаемого изображения (я думаю, верхний левый угол, но трудно подтвердить, так как он настолько размыт) в onImageAvailableListener, поэтому не соответствует изображению предварительного просмотра.
ОДНАКО, я решил посмотреть, что произойдет, если я выберу самый большой доступный выходной размер и сделаю то же самое, и это сработает отлично. К сожалению, для моих целей мне нужны изображения с низким разрешением.
Интересно, сталкивался ли кто-нибудь с этим раньше. Похоже, масштабирование поддерживается не для всех размеров вывода, но не знаю, почему это так и как это проверить.

Подробнее здесь: https://stackoverflow.com/questions/789 ... -capture-i
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Android»