Difference between revisions of "Talk:Autoexposure rus"
(3 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
+ | Перенес сюда из статьи - там лучше держать документацию, обсуждения - здесь: | ||
+ | |||
+ | На данный момент реализовал алгоритм автоэкспозиции, при заборе одиночных изображений через web-интерфейс надо получить несколько изображений подряд, пока погрешность не станет приемлемой. | ||
+ | ''Кстати - не обязательно, сенсор работает и гистограммы вычисляются все время, пока SENSOR_STATE=7 --[[User:Andrey.filippov|Andrey.filippov]] 00:23, 24 November 2005 (CST)'' | ||
+ | |||
+ | |||
+ | Алгоритм весьма далек от идеального, т.к. дребезжит. Вот собственно цитата вопроса: | ||
+ | |||
+ | ---- | ||
+ | |||
+ | "Вы не знаете, где можно найти описание алгортимов, используемых для | ||
+ | автоэкспозиции? | ||
+ | Тот, который я сейчас реализовал, страдает "дребезжанием": | ||
+ | |||
+ | 1. Если сцена недоэкспонирована, т.е. число пикселей с значением == 0 | ||
+ | (или четверти допустимой переэкспонированной площади), то ищем сверху индекс | ||
+ | V, в котором число пикселей не равно нулю, и коэффициент умножения | ||
+ | будет K = V/254.0; | ||
+ | |||
+ | 2. Если сцена переэкспонирована, то K=SUM[число пикселей с значениями от | ||
+ | 250(или 254) до 255]/[допустимая площадь переэкспонирования], if(K < 0.5) | ||
+ | K = 0.5; | ||
+ | |||
+ | 3. Если число площади меньше области пересветки, и больше 0 (или | ||
+ | четверти области пересветки), то K=1.0 | ||
+ | |||
+ | В части 2 алгоритма все ок - если сцена переэкспонирована, то мы не знаем, | ||
+ | на сколько можно опустить время экспозиции, главное - опустить, пока | ||
+ | не получится условие 1 или 3. | ||
+ | Но после этого в условии 1 используется неоптимальный алгоритм - в | ||
+ | результате, если большая часть сцены равномерно освещена, то | ||
+ | получается, что при оптимальной экспозиции область пересветки будет | ||
+ | больше небольшой площади пересветки, и в цикле идут шаги 1/2. Вы не в | ||
+ | курсе, как с таким можно бороться?" | ||
+ | Spectr | ||
+ | |||
+ | |||
+ | ---- | ||
+ | |||
Как я уже написал в английской версии обсуждения, автоматическая настройка яркости состоит не только в выдержке, но и в регулировки аналоговых усилений, изменении таблицы "гамма", а потом еще и регулировки диафрагмы, когда это будет возможно. Так же могут быть очень разные условия освещения и цели настройки, поэтому я предлагаю подумать - нельзя ли реализовать интерпретацию какого-то языка для описания алгоритма настройки? | Как я уже написал в английской версии обсуждения, автоматическая настройка яркости состоит не только в выдержке, но и в регулировки аналоговых усилений, изменении таблицы "гамма", а потом еще и регулировки диафрагмы, когда это будет возможно. Так же могут быть очень разные условия освещения и цели настройки, поэтому я предлагаю подумать - нельзя ли реализовать интерпретацию какого-то языка для описания алгоритма настройки? | ||
− | Или может быть - совокупность "тупых" алгоритмов в камере и динамический выбор между ними на клиенте (javascript)? | + | Или может быть - совокупность "тупых" алгоритмов в камере и динамический выбор между ними на клиенте (javascript)?--[[User:Andrey.filippov|Andrey.filippov]] 00:19, 24 November 2005 (CST) |
Latest revision as of 23:24, 23 November 2005
Перенес сюда из статьи - там лучше держать документацию, обсуждения - здесь:
На данный момент реализовал алгоритм автоэкспозиции, при заборе одиночных изображений через web-интерфейс надо получить несколько изображений подряд, пока погрешность не станет приемлемой. Кстати - не обязательно, сенсор работает и гистограммы вычисляются все время, пока SENSOR_STATE=7 --Andrey.filippov 00:23, 24 November 2005 (CST)
Алгоритм весьма далек от идеального, т.к. дребезжит. Вот собственно цитата вопроса:
"Вы не знаете, где можно найти описание алгортимов, используемых для автоэкспозиции? Тот, который я сейчас реализовал, страдает "дребезжанием":
1. Если сцена недоэкспонирована, т.е. число пикселей с значением == 0 (или четверти допустимой переэкспонированной площади), то ищем сверху индекс V, в котором число пикселей не равно нулю, и коэффициент умножения будет K = V/254.0;
2. Если сцена переэкспонирована, то K=SUM[число пикселей с значениями от 250(или 254) до 255]/[допустимая площадь переэкспонирования], if(K < 0.5) K = 0.5;
3. Если число площади меньше области пересветки, и больше 0 (или четверти области пересветки), то K=1.0
В части 2 алгоритма все ок - если сцена переэкспонирована, то мы не знаем, на сколько можно опустить время экспозиции, главное - опустить, пока не получится условие 1 или 3. Но после этого в условии 1 используется неоптимальный алгоритм - в результате, если большая часть сцены равномерно освещена, то получается, что при оптимальной экспозиции область пересветки будет больше небольшой площади пересветки, и в цикле идут шаги 1/2. Вы не в курсе, как с таким можно бороться?" Spectr
Как я уже написал в английской версии обсуждения, автоматическая настройка яркости состоит не только в выдержке, но и в регулировки аналоговых усилений, изменении таблицы "гамма", а потом еще и регулировки диафрагмы, когда это будет возможно. Так же могут быть очень разные условия освещения и цели настройки, поэтому я предлагаю подумать - нельзя ли реализовать интерпретацию какого-то языка для описания алгоритма настройки?
Или может быть - совокупность "тупых" алгоритмов в камере и динамический выбор между ними на клиенте (javascript)?--Andrey.filippov 00:19, 24 November 2005 (CST)