LibRaw 0.16 Release

Выпущена LibRaw 0.16-Release:
  • 47 новых камер:
    • Baumer TXG14
    • Blackmagic Cinema
    • Canon EOS 70D, C500, S120, G16
    • Fujifilm X-M1, X-A1, XE2, XQ1
    • Hasselblad Lunar, Stellar
    • Leica C, X VARIO
    • Nikon D5200, P7800, D5300, D610, Df, 1 AW1
    • Nokia Lumia 1020, 1520
    • Olympus E-P5,E-M1, STYLUS1
    • OmniVision OV5647 (Raspberry Pi)
    • Panasonic LF1, GX7, GF6, GM1
    • Pentax K-50, K-500, Q7,K-3
    • Richon GR
    • Samsung NX300, NX1100, NX2000, Galaxy NX (EK-GN120)
    • Sony RX100II, RX1R, NEX-3N,NEX-5T, RX10, A3000 (ILCE-3000), A7, A7R

LibRaw 0.16 Beta1

Изменения/обновления в LibRaw 0.16-Beta1:
  • 12 новых камер.
  • Для 5 камер обновлены цветовые данные, они теперь не "примерные", а нормальные.
  • Правильное определение видимой области для Sigma pre-Merrill, файлы "маленького" и "промежуточного" размера, а так же для Canon G16.
  • Улучшен разбор EXIF для камер Nikon.
  • Улучшена обработка цветовых данных из EXIF для камер Olympus.
  • Улучшена совместимость с Visual Studio 2003.
  • Улучшены Cmake-правила для сборки MinGW.

LibRaw 0.15.4

Вышла LibRaw 0.15.4:
  • Дополнительные проверки целостности данных
  • Поддержка новых камер
    • Richon GR
    • Panasonic LF1
    • Canon EOS 70D
    • Sony RX100II, RX1R
    • Olympus E-P5
  • Размеры raw-данных копируются из RawSpeed (если эта библиотека использовалась при декодировании)

LibRaw 0.15.0 Release

LibRaw 0.15-Release доступна для скачивания и использования.

Основные изменения (относительно ветки 0.14) таковы:

  • Поддержка новых камер:
    • Adobe DNG: поддержка Fast Load DNG (LightRoom 4.x), поддержка lossy-compressed DNG (LR 4.x, необходима сборка с libjpeg 6+)
    • Canon: G1 X, SX220 HS, EOS 5D Mark III, EOS 650D, EOS 1D-X, 100D (Rebel SL1), 700D (Rebel T5i),6D,EOS M,G15, S110, SX50
    • Casio: X-S1, HS30EXR, X1-Pro,EX-ZR100,EX-Z8
    • Fujifilm: X-E1,X20, X100S,SL1000, HS50EXR,F800EXR, XF1
    • Imacon Ixpress 39Mpix: Multishot-файлы
    • Leica: D-LUX6 и V-LUX4
    • Nikon: D4, D3200, D800, D800E,1 J2, 1 V2, D600,1 J3, 1 S1, Coolpix A, Coolpix P330, Coolpix P7700, D7100
    • Olympus: E-M5, XZ-2, XZ-10, E-PL5, E-PM2
    • Panasonic: G5, G6, DMC-GF5, FZ200, GH3, LX7
    • Pentax: MX-1, K-5 II, K-5 IIs, K-30, Q10
    • Samsung: EX2F, NX20, NX210, поддержка нового firmware NX100
    • Sigma: SD15,SD1, SD1 Merill, DP1, DP1S, DP1X, DP2, DP2S, DP2X (только в Demosaic-pack-GPL2)
    • Sony: SLT-A58, RX-1, SLT-A99, NEX-5R, NEX-6, NEX-F3, SLT-A37, SLT-A57
  • Изменения в API
    1. dcraw_process() можно вызывать несколько раз без переоткрытия файла (с разными параметрами).
    2. Удалены т.к. никто не использует
      • вызов LibRaw::dcraw_document_mode_processing (и соответствующий вызов C-API)
      • Поле данных imgdata.color.color_flags
    3. LibRaw::unpack() раскодирует данные в отдельный буфер, в зависимости от типа данных:
      • imgdata.rawdata.raw_image - 1 цветовой компонент на пиксель (байеровские и ч-б камеры)
      • imgdata.rawdata.color3_image - 3 компонента на пиксель (sRAW/mRAW при использовании RawSpeed)
      • imgdata.rawdata.color4_image - 4 компонента на пиксель (4-й может не использоваться)
    4. Поддержка сборки с библиотекой RawSpeed (http://rawstudio.org/blog/?p=800) Детали в README.RawSpeed.
    5. Подавление бэндинга (полосатости)
    6. Новые вызовы API
      • recycle_datastream(),
      • open_file(wchar_t*) (Win32)

LibRaw 0.14.8 Release

LibRaw 0.14.8 Release исправляет несовместимости с gcc 4.8
  • Исправлена ошибка в коде функции sony_decrypt(), приводившая к неверному чтению камерного баланса белого на камерах Sony если LibRaw была собрана gcc 4.8
  • Запрещена оптимизация 'aggressive loop optimization' для gcc 4.8+

LibRaw 0.14.0 (Release)

После двух недель тестирования, LibRaw 0.14 получила статус Release и рекомендована к использованию вместо старых версий.

В этой версии одно принципиальное изменение, влекущее за собой множество мелких:

Разрешены повторные вызовы постобработки (LibRaw::dcraw_process) без переоткрытия файла парой вызовов open()/unpack(). При этом, постобработку можно повторять меняя любые параметры обработки (за исключением выбора кадра через shot_select).

Photoshop и канализация

Если Вы работаете в Photoshop'е с отдельно взятыми каналами (и масками), выключая видимость других каналов, то, возможно, Вы обращали внимание на то, что яркость и контраст каналов не соответствуют действительности. Посмотрим как ведет себя канал L. Вот черно-белый снимок в пространстве Lab. Во всех каналах, кроме L, информации нет, каналы "a" и "b" всюду содержат нули:

Поспешай медленно

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

Кстати, некоторые разработчики, которые ранее активно настаивали на том, что точности целых вычислений достаточно, в настоящее время свои алгоритмы интерполяции реализуют в плавающей точке.

Вот сравнение результатов AHD-демозаики, реализованных по одному и тому же алгоритму, но с разной точностью вычислений: с плавающей точкой и тот же самый алгоритм, но в целых числах (оригинальный код из dcraw).

Байеровский муар

Об анализе RAW-конверторов

Существующее на сегодня многообразие RAW-конверторов и используемых в них алгоритмов порождает проблему выбора: какие конверторы лучше (и для чего). На интернет-форумах распространена очевидная методология: берется одно (или несколько) изображений, обрабатывается разными конверторами/алгоритмами/настройками и визуально сравнивается. Зачастую, результат выглядит так для изображения P лучше алгоритм Q, а для изображения A алгоритм Z с включенной галкой f+ .

Более того, анализ в терминах хуже/лучше просто неправилен, правильная постановка звучит как ближе/дальше от исходного изображения.

Проблема заключается в том, что мы имеем дело со сложной системой, включающей в себя

  1. Снимаемый объект и его освещение
  2. Оптический тракт камеры с аберрациями объектива и светорассеянием внутри камеры.
  3. Сенсор со всеми его конструктивными особенностями: противомуарным фильтром, цветными байеровскими фильтрами, микролинзами и так далее.
  4. Внутрикамерный процессинг, как аналоговый, так и цифровой.
  5. А, да, изучаемый RAW-конвертор тоже.

Даже если правильное исходное изображение известно (снималась синтетическая мишень с известными характеристиками), вклад каждой из перечисленных составляющих остается неясным.

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

LibRaw на GitHub

На GitHub появился репозиторий LibRaw, который является копией (внутреннего) SVN-репозитория проекта.

Если вы хотите поразрабатывать что-то для LibRaw - присоединяйтесь, это очень просто.

Ссылки:

Pages