Новое на форуме

Canon PowerShot S... ->
[06.09.21 19:09] aleksey
PowerShot A3200 I... ->
[08.12.18 22:50] grandgreed
Проблемы с устано... ->
[24.12.17 19:28] AlexKooper
Powershot G12 ->
[13.09.17 14:33] slod
PowerShot SX160 ->
[23.01.17 03:20] WillieWhomy
Русский Хелп по а... ->
[22.01.17 21:12] Frankabunk
Чем отличается те... ->
[22.01.17 21:11] Frankabunk
Canon PowerShot S... ->
[22.01.17 21:10] Frankabunk
Главная » Статьи » О CHDK

Print
Вычитание темнового кадра
Здесь просто накидана информация с Wiki и отсюда:
http://forum.ixbt.com/topic.cgi?id=20:21312:313#313
Нужно переработать, убрать повторы,
почистить и сделать понятнее и закончить.
Честно? Мне лениво....
Ryabchik




Цифровой шум изображения проявляется в виде случайным образом расположенных точек, имеющих размеры близкие к размеру пикселя.

Цифровой шум изображения в основном состоит из двух компонент: темнового тока и случайного шума. В данной статье я рассмотрю только причины возникновения темнового тока и способы борьбы с ним


Темновой ток
Темновой ток это сигнал, возникающий на выходе ПЗС-матрицы при отсутствии падающего света. Самая близкая аналогия - шипение в колонках, при отсутствии источника звука.
Распределение темнового тока зависит от физического состояния матрицы, температуры и имеет более-менее постоянную структуру. По-другому "картинку", которую выдает CCD-матрица при отсутствии света, можно назвать картой неоднородностей ПЗС-матрицы. Карта этих неоднородностей, при постоянной температуре, меняется только из-за постепенного старения ПЗС-матрицы, т.е. очень медленно. Казалось бы что в этом случае избавиться о шума довольно просто: заранее составить карту неоднородностей, и при съемке фотографии при помощи такой карты учесть все неоднородности изображения. К сожалению так просто - не получается. Карта неоднородностей будет различной для каждой выдержки, температуры матрицы, и все-таки будет медленно меняться в связи со старением матрицы. Может быть в течение 1 месяца произойдут не слишком существенные изменения, но в течение 2х лет карта может сильно измениться. Потому на длинных выдержках, где как раз существенную роль начинает играть темновой ток (он же ограничивает максимальную величину выдержки на CCD-матрицах, см ниже) используют вспомогательный RAW-файл (назовем его RAWD), снимаемый в таких же точно условиях, как и основной RAW, только с закрытым затвором. После съемки RAWD, в простейшем случае из RAW1 вычитается темновой RAWD, после чего регулярный шум в тенях исчезает (но растет его случайная составляющая). Есть и более сложные алгоритмы, но они скорее всего используются в профессиональной астрофотографии.Цифровой шум изображения проявляется в виде случайным образом расположенных точек, имеющих размеры близкие к размеру пикселя.


Темновой ток CCD-матрицы корректируется методом вычитания сигнала с сенсоров находящихся в полной темноте, из сигнала получаемого при экспонировании фотографии.
Подавление цифрового случайного шума проводится усреднением по различным алгоритмам.


Пример.
пусть снимается решетка - последовательность белых-черных полос, с недодержкой (так, что сигнал, регистрируемый матрицей ненамного больше темнового тока). Пусть на CCD-матрице восемь пикселей в линию. За время экспозиции они накопят заряд, который будет считан и оцифрован.

Пусть средний темновой ток(т.е. при съемке в полной темноте в течении 1 сек.) по пикселям будет:
#1: 1 mV/сек
#2: 3 mV/сек
#3: 17 mV/сек (сильно горячий пиксель)
#4: 2 mV/сек
#5: 5 mV/сек
#6: 3 mV/сек
#7: 1 mV/сек
#8: 4 mV/сек

Порог насыщения по пикселям:
#1: 1000 mV
#2: 1000 mV
#3: 1000 mV
#4: 1000 mV
#5: 1000 mV
#6: 1000 mV
#7: 1000 mV
#8: 1000 mV


Снимаем RAW#1 - Сигнал с нашей матрицы при выдержке 2 секунды, мы снимаем простую решетку (белый-черный-белый-черный...)
#1: (1*2 + 2) mV = 4 mV
#2: (3*2 + 0) mV = 6 mV
#3: (17*2 + 2) mV = 36 mV
#4: (2*2 + 0) mV = 4 mV
#5: (5*2 + 2) mV = 12 mV
#6: (3*2 + 0) mV = 6 mV
#7: (1*2 + 2) mV = 4 mV
#8: (4*2 + 0) mV = 8 mV
(плюс случайный шум, пока не учитываем)


Получается какая-то мешанина, что фотографировали - непонятно (виноват темновой ток). Также видим #3 - горячий пиксель. Даже если его заметит и уберет интерполяцией умный RAW-конвертер, будет довольно сложно узнать ту решетку 2-0-2-0-2-0-2-0, которую мы фотографировали. Поскольку неоднородности нашей матрицы дают сигнал по величине больший, чем сам полезный сигнал. Теперь мы закрываем объектив непрозрачной крышкой, выставляем ту же выдержку, что при фотографировании и, пока температура матрицы не успела сильно измениться, снимаем RAWD(в нормальных условиях такой кадр автоматически делает фотоаппарат):

RAWD - чистый темновой ток за 2х секундную выдержку - при закрытом затворе или объективе.
#1: 1*2 mV
#2: 3*2 mV
#3: 17*2 mV (сильно горячий пиксель)
#4: 2*2 mV
#5: 5*2 mV
#6: 3*2 mV
#7: 1*2 mV
#8: 4*2 mV
(плюс случайный шум, пока не учитываем)

вычитаем из RAW#1 наш темновой кадр RAWD:
RAW#2[] = RAW#1[]-RAWD[]
#1: (4-2) mV = 2 mV
#2: (6-6) mV = 0 mV
#3: (36-34) mV = 2 mV
#4: (4-4) mV = 0 mV
#5: (12-10) mV = 2 mV
#6: (6-6) mV = 0 mV
#7: (4-2) mV = 2 mV
#8: (8-8) mV = 0 mV
Вот, теперь исходная решетка проявилась! Динамический диапазон нашей линейки/матрицы чудесным образом расширен, и диапазон доступных выдержек тоже.

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

Также, порог насыщения RAW#2 станет неоднородным:
#1: (1000-2) mV
#2: (1000-6) mV
#3: (1000-34) mV
#4: (1000-4) mV
#5: (1000-10) mV
#6: (1000-6) mV
#7: (1000-2) mV
#8: (1000-8) mV

Из-за нелинейного ответа глаза на величину стимула неоднородности в светлых и пересвеченных участках не будут заметны (в отличие от теней), и даже такой простой метод как вычитание в фотографической практике замечательно работает.

Ограничение по выдержке достигается когда темновой ток начинает приближаться к порогу насыщения(т.е. если из фотографии вычесть темновой кадр, то почти ничего не останется от картинки). Тут поможет только заморозка матрицы, увеличение ее размера и/или размера пикселя, что и делается в матрицах для астрофизики по несколько тысяч $ за штуку.

Далее, в нашем случае все эти операции фотик проделывает самостоятельно. И может выдавать RAW1 - просто инфа с матрицы (HDK сохраняет по дефолту)
RAW2 - разность RAW1 и темнового кадра, который и используется для производства камерного jpeg (в новой версии HDK нужно выбрать пункт меню "After dark frame substract").




Кстати, вычитание темнового кадра (шумодав) у меня дает обратный эффект  - шума больше становится при включенной опции... В чем трабла? При включенной опции шумадава прекрасно видно как камера делает темновой кадр, а потом уже сохраняет РАВ. Но вот результат получается обратный ожидаемому  Снимал естественно с одинаковыми настройками и со штатива...

по-моему, шум имеет случайный характер и не может быть снижен таким образом

Конечно, ведь шум картинки складывается с шумом темнового кадра. Поскольку шум случаен, то результирующий шум в √2 раз больше, чем шум самого кадра. По идее, нужно наснимать много темновых кадров, усреднить их и только затем вычитать. Можно для уменьшения шума усреднять сами кадры (CHDK это умеет), но это не решит проблему "горячих" пикселей.

Наилучший вариант:
1) сделать ого снимков сцены
2) усреднить снимки.
3) сделать много темновых кадров
4) усреднить темновые кадры.
5) вычесть из пункта 2 пункт 4
Категория: О CHDK | Добавил: Ryabchik (21.04.09)
Просмотров: 5709 | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]

Поиск

v