Формат RAW часто встречается в руководстве по данным датчика изображения. Раньше я искал стандарт формата RAW, но не смог его найти. Сегодня я смогу прояснить свою путаницу.
Это квантованное значение исходных данных, например десятичное представление RGB (A, B, C), а затем A, B, C представляются набором двоичных чисел, таких как 8-битная глубина, которая является значением канала. квантованного цвета от 0 до 255.
16 миллионов цветов, но все равно слишком мало
Посчитать?
Каждый пиксель занимает 3 байта = 24 бита (8 бит * 3).
Общее количество пикселей = 400 * 400 = 160 000 пикселей.
Размер изображения = байты на пиксель * общее количество пикселей Размер изображения = 3 байта/пиксель * 160 000 пикселей = 480 000 байт
Преобразование байтов в общепринятые единицы дает нам размер изображения 480 000 байт, что составляет примерно 468,75 КБ (1 КБ = 1024 байта).
Размер изображения в формате RGB разрешением 400x400 составляет примерно 468,75 КБ.
ДАННЫЕ RAW можно понимать как: Изображение RAW — это исходные данные, которые датчик изображения CMOS или CCD преобразует захваченный сигнал источника света в цифровой сигнал. Он не имеет потерь и содержит исходную информацию о цвете объекта.
Формат данных RAW обычно использует схему Байера, в которой для создания массива цветных фильтров (CFA) используется световой фильтр (CFA). Поскольку человеческий глаз более чувствителен к цвету зеленой полосы, формат данных Байера содержит 50% цвета. зеленая информация и по 25% информации каждого цвета.
Свет проходит через линзу и фильтром датчика разлагается на монохроматический свет. Датчик записывает значение интенсивности света в каждой точке, в результате чего получаются данные в формате RAW. Преобразуйте значения оттенков серого RAW в изображения следующим образом:
В RAW без постобработки есть только эта черно-белая мозаика.
Затем отобразите пиксели в каждом месте. Выглядит это так, но пока не понятно.
Следующий шаг – угадать цвет:
Вокруг каждой точки фильтра «регулярно» распределены точки фильтра других цветов, поэтому можно комбинировать их значения для определения исходного цвета света.
Возьмем, к примеру, желтый свет. Он состоит из смеси красного и зеленого света. После прохождения через слой фильтра пиксели под красной и зеленой точками будут иметь значения, а пиксели под синей точкой — нет. значение, поэтому осмотрите пиксель. Распределение цветов — есть красный и зеленый, но нет синего — можно сделать вывод, что исходный цвет этого пикселя должен быть желтым.
Процесс восстановления цветовой точки
станет таким
1. Изображение, наблюдаемое глазами человека 2. Исходное изображение в формате RAW 3. Выходное изображение в формате Байера 4. Выходное изображение после применения расчета интерполяции
Это 4 шага, а вычислительная нагрузка немалая.
После долгого разговора, как выглядит этот Байер?
Это единственная реальная вещь, которую я вижу
Разве половина + половина + четверть, разделенная на 3, не равна одной трети?
Входные данные изображения RAW Bayer преобразуются в данные домена RGB. В домене RAW каждый пиксель содержит только один из компонентов RGB, поэтому формат RAW имеет большой размер.
В идеальной ситуации каждый пиксель имеет 3 значения, но на самом деле R и B имеют только по 1/4, а G — по 1/2. Поэтому в изображении, полученном по шаблону Байера, только 1/3. содержание на самом деле реально, другие получены путем интерполяции на основе предварительных знаний. Это также показывает, что в естественных изображениях много избыточной информации.
Тогда алгоритм интерполяции — это то, что означает рисунок ниже. Вычислите неизвестные значения каждого канала и вставьте их:
Я должен был прояснить это
Линейная интерполяция. В этом алгоритме интерполяции недостающие цветные пиксели интерполируются с использованием значений соседних пикселей.
Например, для изображения в режиме Байера BGGR недостающий зеленый пиксель можно найти путем усреднения четырех соседних пикселей вокруг него. Для отсутствующих красных или синих пикселей это можно рассчитать, используя значения из соседних строк или столбцов.
Модифицированная билинейная интерполяция: это более точный алгоритм интерполяции, который улучшает линейную интерполяцию.
В этом алгоритме недостающие цветные пиксели интерполируются с использованием соседних пикселей и соседних с ними пикселей. Этот алгоритм может обеспечить лучшие результаты при обработке изображений с высоким уровнем искажений. Эм, разве это не просто билинейная интерполяция за притворство крутым снимут один балл?
Здесь так много пикселей, что их можно считать зеленой буквой B.
Значения четырех соседних пикселей в области 2*2 возле исходного изображения вычисляются методом взвешенного усреднения. Качество увеличенного изображения алгоритма билинейной интерполяции выше, и не будет прерывистых значений пикселей. Однако этот алгоритм имеет природу фильтра нижних частот, который повреждает высокочастотные составляющие, поэтому контур изображения может в определенной степени размыться.
Ищите себя
Существует также линейная интерполяция с коррекцией градиента, разработанная Microsoft Research. Этот алгоритм используется функцией демозаики в Matlab.
Основной принцип этого алгоритма: в окне 5*5 значение градиента цвета пикселя центральной точки используется для компенсации результатов интерполяции других цветов. Среди них R и B рассматривают градиенты в четырех направлениях: вверх, вниз, влево и вправо; G не только учитывает градиенты в четырех направлениях: вверх, вниз, влево и вправо, но также учитывает градиенты в четырех направлениях: вверх, вниз, влево и вправо; четыре диагональных направления. Это должно быть связано с тем, что количество пикселей G в 2 раза больше R и B, а человеческий глаз более чувствителен к зеленому цвету.
Эффект
Эта картина более ясна
Матрица цветных фильтров (CFA)
Вышеизложенное является более научно-популярным. Обычно мы используем датчики и смотрим на выходной формат OV2640:
Давайте сначала поговорим о том, где эти форматы подходят для использования:
Несколько часто используемых типов данных Байера:
(Стоит сказать, что RAW8, 10 и 16 — это методы кодирования, специально используемые для передачи байеровских изображений, что неверно...)
RAW8, RAW10 и RAW16 — это форматы, используемые для представления необработанных данных изображения, которые представляют битовую глубину 8, 10 и 16 бит на пиксель соответственно.
Существует множество способов формирования пикселя:
Похоже, надо еще раз выделить конкретный RAW.
Обычно каждый цветовой канал (красный, зеленый, синий) имеет определенную битовую глубину (например, RAW8 — 8 бит на канал, RAW10 — 10 бит на канал).
Необработанные данные RGB не обрабатываются и напрямую представляют интенсивность каждого цветового канала.
RAW8:
Raw8 использует 8 бит для представления одного компонента G/R/B/G вместо использования 8 бит для представления четырех компонентов RG/GB.
RAW10:
Raw10 использует 10 бит для представления одного из вышеупомянутых G/R/B/G, но данные 16-битные, а старшие 6 бит бесполезны.
Почему кажется, что их намного больше?
RAW12:
Raw12 использует 12 бит для представления одного из вышеупомянутых G/R/B/G, но данные 16-битные, а старшие 4 бита бесполезны.
Сравнивать
Вы можете видеть, что последний самый деликатный.
RGB(RGB565/555):RGB565иRGB555это цветкодирование Формат,Каждый Пиксель представлен 16 битами. RGB565 использует 5 бит для представления красного цвета.,6 бит представляют зеленый цвет,5 бит представляют синий цвет,RGB555 использует 5 бит на цветовой канал. Эти форматы обычно используются для отображения,Из-за их компактного представления.
Каждый пиксель представлен 16 битами, занимающими 2 байта, а компоненты RGB используют 5 бит, 6 бит и 5 бит соответственно.
565
Каждый пиксель представлен 16 битами, занимающими 2 байта, а компоненты RGB используют 5 бит (старший бит не используется).
555
YUV(422/420):YUV422иYUV420давидеосжатиеи传输中使用的颜色空间Формат。
YUV422 имеет 8 бит на пиксель для яркости (Y) и 8 бит для насыщенности синего (U) и насыщенности красного (V).
YUV420 использует выборку цветности, обычно 8 бит для яркости (Y) и 8 бит, общие для синей (U) и красной (V), но имеет меньше информации о цветности, чем YUV422.
При видеозаписи выборка цвета помогает уменьшить размер файла, сохраняя при этом минимальные визуальные различия.
Книга старая, но ее еще можно прочитать.
Книга о сэмплировании, 180 страниц.
КМОП-пакет
Это тоже возможно, если у меня будет возможность сделать датчик
Анализ интерфейса OVM6946 — происхождение AntLinx
Наконец я понял это после того, как использовал внутреннюю камеру OV6946, чтобы испортить ситуацию.
Выпущена USB-карта захвата без потерь OV6946 «Xiao Peep»!
Аппаратное обеспечение OV426-CCU (блок управления камерой)
Используйте OVM6946 и OV426 для проектирования эндоскопов!
Это предыдущие статьи для справки.
https://snapshot.canon-asia.com/article/eng/videography-faq-what-do-422-and-420-mean