Команда dcraw для 14-битного необработанного изображения

Я использую "-4 -D -T" для преобразования 14-битного необработанного изображения (.nef) в линейное необработанное изображение в формате TIFF. Это правильная команда? Отличается ли команда для 12-битного или 16-битного изображения?

Кажется, это не имеет значения, вы получаете в 4 раза больше значений пикселей (что разумно: 2 ^ 14 / 2 ^ 12 = 4).
guillermoluijk.com/tutorial/dcraw/index_en.htm Приведенная выше ссылка показывает, что -D для 12, 14 и 16 бит. -4 создает 16-битный TIFF.

Ответы (2)

Я написал плохой ответ и удалил его, вот еще одна попытка.

-4 -D -Tсохраняет числа RAW и записывает их в 16-битный файл, используя только одну четвертую значений для 14-битных изображений и только одну шестнадцатую значений для 12-битных изображений. Вы никогда не увидите белого, если будете использовать -D, только серый.

Он предназначен для использования таким образом, он не является неправильным для любой разрядности.

НО: если вы хотите, чтобы DcRaw использовал всю доступную битовую глубину в выходном файле, вы можете попробовать заменить -4 -D -Tна -d -T -6 -W -g 1 1 -r 4 4 4 4для 14-битного ввода или на -d -T -6 -W -g 1 1 -r 16 16 16 16для 12-битного ввода.

Это дает нормальную яркость (если использовать профиль гамма 1), пробовал.

ДОБАВЛЕНО: есть две вещи, с которыми следует иметь дело: уровень черного и сжатие с потерями NEF (если оно выбрано). Если вы используете -D, вы, по крайней мере, отмените уровень черного и, возможно, гамма-коррекцию. Если вы используете -d, вы можете ожидать лучших результатов.

Подробнее об этом в этой статье .

Спасибо за ответ. Мне просто нужно получить линейное значение пикселя, пропорциональное количеству падающих фотонов.
@faf: тогда у тебя все в порядке с -D.

я использую

dcraw -o 0 -D -T -4

Это сохраняет 12- или 14-битные целочисленные значения пикселя точно в том виде, в каком они были записаны в необработанном файле, без какой-либо обработки или изменения масштаба. ( Спасибо Патрику Херли )

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

Import["something.nef", "RawData"]

Вот страница документации: http://reference.wolfram.com/language/ref/format/Raw.html Для этой функции требуется Mathematica 10.1 или более поздней версии.