如何高效地将sRGB转换为CIELab,以及将CIELab转换为sRGB?

8
我不明白如何将sRGB转换为CIELab,也不知道如何反向转换。请帮帮我,尽可能使用C++代码进行实现。
2个回答

11

0

如果需要,我已经准备了一份链接列表(使用不同的编程语言),可以帮助进行转换过程(从sRGB到LAB以及反向转换),同时也可以将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颜色转换API:http://docs.opencv.org/3.1.0/de/d25/imgproc_color_conversions.html


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接