Я знаю, что люди используют причудливое программное обеспечение, такое как Lightroom или Darktable, для постобработки своих RAW-файлов. Но что, если я этого не сделаю? Как выглядит файл, просто RAW ?
Существует инструмент под названием dcraw , который читает различные типы файлов RAW и извлекает из них данные о пикселях — на самом деле это исходный код в самом низу многих программ с открытым исходным кодом и даже коммерческих программ для преобразования RAW.
У меня есть файл RAW с моей камеры, и я использовал dcraw в режиме, который говорит ему создать изображение, используя буквальные немасштабированные 16-битные значения из файла. Я преобразовал это в 8-битный JPEG для совместного использования, используя перцептивную гамму (и уменьшил масштаб для загрузки). Это выглядит так:
Очевидно, что результат очень темный, хотя, если вы нажмете, чтобы увеличить, и если ваш монитор приличный, вы можете увидеть какой-то намек на что-то .
Вот цветной JPEG вне камеры, полученный из того же файла RAW:
(Фото предоставлено: моя дочь, кстати, использует мою камеру.)
В конце концов, не совсем темно. Детали того, где именно прячутся все данные, лучше всего раскрываются в подробном вопросе , но вкратце нам нужна кривая, которая расширяет данные по диапазону темных и светлых тонов, доступных в 8-битном JPEG на обычном экране. .
К счастью, у программы dcraw есть еще один режим, который преобразует изображение в более «полезное», но все еще почти не обработанное. Это регулирует уровень самого темного черного и самого яркого белого и соответствующим образом масштабирует данные. Он также может устанавливать баланс белого автоматически или из настроек камеры, записанных в файле RAW, но в этом случае я сказал не делать этого, так как мы хотим проверить наименьшую возможную обработку.
Между фотосайтами на датчике и пикселями на выходе по-прежнему существует взаимно однозначное соответствие (хотя, опять же, я уменьшил это для загрузки). Это выглядит так:
Теперь это, очевидно, более узнаваемо как изображение, но если мы увеличим масштаб (здесь каждый пиксель на самом деле увеличен в 10 раз), мы увидим, что все это... точечно:
Это потому, что датчик покрыт массивом цветных фильтров — крошечных цветных фильтров размером с каждый фотосайт. Поскольку моя камера — это камера Fujifilm, в ней используется шаблон, который Fujifilm называет «X-Trans», который выглядит следующим образом:
Есть некоторые детали о конкретном паттерне, которые довольно интересны, но в целом это не суперважно. Большинство камер сегодня используют шаблон Байера (который повторяется каждые 2×2, а не 6×6). Оба шаблона имеют больше сайтов с зеленым фильтром, чем с красным или синим. Человеческий глаз более чувствителен к свету в этом диапазоне, поэтому использование большего количества пикселей позволяет получить больше деталей с меньшим шумом.
В приведенном выше примере центральная часть представляет собой участок неба, который имеет оттенок голубого — в RGB это много синего и зеленого без особого красного. Таким образом, темные точки — это участки красного фильтра — они темные, потому что в этой области не так много света на длинах волн, которые проходят через этот фильтр. Диагональная полоса в верхнем правом углу представляет собой темно-зеленый лист, поэтому, хотя все немного затемнено, вы можете видеть зеленый цвет — большие блоки 2 × 2 с этим шаблоном датчика — относительно самые яркие в этой области.
Так или иначе, вот 1:1 (когда вы нажмете, чтобы получить полную версию, один пиксель изображения будет одним пикселем на экране) раздел JPEG вне камеры:
... а вот та же область из приведенного выше быстрого преобразования в оттенки серого. Вы можете увидеть штриховку из шаблона X-Trans:
На самом деле мы можем взять это и раскрасить пиксели так, чтобы те, которые соответствуют зеленому в массиве, отображались на уровни зеленого, а не серого, красного на красный и синего на синий. Это дает нам:
... или, для полного изображения:
Зеленый оттенок очень заметен, что неудивительно, поскольку зеленых пикселей в 2,5 раза больше, чем красных или синих. Каждый блок 3×3 имеет два красных пикселя, два синих пикселя и пять зеленых пикселей. Чтобы противодействовать этому, я сделал очень простую программу масштабирования, которая превращает каждый из этих блоков 3×3 в один пиксель . В этом пикселе зеленый канал представляет собой среднее значение пяти зеленых пикселей, а красный и синий каналы — среднее значение соответствующих двух красных и синих пикселей. Это дает нам:
... что на самом деле не так уж и плохо. Баланс белого отключен, но поскольку я намеренно решил не настраивать его, это неудивительно. Нажатие «автоматический баланс белого» в программе обработки изображений компенсирует это (как если бы dcraw установил это в первую очередь):
Детализация невелика по сравнению с более сложными алгоритмами, используемыми в камерах и программах обработки RAW, но основы явно присутствуют. Лучшие подходы создают полноцветные изображения, взвешивая различные значения вокруг каждого пикселя, а не используя большие блоки. Поскольку цвет на фотографиях обычно меняется постепенно, это работает довольно хорошо и позволяет получать полноцветные изображения без уменьшения размера в пикселях. Существуют также хитрые приемы для уменьшения краевых артефактов, шума и других проблем. Этот процесс называется «демозаикой», потому что узор из цветных фильтров выглядит как плиточная мозаика.
Я полагаю, что этот вид (где я на самом деле не принимал никаких решений, а программа не делала ничего умного автоматически) можно было определить как «стандартный вид по умолчанию» файла RAW, что положило конец многим интернет-спорам. Но нет такого стандарта — нет такого правила, что именно эта «наивная» интерпретация особенная.
И это не единственная возможная отправная точка. Все программы обработки RAW в реальном мире имеют свои собственные представления об основном состоянии по умолчанию, которое применяется к новому файлу RAW при загрузке. Они должны что-то делать (иначе у нас была бы эта темная и бесполезная вещь в начале этого поста), и обычно они делают что-то более умное, чем мое простое ручное преобразование, что имеет смысл, потому что это в любом случае дает вам лучшие результаты.
Это действительно очень большая сетка чисел. Все остальное в обработке.
Я знаю, что mattdm уже достаточно хорошо ответил на этот вопрос, но я просто подумал, что эта статья может быть вам интересна.
Если ссылка не работает, вот краткое изложение:
Человеческий глаз наиболее чувствителен к цветам в зеленой области длин волн (это совпадает с тем фактом, что наше Солнце наиболее интенсивно излучает в зеленой области).
Глаз камеры (устройство с зарядовой связью (ПЗС) или дополнительный металл-оксид-полупроводник (КМОП)) чувствителен только к интенсивности света, а не к цвету.
Оптические фильтры используются для ослабления различных длин волн света. Например, зеленый фильтр пропускает больше зеленого света, чем красного или синего, хотя немного каждого из них пройдет через зеленый фильтр, точно так же, как колбочки средней длины волны в нашей человеческой сетчатке немного реагируют на красный и синий свет. они гораздо сильнее реагируют на зеленый цвет.
Оптические фильтры, используемые в цифровых камерах, имеют размер отдельных пиксельных датчиков и расположены в виде сетки, чтобы соответствовать массиву датчиков. Используются красный, зеленый и синий фильтры (вроде наших колбочек). Однако, поскольку наши глаза более чувствительны к зеленому цвету, фильтр Байера имеет 2 фильтра зеленых пикселей для каждого красного и синего пикселя. Массив Байера имеет зеленые фильтры, образующие шахматную доску, а красные и синие фильтры занимают чередующиеся строки.
Возвращаясь к вашему первоначальному вопросу: как выглядит необработанный файл RAW?
Это похоже на черно-белую клетчатую решетку исходного изображения.
Причудливое программное обеспечение для постобработки файлов RAW сначала применяет фильтр Байера. После этого оно больше похоже на реальное изображение, с правильной интенсивностью цвета и правильным расположением. Однако артефакты сетки RGB от фильтра Байера все же есть, потому что каждый пиксель имеет только один цвет.
Существует множество методов сглаживания RAW-файла с цветовой кодировкой. Сглаживание пикселей похоже на размытие, поэтому слишком сильное сглаживание может навредить.
Некоторые из методов демозаики кратко описаны здесь:
Ближайший сосед: значение пикселя (один цвет) применяется к его другим цветным соседям, и цвета объединяются. В этом процессе не создаются «новые» цвета, а только цвета, которые изначально были восприняты сенсором камеры.
Линейная интерполяция: например, усредняет два соседних значения синего и применяет среднее значение синего к зеленому пикселю между соседними синими пикселями. Это может размыть острые края.
Квадратичная и кубическая интерполяция: аналогична линейной интерполяции, аппроксимация более высокого порядка для промежуточного цвета. Они используют больше точек данных для лучшего соответствия. linear смотрит только на два, квадратичный на три и кубический на четыре, чтобы создать промежуточный цвет.
Сплайны Catmull-Rom: похожи на кубические, но учитывают градиент каждой точки для создания промежуточного цвета.
Половина косинуса: используется в качестве примера метода интерполяции, он создает половинные косинусы между каждой парой одинаковых цветов и имеет плавную изогнутую кривую между ними. Однако, как отмечается в статье, это не дает никаких преимуществ массивам Байера из-за расположения цветов. Это эквивалентно линейной интерполяции, но с более высокими вычислительными затратами.
Программное обеспечение более высокого класса для постобработки имеет лучшие методы демозаики и умные алгоритмы. Например, они могут идентифицировать резкие края или изменения высокой контрастности и сохранять их резкость при комбинировании цветовых каналов.
Я думаю, что многие люди думают, что необработанные файлы — это просто массив значений пикселей прямо с сенсора камеры. Есть случаи, когда это действительно так, и вы должны предоставить некоторую информацию о датчике, чтобы программное обеспечение могло интерпретировать изображение. Но многие потребительские камеры обычно выдают «сырые файлы», которые на самом деле более или менее соответствуют спецификации файлов TIFF (в некоторых случаях цвета могут быть отключены). Можно попробовать просто изменить расширение файла на «.tif» и посмотреть, что произойдет при открытии файла. Я думаю, что некоторые из вас увидят хорошую картинку, но не все, потому что есть различия в том, как разные марки камер решают эту проблему.
Файл TIFF вместо «настоящего необработанного файла» является хорошим решением. Файл TIFF может иметь 16 бит на цвет. Этого достаточно для всех камер, которые я знаю.
Эд: Интересно, почему за этот ответ проголосовали против. Ответ по сути правильный (с оговоркой на то, что производители камер не обязаны использовать TIFF-структуры, но многие из них используют).
Что касается части с массивом пикселей прямо из сенсора, не смешно ожидать чего-то подобного. Потому что именно так работают многие датчики за пределами рынка потребительских камер. В этих случаях Вам необходимо предоставить отдельный файл с описанием датчика.
Кстати, слово «RAW» используется потому, что оно должно означать, что мы получаем необработанные данные датчика. Но разумно, что производители камер используют структурированный формат вместо необработанных файлов. Таким образом, фотографу не нужно знать точные данные сенсора.
.tif
. Geeqie показывает встроенный предварительный просмотр JPEG (так же, как и при имени .crw
. Когда я открываю в GIMP, он определяет, что это файл RAW, и запускает Darktable для импорта..tif
и открыть их в программе обработки изображений не является полезным или правильным. Программы, для которых это работает, либо показывают предварительный просмотр JPEG, созданный камерой, либо используют специальные знания об этом фактическом формате RAW (не общий TIFF), который они распознают по данным в самом файле, а не по имени файла.
На перерыве.
Майкл С
Отметка
Эй Джей Хендерсон
Аляска Человек
Майкл С