Дебайеризация
Feb. 1st, 2017 08:32 am![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Что-то сильно расхваливаемый авторами алгоритм дебайеризации дает довольно-таки много артефактов:

Работает, кстати, медленно. Код мало того, что не оптимизирован, так еще и авторы зачем-то почти чистый (ну, заменить new на malloc, а delete на free — и будет совсем чистый) сишный код в cpp файлы запихали.
Ищу дальше...

Работает, кстати, медленно. Код мало того, что не оптимизирован, так еще и авторы зачем-то почти чистый (ну, заменить new на malloc, а delete на free — и будет совсем чистый) сишный код в cpp файлы запихали.
Ищу дальше...
no subject
Date: 2017-02-01 03:27 pm (UTC)Тут прежде чем пробовать алгоритм - хорошо бы на сами данные посмотреть.
В частности, вот эта вот регулярная хрень в светах на картинке - в исходных данных нет такой же хрени?
Если есть, то чего на байера (демозаику) пенять, ей че дали, то она и сделала.
Если вы умеете выгнать эти данные в дамп (без заголовка, ну там 16 бит на пиксель) - RawDigger сумеет их прочитать (см. раздел Support of non-standard cameras в его мануале в разделе настроек).
Ну или дайте пару файликов для опытов, гляну.
no subject
Date: 2017-02-01 03:29 pm (UTC)Мне нужны бы пара файликов с изображением и пара темновых т.е. снятых на той же выдержке (и температуре), но с объективом закрытым крышкой.
Посмотрим что там за полосатость и нет ли ее в темновых кадрах тоже.
no subject
Date: 2017-02-01 03:42 pm (UTC)no subject
Date: 2017-02-01 03:39 pm (UTC)Ту (стороннюю) утилиту, вообще, на самом деле неплохо было бы на реальном снимке неба проверить. Вдруг и она сгодится? Учитывая то, что считывание данных с матрицы длится около минуты, те 5-10 секунд, что работает утилита — фигня.
Примеры:
https://drive.google.com/open?id=0B859YEB17d8vd2ktYUJMMHIyQlE
https://drive.google.com/open?id=0B859YEB17d8vbWVRZTk3cTNoa2c
https://drive.google.com/open?id=0B859YEB17d8vbWVRZTk3cTNoa2c
no subject
Date: 2017-02-01 04:24 pm (UTC)Но судя по tiff - у вас там реально же вот сеточка в светах. То есть надо или баланс белого применять, или еще чего хорошее.
Де-байеризатор отработал как надо. Дали ему сеточку - он ее нарисовал почетче.
no subject
Date: 2017-02-01 05:24 pm (UTC)> дамп сенсора
Просто бинарные данные? Так их из тифа чем угодно можно вытащить - хоть той же октавой. В каком формате нужны данные?
no subject
Date: 2017-02-01 05:40 pm (UTC)То есть я больше 5 минут на это не собираюсь тратить (примерно столько нужно для поддержки новой камеры типа "дамп сенсора")
Дамп мне нужен
- раз у вас там 16-битный АЦП, то вот прямо 2 байта на пиксель.
- порядок байт в слове - без разницы, но (чуть) лучше интеловский.
- нужно знать сколько строк-столбцов в сенсоре
- нужно знать как сделан дамп, по строкам или столбцам (удобнее - по строкам).
Если с одного раза получится - будет вам libraw с поддержкой вашей камеры.
Что касается флетов: раз у вас там байер т.е. светофильтры, то в зависимости от освещения будет (не может не быть) разбаланс по каналам (т.е. серая карта имеет разные сигналы в каналах), а значит нужен баланс белого.
Его можно накладывать до дебайера, можно после (тоже нормально выходит), но обычно делают до.
no subject
Date: 2017-02-01 05:56 pm (UTC)Про баланс белого — имеете в виду деление на флэт?
no subject
Date: 2017-02-01 06:14 pm (UTC)Обычно просто на поканальные коэффициенты умножают.
Вот представьте хорошую серую карту (с плоским спектром).
Вы на нее посветили лампой накаливания (сильно желтая), а другой раз - голубым небом (сильно синее).
Поканальные отклики (их отношение) будут же разные? А карта - как была серой, так и осталась.