Хорошо, я имею в виду, что изображение P может быть представлено двумерной матрицей A, где каждый элемент A (то есть каждый пиксель) представляет собой вектор с четырьмя координатами (красный, зеленый, синий). Что еще закодировано в файле RAW, кроме этой матрицы?
Файл RAW не состоит из пикселей с несколькими цветовыми координатами. Он состоит из одного значения от каждой лунки датчика на датчике. Эти значения должны быть преобразованы в демозаику с помощью алгоритма, который имеет некоторое представление о фильтре Байера или другом фильтре, расположенном перед колодцами сенсора. Эти алгоритмы берут значение каждой лунки и значений из некоторого небольшого района других лунок и генерируют значение пикселя RGB для этого местоположения.
Файлы RAW также обычно включают одно или несколько предварительно обработанных изображений предварительного просмотра JPEG, EXIF и другие метаданные и, возможно, некоторые другие материалы, упакованные в своего рода «архивный» файл (некоторые используют контейнеры TIFF с разными разделами для разных типов данных). , но это не универсально) и, вероятно, с некоторым уровнем сжатия.
Файл необработанного изображения включает отдельные значения яркости, измеренные на каждом фотосайте (например, «сенсор» или «ячейка пикселя»). Каждое отдельное значение говорит о том, сколько световой энергии было поглощено каждым фотосайтом. Эти значения перечислены в определенной последовательности.
На данный момент нет информации о «цвете», как вы, кажется, ожидаете. Для каждого фотосайта существует только одно значение яркости. Каждому фотосайту не присваивается значение «красный», «зеленый» или «синий». Это правда, что в датчике цвета перед каждым фотоузлом стоят цветные фильтры, которые влияют на то, насколько разные длины волн света могут проходить и воздействовать на датчик, но цвета, используемые в масках Байера, не коррелируют на одном уровне. к цветам, которые мы используем в наших системах цветопередачи , таких как RGB или CMYK.
Три цветных фильтра для большинства байеровских «RGB-камер» на самом деле «синий с оттенком фиолетового», «зеленый с оттенком желтого» и что-то среднее между «желтым с оттенком зеленого» (что имитирует человеческий глаз). больше всего) и «Желтый с большим количеством оранжевого» (что, кажется, проще реализовать для датчика CMOS). Каждый фильтр не пропускает «только синий», «только зеленый» или «только красный» свет. Каждый из них пропускает «больше синего, чем зеленого или красного», «больше зеленого, чем синего или красного» или «больше красного, чем синего или зеленого», но некоторые из всех длин волн будут проходить через каждый цвет массива фильтров. Как и в случае с колбочками сетчатки глаза человека, то, что пропускает каждый фильтр, во многом совпадает.
Цветовая чувствительность типичного датчика с маской Байера, показывающая кривую отклика на длины волн света в видимом спектре, покупает фотосайты, отфильтрованные по каждому цвету массива фильтров Байера. Четыре вертикальные линии показывают длины волн, обычно излучаемые нашими системами цветопередачи RGB, включая те, которые также используют четвертый желтый канал. Обратите внимание, что пиковая чувствительность для каждого цветового фильтра не соответствует длине волны, используемой нашими системами цветопередачи.
Чувствительность различных колбочек и палочек сетчатки глаза человека. Обратите внимание, что наши «красные» колбочки наиболее чувствительны к свету с длиной волны 564 нм, который больше похож на слегка желтоватый с зеленым оттенком, чем на красный.
Чтобы присвоить значения цвета каждому пикселю изображения, созданного с использованием необработанной информации с сенсора, сравниваются относительные яркости соседних фотосайтов, отфильтрованных разными цветами, и каждому пикселю присваиваются значения «Красный», «Зеленый» и «Синий». полученного изображения. Это точно имитирует то, как наш человеческий мозг обрабатывает информацию, поступающую с сетчатки, чтобы создать восприятие цвета на основе длин волн и комбинаций длин волн света.
В дополнение к фактическим измерениям яркости на каждом фотосайте файл необработанного изображения содержит изображения предварительного просмотра и метаданные, которые позволяют приложению обработки необработанных данных знать некоторые вещи, необходимые для обработки этих данных. Они будут включать (но не ограничиваться):
Майкл С