Да, вам нужно реализовать собственный алгоритм автоэкспозиции. Все «реальный» AE должен go на это изображение, захваченное датчиком, а также, так что в теории вы можете создать что-то столь же хорошо угадывает правильный уровень освещенности.
1002 * На практике это маловероятно вы можете сопоставить его как с более длительной обратной связью l oop (алгоритм AE может немного обмануть требования синхронизации и обновлять настройки датчика быстрее, чем приложение), так и с тем, что алгоритм AE может использовать аппаратные единицы статистики (собирать гистограммы и средние значения по сцене), что делает его более эффективным.
Но простым алгоритмом автоэкспозиции будет усреднение всей сцены (или части сцены, или каждого десятого пикселя сцена и т. д. c), и если это среднее значение ниже половины максимального значения, увеличьте ISO, а если оно выше, уменьшите. Основой c управления обратной связью l oop, другими словами. Со всеми вопросами о стабильности, конвергенции и пр. c, которые применимы. Так что немного понимания теории управления может быть весьма полезным здесь. Я бы порекомендовал YUV-выход низкого разрешения (возможно, 640x480?) Для ImageReader с камеры, чтобы использовать его в качестве источника данных, а затем просто смотрю на канал Y. В этом случае не нужно тратить кучу данных.
Или, как упоминалось в hb0, если у вас очень ограниченный набор внешних условий, вы можете попробовать жестко закодировать значения для каждого из них. Но диапазон яркости наружного освещения может быть довольно большим, поэтому для его работы потребуется немало испытаний, чтобы убедиться, что он будет работать, плюс ручной выбор правильных значений каждый раз.