我正在尝试将RGB颜色空间转换为感知均匀的CIELAB颜色空间。维基百科指出:
“RGB或CMYK值首先必须转换为特定的绝对颜色空间,例如sRGB或Adobe RGB。这个调整将依赖于设备,但是从转换得到的数据将是设备无关的,允许数据被转换到CIE 1931颜色空间,然后转换成L*a * b*。”
我知道一旦转换为sRGB,有一些直接的变换方法,但我没有找到任何从RGB到sRGB的材料。那么,存在哪些方法可以进行这样的转换呢?
我正在尝试将RGB颜色空间转换为感知均匀的CIELAB颜色空间。维基百科指出:
“RGB或CMYK值首先必须转换为特定的绝对颜色空间,例如sRGB或Adobe RGB。这个调整将依赖于设备,但是从转换得到的数据将是设备无关的,允许数据被转换到CIE 1931颜色空间,然后转换成L*a * b*。”
我知道一旦转换为sRGB,有一些直接的变换方法,但我没有找到任何从RGB到sRGB的材料。那么,存在哪些方法可以进行这样的转换呢?
(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
color-interpolation-filters="sRGB"
。否则,滤镜默认为linearRGB
。这种伽马信息的丢失会导致图像看起来变得苍白。要解决这个问题,请更新您的滤镜的颜色空间。 - Tanner Hodges