我不明白如何将sRGB转换为CIELab并向后转换。请帮帮我。在с++代码
中是可取的答案 0 :(得分:11)
通过应用反伽玛将sRGB转换为RGB,使用3x3矩阵将RGB转换为XYZ,使用标准公式和D6500白点将XYZ转换为Lab
参考文献:
其余的......你可以自己做: - )
答案 1 :(得分: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()的方法,有一个gamma编码和解码。 OpenCV颜色转换API:http://docs.opencv.org/3.1.0/de/d25/imgproc_color_conversions.html