微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

RGB相似颜色近似算法

鉴于在RGB中我们可以表示256 ^ 3种组合= 16,777,216种颜色,并且由于人眼只能区分大约10,000,000种,因此显然有6,216种RGB组合的过剩,其色彩与对应颜色无法区分.

压缩算法在此基础上工作,当我相信帧中颜色范围的空间差异近似时.考虑到这一点,如何可靠地计算给定颜色是否在与另一个颜色“相似”的范围内?

当然,“相似性”将是某种可以调整的任意/可调参数,但无论如何这都是近似值.那么任何指针,伪代码,直观的代码示例,资源都有帮助我建模这样的功能吗?

非常感谢您的帮助

解决方法

可以使用The CIEDE2000 Color-Difference Formula计算感知色差. CIEDE2000 formula基于LCH色彩空间(亮度,色度和色调). LCH颜色空间表示为圆柱体(参见图像 here).

一个不太准确(但更易于管理)的模型是CIE76色差公式,该公式基于Lab color space ( L*a*b*). RGB和CMYK值与L * a * b *之间没有简单的公式转换,因为RGB和CMYK颜色模型取决于设备.首先需要将RGB或CMYK值转换为特定的绝对色彩空间,例如sRGB或Adobe RGB.此调整将取决于设备,但来自变换的结果数据将与设备无关,允许将数据转换为CIE 1931颜色空间,然后转换为L * a * b *. This文章解释了程序和公式.

原文地址:https://www.jb51.cc/css/214839.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。