YCbCr в RGB из таблицы матрицы - PullRequest
3 голосов
/ 27 октября 2010

Ниже приведена матрица для преобразования RGB в YCbCr. Можете ли вы сказать мне, как я могу получить формулу для преобразования YCbCr в RGB? Я имею в виду, у меня есть доступное значение YCbCr, и я хочу получить от него RGB RGB to YUV Image

Ответы [ 4 ]

4 голосов
/ 27 октября 2010

Если вы спрашиваете, как получается формула, вы можете поискать «цветовые системы координат». На этой странице есть хорошее обсуждение пространства YCbCr, в частности.

Мы знаем, что почти любой цвет может быть представлен в виде линейной комбинации красного, зеленого и синего.Но вы можете преобразовать (или «повернуть») эту систему координат так, чтобы три базовых элемента больше не были RGB, а были чем-то другим.В случае YCbCr слой Y является слоем яркости, а Cb и Cr являются двумя слоями цветности.Cb более тесно коррелирует с синим, а Cr более тесно коррелирует с красным.

YCbCr часто предпочтительнее, поскольку зрительная система человека более чувствительна к изменениям яркости, чем количественно эквивалентные изменения цветности.Поэтому кодер изображений, такой как JPEG, может сжимать два слоя цветности больше, чем слой яркости, что приводит к более высокой степени сжатия.

РЕДАКТИРОВАТЬ: Я неправильно понял вопрос.(Вы должны отредактировать его, чтобы уточнить.) Вот формула для получения RGB от YCbCr, взятая из ссылки выше :

r   =   1.0 * y'    + 0 * cB    + 1.402 * cR
g   =   1.0 * y'    - 0.344136 * cB - 0.714136 * cR
b   =   1.0 * y'    + 1.772 * cB    + 0 * cR
2 голосов
/ 27 октября 2010

Я не собираюсь учитывать часть round, но поскольку M выглядит обратимо:

alt text

Вы можете округлить результирующий вектор.

1 голос
/ 27 октября 2010

http://www.fourcc.org/fccyvrgb.php имеет преобразования YUV в RGB.

1 голос
/ 27 октября 2010
Y = 0.2126*(219/255)*R + 0.7152(219/255)*G + 0.0722*(219/255)*B + 16
CB = -0.2126/1.18556*(224/255)*R - 0.7152/1.8556(224/255)*G + 0.5*(219/255)*B + 128
CR = 0.5*(224/255)*R - 0.7152/1.5748(224/255)*G - 0.0722/1.5748*(224/255)*B + 128
...