通过应用反伽马将 sRGB 转换为 RGB,使用 3x3 矩阵将 RGB 转换为 XYZ,使用标准公式和 D6500 白点将 XYZ 转换为 Lab。
参考:
其余内容您可以自行完成 :-)
如果需要,我已经准备了一份链接列表(使用不同的编程语言),可以帮助进行转换过程(从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