Я работаю в проекте Android с использованием OpenCV, и я использую поверхность для реализации собственной камеры, потому что я хочу предоставить пользователю обратную связь о картине, которую они принимают, чтобы помочь им улучшить ее качество. То, что я пытаюсь сделать, - определить, как темное изображение, которое они собираются взять, и предложить им использовать вспышку. Заранее спасибо.Как узнать, слишком ли слишком темное изображение, для которого требуется вспышка, используя OpenCv
Как узнать, слишком ли слишком темное изображение, для которого требуется вспышка, используя OpenCv
ответ
Если у вас есть контроль над параметрами камеры, подумайте над установкой на них перед использованием вспышки. Если вы хотите x2 фактора на глобальном воздействии, вы можете:
- размножается время экспозиции по
- значения деления диафрагмы (или диафрагменного числа) по sqrt (2)
- умножить набрать по (это добавит некоторый шум)
Теперь, чтобы ответить на этот вопрос, если вы уже знаете, как получить доступ к пикселей в изображении с OpenCV
, я сначала рекомендую вам преобразовать его в оттенках серого с помощью cvtColor
, то вы можете вычислить (для каждого изображения) сумму интенсивностей пикселей (cv::sum
) и определить порог, при котором изображение «слишком темное».
Exemple псевдо кода (это должно быть уточнено в соответствии с вашими потребностями/приложения):
while sum(pixels) < threshold
it_nb=0
exp_time += 0.1 (second)
if it_nb>fixed_limit or if (exp_time/gain cannot be increased anymore)
print 'use flash'
break
обратите внимание, что увеличение времени экспозиции также увеличит шум. Я исправил ошибку в вашем ответе. f-number нужно уменьшить, чтобы получить больше света! – Piglet
Гистограммы очень хороший инструмент, чтобы судить о яркости и контрастности изображения. прочитать что-то о них и как их интерпретировать. кроме того, в Интернете должно быть много ресурсов. просто алгоритм автоматической экспозиции Google, например. вы найдете много статей о том, что происходит в цифровых камерах. Я уверен, что будет и что-то полезное в flash. – Piglet