Ввод YCbCr напрямую из загрузчика jpeg

Мне нужно извлечь данные цветности CbCr из изображений JPEG, для анализа изображений. (в C/C++)

  1. Насколько я понимаю, в JPEG "сырые данные" сжимается YCbCr. Я прав в этом предположении? Как я могу проверить это для данного изображения?

  2. В настоящее время я использую TubroJpeg lib. Документация tjDecompressToYUV гласит, что это:

Распакуйте изображение JPEG в плоское изображение YUV. Эта функция выполняет JPEG, но пропускает шаг преобразования цвета, поэтому вместо изображения RGB генерируется плоское YUV.

Я немного запутался относительно вывода этой функции. Я думал, что YUV и YCbCr были немного разными цветовыми пространствами. Означает ли это, что для УФ-цветности мне нужно будет манипулировать выходным сигналом, а выходные компоненты "УФ" на самом деле являются компонентами CbCr?

1 ответ

Решение

Стандарт JPEG не знает цветовых пространств. Он просто сжимает компоненты цвета.

If - это конкретный формат файла (например, JFIF, EXIF, ADOBE), который определяет формат цвета. В большинстве случаев это YCbCR. В некоторых случаях это не так (некоторые Adobe).

Эта ссылка может объяснить путаницу

http://en.wikipedia.org/wiki/Yuv

YUV и YCbCR похожи, но различны. Если нет преобразования цвета, я должен верить, что они перепутали YUV и YCbCr.

Другие вопросы по тегам