我最近在解决一个问题, 想计算两个小图片的相似性.
为了简化计算我打算把rgb三种颜色的分离数值合并成一个数值. 两种颜色越是相近, 这两个数值的差越小例如 颜色 #000001和颜色#000002的差是1, 数值越小说明两个颜色越相近. 如果事情是这么简单的话就优美了… 但是现实情况却并非如你所料的那么美好.
例如颜色
#ffffff是白色 和颜色 #feffff, 人眼几乎是区分不出来的.可以视为相等, 差应该是1. 但是他们在数学上的两个差值是#010000
这么大,

有没有什么原始的算法.或相关说明…或者公式?
查过各种各样的资料, 首先想到的就是色彩空间转换. 把RGB转成到某个线性的一维的色彩空间.
经过翻查, 最后的结果是, 很悲剧没有… 根本就没有这种转换…
于是请教大神同学.bluishfish, 以下是对话内容.
名字好难起:
各位, 我最近在解决一个问题, 想计算两个小图片的相似性. 为了简化计算我打算把rgb三种颜色的分离数值合并成一个数值. 也就是合并计算出rgb对应的原始色彩数值.请问我该怎么算? 有没有什么原始的算法.或相关说明…或者公式?
名字好难起:
这个色彩的色彩空间应该是 从0 到 255255255的连续分布.
名字好难起:

人工智能同学 bluishfish:
简单合并会丢失大量信息,最好的的“算法”不就是完全独立堆叠么,#FFFFFF 这类表示保留了数据完整性
(作者注, 这里跟我上面的想法是一致的, 简单的堆叠不能解决问题.)
名字好难起:

最低0.47元/天 解锁文章
14万+





