Как управлять выдержкой и диафрагмой камеры в Android? - PullRequest
7 голосов
/ 03 февраля 2012

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

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

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

Я использую и Samsung Nexus S, и Samsung Galaxy W. Проблем с белым изображением не существует с Samusng Galaxy ACE: в этомКажется, перед съемкой происходит какая-то аппаратная калибровка мощности света.

Большое спасибо!

Ответы [ 3 ]

3 голосов
/ 03 февраля 2012

Извините, что довел это до вас, но эта функция просто не поддерживается и дата выхода не запланирована.
Смотрите функцию / отчет об ошибке:

Изменение выдержки и диафрагмы камеры

2 голосов
/ 08 декабря 2016

С помощью API камеры 1 на стороне Android невозможно вручную установить один из двух упомянутых параметров напрямую.Ни один из признаков не может быть запрошен с помощью стандартного метода, потому что он не поддерживается.

Конечно, есть способ обойти, запросить или установить такие свойства с помощью специальных методов:

// query all the settings you camera support (API 1)
mCamera.getParameters().flatten();
// set parameters - e.g. aperture
mCamera.getParameters().set("aperture", "80");

Но следующая вещь заключается в том, что конкретное устройство должно поддерживать такую ​​настройку,которые варьируются от устройства к устройству.На некоторых устройствах могут быть установлены определенные значения, а с другими вы не можете и можете использовать только режим '' auto ''.

Кроме того, строки конфигурации (например, «апертура») и диапазон возможных значений на устройствах различны.По этой причине они разработали API-интерфейс Camera 2, который является более стандартизированным и поддерживает такие функции.Кроме того, гораздо проще установить или запросить специальные конфигурации.

Экспозиция

Обычно все мобильные устройства имеют встроенное управление экспозицией и называется управлением автоматической экспозицией (AE).С помощью АЭ устройство автоматически контролирует экспозицию изображения по умолчанию и выравнивает более или менее экспонированные изображения.

Область экспозамера (MA) и значение экспозиции (EV) - компенсация могут помочь.

// Android (API 1)
mCamera.getParameters().setMeteringAreas(List<Camera.Area> meteringAreas);
mCamera.getParameters().setExposureCompensation(int value);
1 голос
/ 21 декабря 2014

Извините, что поздно, но может быть полезно для других

Чтобы установить диафрагму:

Camera.Parameters params = camera.getParameters ();

params.set ("mode", "m");

params.set («диафрагма», «28»); // может быть 28 32 35 40 45 50 56 63 71 80 по умолчанию zoom

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...