Как эффективно преобразовать SRGB в Cielab и Cielab в SRGB? [закрыто

StackOverflow https://stackoverflow.com/questions/3915410

  •  29-09-2019
  •  | 
  •  

Вопрос

Я не понимаю, как преобразовать SRGB в Cielab и назад. Помоги мне, пожалуйста. это желательно в коде c ++

Это было полезно?

Решение

Преобразовать из SRGB в RGB, применяя обратную гамма, преобразовать RGB в XYZ, используя матрицу 3x3, преобразовать XYZ в лабораторию с использованием стандартной формулы и белой точки D6500

Рекомендации:

Остальное ... вы можете сделать самостоятельно :-)

Другие советы

В случае, если я подготовил список ссылок (на разных языках программирования), которые могут быть полезны для процесса преобразования (SRGB в лабораторию и обратно), а также преобразование SRGB в линейный RGB. Линейный RGB может быть дополнительно использован для баланса белого и калибровки цвета изображения (предоставленное цветовое пятно, например, цветная диаграмма Macbeth).

Интересные ссылки:

(i) Понимание SRGB и линейного пространства RGB: http://filmicgames.com/archives/299; http://www.cambridgeincolour.com/tutorials/gamma-correction.htm

(ii) Учебник MATLAB: https://de.mathworks.com/help/vision/ref/colorspaceconversion.html

(iii) Пакет Python: http://pydoc.net/python/pwkit/0.2.1/pwkit.colormaps/

(iv) C код: http://svn.int64.org/viewvc/int64/colors/color.c?view=markup

(v) OpenCV не обеспечивает SRGB для линейного преобразования RGB, но он выполняет преобразование внутри Color.cpp код (Opencv_dir modules imgproc src color.cpp). Отказ Проверьте метод вызова initlabtabs (), есть гамма -кодирование и декодирование. OpenCV Color Conversion API: http://docs.opencv.org/3.1.0/de/d25/imgproc_color_conversions.html

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top