LibRaw 0.5.4

Вышла LibRaw 0.5.4. Краткий список изменений:

  • Импортирована последняя версия dcraw (8.87), добавлена поддержка шести новых камер: Canon 1000D, A720, SD300; Nikon D700, Olympus E-520,Kodak C603.
  • Ввод-вывод через mmap() заменен на (старый) ввод-вывод через FILE. Скорость не пострадала, памяти нужно меньше.
  • Лицензирование изменено с GNU GPL v3 (или новее) на GNU GPL v2 (или новее).

Пользуюсь случаем, чтобы напомнить:

LibRaw - это библиотека для чтения RAW-файлов, получаемых с цифровых фотокамер (CRW/CR2,NEF,RAF,DNG и других).
LibRaw основана на исходных текстах утилиты dcraw, часть недостатков которой исправлена, а часть будет исправлена в дальнейшем. Пользователям библиотеки предлагается API для встраивания в свои программы.
Если вы не программист, а фотограф, то вам может быть полезна входящая в поставку утилита half_mt, которая функционально эквивалентна dcraw -h, но на многопроцессорных/многоядерных машинах работает в разы быстрее.

Comments

А чтение DNG (заодно с поддержкой DNG 1.2) на SDK от Adobe перевести не хотите?

А причем тут DNG?

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

Ну, было бы разумно читать DNG ещё и от других камер, полученный через DNG Converter от Adobe :)
Вдруг кто-то хранит свои RAW'вы в таком виде.

С учетом TODO, это невозможно для первой версии DNG (утеряна черная рамка). На новые версии надо посмотреть, что они туда кладут, может быть тоже не то.

Вообще, основная проблема с DNG - это метаданные. В самом формате их недостаточно для нормальной обработки, значит надо честно парсить EXIF (который там есть), но это саму идею завершенного формата пока убивает.

Хм. Теги для рамки были в DNG 1.1 точно. Иначе как оно вообще работает для камер с "родным" DNG?
Да и EXIF -- DNG это же TIFF, а у него есть практически все теги, что и у EXIF'а, EXIF же и был сделан как недо-TIFF, или я ошибаюсь?
И мне кажется, что слава богу, что они взяли для метаданных TIFF/EXIF и не стали придумывать очередной формат.

Да, в 1.1 рамка была (но ее заявленная цель - другая), а вот в 1.0 - не было.

А с EXIF проблема не в том, что его трудно распарсить, тут никаких проблем нет, а в том, что там форм жизни очень уж дофига. Кто-то кладет баланс белого как 3(4) коэффициента, кто-то - как матрицу 3x3, кто-то вообще шифрует (как Nikon). При этом, Adobe предполагает, что из камерных данных сделают матрицу 3x3 и положат ее в DNG, а это даже методологически неверно (увеличивает шумы).

Про оптику (модель, серийный номер и т.п.) - никаких стандартных полей в DNG нет, а значит нужно опять парсить Exif (который у каждого производителя свой) либо же распрощаться с идеей автоматической коррекции искажений (дисторсии, виньетирования, цветных каемок).

И таких мест - очень много.

Немного не в тему вопрос, но хотелось бы разобраться ;)
Все чаще натыкаюсь на информацию о том, что, дескать, RAW нынче "не тот пошел". То есть, что в новых камерах (700-ка Сони, Д300 и т.д.) RAW - это уже не непосредственно с матрицы снятая информация, а уже прошедшая какую-то обработку в процессоре камеры.

Вот и хотелось бы уточнить у специалиста: обоснована ли эта информация, как оно?

Спасибо :)

Я с Nikon (и тем более Sony) в фотографической жизни не сталкиваюсь, практически.

Но насколько я знаю про тот же D300/D3 - в тамошних АЦП есть возможность шумопонижения (вычитания "остаточного тока"), но используется ли оно по схемотехнике - не знаю.

Кроме того:
* во многих камерах есть вычитание темнового кадра при длинных выдержках
* в ряде камер есть вычитание "уровня черного" (который ненулевой), примеры: Kodak SLR/c, SLR/n, кажется что-то такое есть у Minolta (и возможно унаследовала Sony)
* в ряде камер есть сжатие (с потерями!). Nikon Compressed NEF - это оно.
* в ряде камер (в голову приходит Nikon D2-что-то, но могу сильно наврать в этом месте) к RAW прикладывается баланс белого.

Другими словами, да какой-то обработкой многие занимаются и это очень плохо.

Полный оффтопик.
А ты чем-нибудь GPS-треки своих поездок редактируешь и анализируешь?
А то у меня вот такой список требований появился, а решения даже близко не видно:

http://community.livejournal.com/ru_gps/92285.html

Ответил там.