Фото

Фотокнижки

Не могу удержаться и не попиарить ЖЖ-community fotobooks (Библиотека Фотографа).

Конечно, это полное пренебрежение авторским правом и вообще нехорошо, однако там попадаются всяческие жемчуга, коих я больше нигде не видел.

Цилиндрические панорамы (Q)

А какой-нибудь софт умеет одним проходом склеивать панорамы, которые сняты "цилиндрическим" образом в несколько рядов:

  • В горизонтальной плоскости крутим вокруг нодальной точки.
  • В вертикальной плоскости делаем сдвиг с помощью шифт-объектива (3 кадра).

Понятно, что можно склеить тройки, обозвать все это кадром 58x24 (или 44x36) и дальше клеить обычную однорядку, но это же ручной работы сильно больше.....

Update. Что-то ответы, которые пишут - какие-то разочаровывающие. Так недолго и мизантропом стать. Разжую помельче:

Вопрос про firmware ф/а Canon

Граждане читающие,

А может кто знает:

  • Позволяют ли DSLR Canon даунгрейд прошивки (скажем, стоит 1.06, могу ли я обновиться до 1.05)? Камера - 5D Mark II, но я думаю что это для всех свежих одинаково.
  • (при положительном ответе на первый вопрос) - где взять образ прошивки 1.06 для вышеупомянутой камеры? Может быть ее можно как-то из камеры списать? На официальном сайте лежит, естественно, только последняя, 1.07

Очень хочу поизучать черные точки и что с ними сделали в прошивке 1.07, но хочется иметь возможность откатиться назад, если "что с ними сделали" мне не понравится.... (на руках камера с прошивкой 1.06)

Записки разработчика RAW-обработчика

bug3.jpg Поправил сегодня серьезную багу в LibRaw, что заставило меня призадуматься о жизни. Если в подробностях, то:

  • У некоторых мыльниц (ряд моделей Nikon, Pentax, Samsung, Casio) режим RAW включается через инженерное (скрытое) меню.
  • В этих RAW нет никаких метаданных, а только данные с сенсора, обычно просто дамп байтов в каком-то некомпрессированном формате.
  • Метаданные сохраняются в JPEG-файле с обычным снимком, который записывается рядом (с тем же именем файла и другим расширением или же с другим номером файла).
  • В dcraw, а оттуда и в LibRaw есть поддержка этого составного формата: вычисляется имя файла, открывается, загружается EXIF.

И вот эта вот поддержка - категорически не работала. Даже хуже: наличие JPEG с метаданными приводило к неправильной распаковке собственно RAW, а отсутствие этого файла - к падениям.

Эта ошибка была начиная с LibRaw 0.0 и до сегодняшнего дня. И ни одна зараза - не заметила. Несмотря на то, что LibRaw уже несколько месяцев используется в digiKam и Krita, а у этих программ должны быть десятки тысяч пользователей, если не больше.

Fuji SuperCCD: сложно о сложном

Расположение пикселов разной чувствительности и цвета на сенсоре SuperCCD, помимо того, что маркетинг Fuji изрядно запудрил всем уши, само по себе нетривиально. Я не уверен, что у меня получится легко про него рассказать (хотя это уже третий пост на данную тему), но буду пробовать.

Во-первых, диагональность. Диагонали на это сенсоре есть в том смысле, что классическое байеровское чередование G-R-G-R в одной строке и B-G-B-G в другой имеется именно по диагоналям. Если ходить по строкам и столбцам, то чередование более сложное (и не спрашивайте какое, тут стаканом не обойтись).

RAW еще сырее: LibRaw 0.7.0-A4

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

Естественно, этот режим работы может быть интересен только тем, кто сам пишет RAW-конверторы или анализаторы RAW или подобные вещи. Ну и любопытствующим, ибо поставляемый в составе библиотеки пример unprocessed_raw (в версиях под Win32/Mac/Linux он лежит скомпилированным и готовым к использованию) способен эту опцию включить и показать ваши данные прямо как они из файла раскодированы.

Тоновая кривая есть не во всех камерах и форматах данных, среди распространенных это Nikon (compresssed NEF) и Sony A700/A900 (8-битный cRAW)

Достаточно очевидно, что от тоновой кривой нет вреда (или практически нет вреда) если выходное пространство шире чем входное, скажем из 8 бит делаем 12 (как оно у Sony). А вот если входное и выходное пространство имеют одинаковую битность, а кривая отлична от линейной, то мы обязательно потеряем градации. Такое должно случаться, насколько я понимаю, с 12-битными NEF-ами, было бы прикольно, если бы кто-то проверил.

Аналогично предыдущему анонсу просьба: если unprocessed_raw -N падает на каком-то файле, то я хочу этот файл пощупать.

Sharpen Action от Маргулиса

Я уже пиарил тут Yahoo-группу Applied Color Theory in Photoshop (часто ее называют ACT), но думаю что есть смысл повторить.

В частности, "в ответ" на Smarter Sharpen, который тут уже обсуждали, Дан Маргулис выкатил свою action, которая кажется черезвычайно удобной в применении: можно пускать батчем сразу, а потом доточить по месту, регулируя прозрачность слоев и их маски. Результат - хороший, но предназначенный для печати, для веба нужно, по всей видимости, подобрать параметры и сделать по образу и подобию.

К сожалению, нормальную прямую ссылку прямо на архив дать не получается, группа закрытая, поэтому могу только порекомендовать подписаться. Для этого нужна регистрация на Yahoo, а потом посылается запрос на подписку на группу (синяя кнопка Join Group). По моему опыту, запрос должен быть содержательным, а не просто "хочу читать"). Язык всего (и запроса на подписку и самой группы) - английский.

Если кто-то не поленится и адаптирует эту action к Lab (она RGB-only), я буду весьма благодарен....

LibRaw 0.7.0 Alpha-3: еще более RAW

Я точно знаю, что есть люди, читающие анонсы LibRaw именно здесь, остальным придется потерпеть.

В третьей альфе LibRaw 0.7.0 случились две группы существенных идеологических изменений и одна группа несущественных:

  1. Данные для камер FujiFilm распаковываются без поворота на 45 градусов. Это открывает путь к легкому получению 12-мегапиксельных картинок с Fuji S5Pro и прочим подобным радостям. При этом, горизонтальное разрешение должно быть заметно лучше, чем у 6-мегапиксельных, выдаваемых dcraw и всеми использующими этот код.
    Посмотреть на реальные RAW-данные Fuji можно с помощью примера unprocessed_raw, очень поучительно (чтобы извлечь второй кадр, используйте ключ -s 1).
  2. Не менее сильно поработали над PhaseOne:
    • Придуман и для PhaseOne реализован режим (не)фильтрации данных, отключающий тоновую кривую для RAW (более raw-данных вы еще не видели!). Идея мне настолько понравилась, что в следующих версиях тоновую кривую можно будет отключить для всех случаев, когда она есть (Nikon NEF, Adobe DNG, далее везде).
    • Рассчитанные камерой уровни черного доступны в метаданных
    • Исправлена ошибка расчета уровня черного, имеющаяся в dcraw (впрочем, на результат она влияет не очень сильно).
  3. Ну и по мелочи: баги, ключ -s у unprocessed_raw, импортирована свежа версия dcraw.

Более подробно и более формально в changelog, скачивать с той же страницы

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

Маркетинг и правда

Начитавшись всяких datasheets от задников, я был уверен что у PhaseOne (свежих: P45, P65) - 16-битный АЦП.

Однако читаю код распаковки, по смыслу там вот такое вот:

image[x,y] = pixel << 2 - (тут расчет уровня шума для столбца-полустроки)
дальше там наложение всяких кривых и прочие упражнения, которые в данном контексте неважны.

Вот ведь думаю, и рыбку съели (нету одинаковых битов ни внизу, ни наверху) и АЦП у них таки 14-битный.

Кипя гневом, полез читать даташиты заново, а там все аккуратно написано: 10 бит антиблюминга, 12 стопов динамического диапазона, разрядность выходного файла - 16 бит (кто бы спорил).

Вот как маркетинг животворящий зомбирует!

UPDATE: а в реальных данных в бликах максимальное значение до умножения и вовсе 8192 (при этом по всем четырем каналам одинаковые значения т.е. это честный блик). Итого - 13 бит. А значит врут они про 12 стопов ДД.

Еще о Fuji S5

fuji_ccd_layout.jpgЧтобы не писать очередного update к предыдущей записи напишу я новую.

Все упражнения с поворотом, а затем с масштабированием файлов Fuji S5, которые проводятся в dcraw - они конечно интересны. Но ровно до тех пор, пока в руки не попадется "12-мегапиксельный" JPEG, который делает сама камера. Из его размеров становится очевидным, что камера делает очень просто: растягивает файл вдоль короткой стороны, отчего он из (примерно) 4300x1400 становится 4300x2800. И все, собственно.

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

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

Меж тем, Fuji - не первая компания, использующая сей нехитрый трюк. Как мне напомнили, у Nikon D1X та же фигня: пиксели прямоугольные, разрешение сенсора 4028x1324, правда камера масштабировала эту картинку в примерно 6 мегапикселей, а не в 10.5. При этом, разница горизонтального и вертикального разрешения у D1X (по DPReview) очень даже есть.

Применение психотропных препаратов к обработке RAW

psychotropic_drugs.jpg В процессе подбора правильных психотропных препаратов для целей программирования правильного чтения черных рамок у RAW-файлов с камер Fuji (SuperCCD) я на эти данные внимательно посмотрел и... фалломорфировал удивился.

Если мы посмотрим в исходники dcraw (или результат работы dcraw -j), то увидим, что при распаковке файлов от Fuji SuperCCD делаются такие вот шаги:

  • Сначала при распаковке пересчитываются координаты, таким образом в выходной битмэп пишется изображение, повернутое на 45 градусов (для разных камер - вращения в разные стороны).
  • Потом это изображение вращается еще раз, уже с интерполяцией данных (в dcraw - билинейная интерполяция, про другие конверторы - не знаю).

Увидев один раз повернутое, я до сегодняшнего дня был убежден (не вчитываясь в код), что это отражает организацию сенсора: строки идут под 45 градусов по диагонали (длина строк, соответственно, разная), а дальше надо просто повернуть.

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

Vuescan

Вот пишут мне знакомые в почту, что всем российским покупателям Vuescan автор предлагает халявно проапгрейдиться по случаю появления русского перевода. Даже тем, кто стандартную версию покупал с годом апгрейдов. Я, правда, не сумел вспомнить E-mail на который свою копию регистрировал и подозреваю, что это был профуканый мой мейлбокс на rambler.ru.

Сходил Vuescan-у на сайт, прослезился, вспомнил молодость. Оказывается, впрочем, разовый бесплатный апгрейд предлагают всем покупателям, по случаю 10-летия программы.

Dan Margulis on RAW module

dan_margulis_2008sm.jpg На LibRaw появился новый автор: Dan Margulis. Хочется надеяться, что сотрудничество будет не разовым, но гарантировать я это не могу. Пока же представляем вниманию читателей один текст на двух языках:

Dan Margulis on RAW module
The question that needs an answer is, for what purpose is the module designed. I can think of four different approaches to acquisition.
  1. I want the module to do nothing more than open the file without damage. I understand that it will probably be flat and colorless if I do this. I intend to fix the problems in Photoshop.
  2. Although I will refine the image in Photoshop, I would like to be able to make quick, obvious moves in the acquisition module to make life easier later.
  3. ....
Дан Маргулис: Мысли о назначении и некоторых проблемах конверторов RAW
Вопрос, которым следует задаться в первую очередь, - это место RAW конвертора в цепочке обработки изображения. Иными словами, требуется определить те цели, которые должны быть решены на этапе конвертации RAW-данных. Я могу представить себе 4 различных подхода к определению задач этого модуля.
  1. От модуля требуется лишь преобразование RAW-данных без потери качества. Мы отдаем себе отчет в том, что результат будет плоским (малоконтрастным) с ненасыщеными цветами. Для того чтобы вернуть изображение к жизни мы будем использовать Photoshop.
  2. ...

Ручная работа!

5d2-mask.png

Если рассматривать черную рамку у 5D Mark II, взяв кадры с разных камер, то становится очевидно, что матрицы делаются вручную (китайские крестьяне в своих фанзах?). Вот, собственно, пример: два кадра (сложены слоями в фотошопе со смещением), оба ISO 100, камеры разные. У одного по верхнему краю просто насечки от шестеренки, а у другого - еще и темная полоса.

Не корысти ради...

... а только с целью тестирования LibRaw и улучшения ея качества.

Имеется острая нужда в RAW-файлах следующих форматов:

  • Sony DSC-F828 Огромное спасибо за помощь!
  • Задники Imacon Ixpress - нужны RAW-файлы в родном формате;
  • Задники PhaseOne - нужны RAW в нежатом формате;
  • Задники Sinar - нужны RAW-файлы, снятые в режиме 4-shot

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

(Р)эволюция продолжается: LibRaw 0.7.0 Alpha-0

Вышла LibRaw 0.7.0-Alpha0.

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

Универсальный (нецензурно) архивный (нецензурно) формат

О сколько нам открытий чудных....

DNG мы уже пинали с примерами, но пинали мягко, оставаясь в рамках Adobe workflow. Там проблемы, которые создает DNG заметны, только в довольно экстремальных ситуациях.

Но вот если мы живем не Адобом единым, то жизнь становится куда веселее. Вот к примеру LighZone. Отличная по своим идеям программа, все такое, но вот распаковку RAW там делают запуском внешней dcraw.exe.

As RAW as possible

kaf50100.png Говоря о RAW-данных ("необработанные", "данные прямо с матрицы") большинство фотографов (да и не только фотографов) полагают, что сенсор - это очень простая штука: массив светочувствительных элементов, цветные фильтры, сбоку прикручен АЦП (или несколько). Появляется в рекламных буклетах производителей фраза "мы уменьшили зазор между микролинзами" - вспоминают еще и про микролинзы. Документации то разумной почти нет. Про острую нужду в кривых спектральной чувствительности мы уже писали в статье для Компьютерры, но есть острая нужда не только в этих данных.

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

Впрочем, некоторые производители завесу немножко приоткрывают. Вот, скажем, Kodak. В Кодаковских datasheets на сенсоры написано много всего интересного. И если почитать, например, документацию на KAF-50100 (картинка справа взята из нее), то становится понятно, что структура неактивных пикселов - сложная, тут и референс для выставления уровня черного и что-то тестовое и какие-то буферные пикселы.

LibRaw 0.6.4

C Новым Годом, товарищи читатели!

Использующим LibRaw мой новогодний подарок: LibRaw 0.6.4.

Исправлена ошибка с утечкой файловых дескрипторов и памяти под буферы при извлечении thumbnails. Проявиться она могла только при некорректном использовании библиотеки, однако народ наступил на...

Чудеса техники

no-ink.jpg Сегодня недосмотрел - и чернила в принтере (Epson 3800) кончились прямо в середине печати здоровой панорамы. Обычно я следил и картриджи менял немножко заранее, когда драйвер начинал ругаться, что остался 1% в одном из флаконов.

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

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

Pages

Subscribe to Фото