我也只是在讲HCL色彩空间。但是,问题中两篇文章中使用的色彩空间似乎是不同的色彩空间。
第二篇文章使用L * C * h(uv),它与L * u * v 相同,但在极坐标系中描述,其中h(uv)是u 和v 坐标系的夹角,而C
是幅度该向量。
第一篇文章中的LCH颜色空间似乎描述了另一种颜色空间,而不是使用更多的算法转换。这里还有第一篇论文的另一个版本:http
:
//isjd.pdii.lipi.go.id/admin/jurnal/14209102121.pdf
如果要使用CIE L * u * v ,则需要先将sRGB转换为CIE XYZ,然后再转换为CIE L * u * v
。在大多数情况下,RGB实际上是指sRGB,因此无需从RGB转换为sRGB。
所需的所有源代码
关于如何转换为XYZ的好文章
不错的在线转换器
但是我无法回答您有关如何将颜色限制到sRGB空间的问题。转换后,您可以丢弃超出0到1范围的RGB颜色。仅夹紧颜色会产生非常奇怪的结果。尝试转到转换器,输入颜色RGB
0 0 255,转换为L * a * b (类似于L * u * v ),然后将L *增加为70,然后将其转换回去,结果肯定是不再是蓝色。
编辑:更正了URL编辑:将另一个答案合并到此答案中
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)