Difference between revisions of "Talk:Autoexposure rus"

From ElphelWiki
Jump to: navigation, search
 
 
(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)