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

Date: 2017-02-01 03:31 pm (UTC)
From: [identity profile] alextutubalin.livejournal.com
Сишный пример libraw лежит там в каталоге samples/

Их там аж три.

Но скорее всего с наскоку - вашу камеру не распознает, надо строчку добавить по типу тех, что описывают андроидные дампы сенсора.

Date: 2017-02-01 03:41 pm (UTC)
From: [identity profile] eddy-em.livejournal.com
Спасибо, посмотрю. Камеру мне не надо распознавать (да и не распознает ее эта штука: я, похоже, первый, кто сделал на С интрфейс к этой камере), мне надо с сырым набором байтов работать.

Date: 2017-02-01 04:22 pm (UTC)
From: [identity profile] alextutubalin.livejournal.com
Такие камеры системы "дамп данных с сенсора" мы распознаем исключительно по размеру файла.

Date: 2017-02-02 07:38 am (UTC)
From: [identity profile] eddy-em.livejournal.com
Судя по примерам и документации, использовать эту библиотеку с наскока не получится: только выдирать нужные функции и компоновать отдельно. А жаль...

Date: 2017-02-02 07:50 am (UTC)
From: [identity profile] alextutubalin.livejournal.com
Добавить поддержку дампа пикселов для конкретной камеры
- или +1 строчка в коде
- или подать фактически эту же строчку в parse_custom_cameras() и подсунуть потом в параметры.

Но мне нужен этот дамп (не так чтобы очень нужен - можете трахаться сами если предпочитаете так)

Date: 2017-02-02 07:59 am (UTC)
From: [identity profile] eddy-em.livejournal.com
В каком виде нужен дамп? Бинарный файл или текстовый с hex?

Date: 2017-02-02 08:08 am (UTC)
From: [identity profile] alextutubalin.livejournal.com
Бинарный.

Прямо вот такой какой libraw будем подсовывать.

Я ж написал там выше (про порядок байт и тп)

Date: 2017-02-02 08:36 am (UTC)
From: [identity profile] eddy-em.livejournal.com
Для этой картинки: https://drive.google.com/open?id=0B859YEB17d8vdzZZbk8zRmZ6S0E
дамп: https://drive.google.com/open?id=0B859YEB17d8veDVlUUpJNzJsXzg

Формат uint16_t, little endian, 640x480 пикселей, сохранено построчно. Экспозиция 0.5с. Получился эдакий псевдофлэт (морду я обмотал белой бумагой).
Edited Date: 2017-02-02 08:38 am (UTC)

Date: 2017-02-02 12:07 pm (UTC)
From: [identity profile] alextutubalin.livejournal.com
Это не псевдофлет, это тотальный пересвет.

Вот патчик к LibRaw (к dcraw.c тоже подойдет, найдете там эту табличку в identify() и руками поставите), дамп совпадает по размеру с сенсором Kodak KAI-0340, поэтому кодак я закомментировал:

diff --git a/internal/dcraw_common.cpp b/internal/dcraw_common.cpp
index 4738c29..df78fde 100644
--- a/internal/dcraw_common.cpp
+++ b/internal/dcraw_common.cpp
@@ -15318,7 +15318,8 @@ void CLASS identify()
{12241200, 4040, 3030, 2, 0, 0, 13, 0, 0x49, 0, 0, "Kodak", "12MP"},
{12272756, 4040, 3030, 2, 0, 0, 13, 0, 0x49, 0, 0, "Kodak", "12MP", 31556},
{18000000, 4000, 3000, 0, 0, 0, 0, 0, 0x00, 0, 0, "Kodak", "12MP"},
- {614400, 640, 480, 0, 3, 0, 0, 64, 0x94, 0, 0, "Kodak", "KAI-0340"},
+// {614400, 640, 480, 0, 3, 0, 0, 64, 0x94, 0, 0, "Kodak", "KAI-0340"}, // Same size, so disable Kodak for it
+ {614400, 640, 480, 0, 0, 0, 0, 0, 0x94, 0, 0, "Some", "Shit"},
{15360000, 3200, 2400, 0, 0, 0, 0, 96, 0x16, 0, 0, "Lenovo", "A820"},
{3884928, 1608, 1207, 0, 0, 0, 0, 96, 0x16, 0, 0, "Micron", "2010", 3212},
{1138688, 1534, 986, 0, 0, 0, 0, 0, 0x61, 0, 0, "Minolta", "RD175", 513},


Но я не уверен в том что каналы угадал, мне бы чего цветное с известными цветами, а то вдруг я не тот паттерн подставил байеровский, по этой картинке не узнать, все белое.

Следующим сообщением - скриншоты из RawDigger (может упасть в спам - поэтому отдельным)

Date: 2017-02-02 01:32 pm (UTC)
From: [identity profile] eddy-em.livejournal.com
Сделал, скомпилировал, запускаю ./simple_dcraw dump.bin — получается черт-те что:
Edited Date: 2017-02-02 01:32 pm (UTC)

Date: 2017-02-02 01:48 pm (UTC)
From: [identity profile] alextutubalin.livejournal.com
Кодак не закомментировали?

Это егонный декодер срабатывает, я такую картинку уже видал сегодня

Date: 2017-02-02 01:58 pm (UTC)
From: [identity profile] eddy-em.livejournal.com
А, черт! Я названия оставил — не думал, что повлияют. Поменял и их, получилось вот что:


Вполне прилично. Разве что цветовые профили надо пилить. Но скорость, конечно, намного выше, чем в алгоритме Buades & Co.
Edited Date: 2017-02-02 02:02 pm (UTC)

Date: 2017-02-02 02:03 pm (UTC)
From: [identity profile] alextutubalin.livejournal.com
Повлияют.

Там по make/model потом разруливается.

Очень это хрупкое место и черезжопное - разбор raw имени dcraw (а мы оттуда много наследуем)

Date: 2017-02-02 02:04 pm (UTC)
From: [identity profile] alextutubalin.livejournal.com
Ну и снимите светофор о трех цветах (подписанных, где красный, где какой).

Потому что у меня вот нет уверенности, что там CFA pattern сейчас правильная.

Date: 2017-02-02 02:10 pm (UTC)
From: [identity profile] eddy-em.livejournal.com
Могу в стандартных фильтрах b, v и r снять. Я как раз турельку с ними собрал — сегодня думали проницаемость тракта спектрографа замерить.

Date: 2017-02-02 03:16 pm (UTC)
From: [identity profile] eddy-em.livejournal.com
Понаснимал:
https://drive.google.com/open?id=0B859YEB17d8vSjdoMUhYTDRtbzQ

В фильтрах B,V и R экспозиция по 2 секунды. Фильтры — стандартные джонсоновские.
Еще приложил дампы дарков: 2, 10, 100 и 300 секунд.
Судя по статистике, bias где-то на уровне 1400. Шум примерно на уровне 0.24 отсчета в секунду.

Date: 2017-02-02 03:37 pm (UTC)
From: [identity profile] alextutubalin.livejournal.com
А чего у них размер внезапно не тот что был?

Date: 2017-02-02 03:55 pm (UTC)
From: [identity profile] eddy-em.livejournal.com
Это обрезанный вариант. Там четыре варианта есть: полномасштабный, обрезанный, биннинг 2х2 и фрейм (до 127х127 пикселей). Камера умеет сама дарки вычитать для второго и третьего вариантов.
Edited Date: 2017-02-02 03:56 pm (UTC)

Date: 2017-02-02 04:07 pm (UTC)
From: [identity profile] alextutubalin.livejournal.com
Обрезанному варианту нужна другая строчка.

Надеюсь, вы сумеете ее сделать по образу и подобию

Date: 2017-02-02 12:09 pm (UTC)
From: [identity profile] alextutubalin.livejournal.com
В диггере я это вижу так: https://www.dropbox.com/s/5j0otqfjqtx4dst/Screenshot%202017-02-02%2015.08.03.png?dl=0

А гистограмма, ну как и глазом видно, тотальная засветка, легли на максимум АЦП (или какой еще максимум) везде: https://www.dropbox.com/s/0hsxqrrnw34fq7n/Screenshot%202017-02-02%2015.08.58.png?dl=0

Date: 2017-02-02 12:12 pm (UTC)
From: [identity profile] alextutubalin.livejournal.com
В-общем, в dcraw закомментируйте kodak, добавьте мою строчку, если я там не угадал (я и не угадывал, скопипастил) паттерн, то возможные значения 9-го поля:

0x94, 0x49, 0x16, 0x61 (в принципе, если два зеленых отличаются, то возможны еще варианты).

Ну или дайте что-нибудь цветное с известным цветом (только ярким, идеально чтобы было и красное и зеленое и синее яркие в кадре) - подберу сам.

Date: 2017-02-02 12:13 pm (UTC)
From: [identity profile] alextutubalin.livejournal.com
Ну и темновые кадры нужны, кстати.

На нормальной выдержке и на минимально короткой. Оценить bias (уровень черного) и тоже в табличку добавить, иначе линейность уползет.

Date: 2017-02-02 01:10 pm (UTC)
From: [identity profile] eddy-em.livejournal.com
Спасибо, попробую сделать.
Чуть позже выложу кадры.

April 2025

S M T W T F S
  1 23 45
67 89101112
13141516171819
20212223242526
27282930   

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated May. 22nd, 2025 10:48 pm
Powered by Dreamwidth Studios