请教一个颜色容差的计算问题
vb吧
全部回复
仅看楼主
level 9
cxy5636917 楼主
以下内容来自网络
====================================================================
颜色容差计算方法
图像处理
计算公式 R=(r1-r2) G=(g1-g2) B=(b1-b2)
色差 = max(R,G,B)正 +max(|R|,|G|,|B|)负,
看例子:白色(r1:255, g1,255, b1:255) ,对比色(r2:121,?g2:221, b2:51)
R=r1-r2 =134 G = 35 B=204 因为R G B都为正,所以色差=max(R,G,B)正=204
=======================================================================
由于我没有颜色方面的专业知识,现在就想知道计算R,G,B都是负数,或者有正数也有负数时依据这个公式怎么计算?
请教各位颜色处理方面的专家。
2021年06月01日 07点06分 1
level 11
先看帮助文件,关于rgb函数是这么说的
,只说了超过255,没有说小于0的请。怀疑会出错。
但是,究竟是不是呢?实践出真知,斗争长才干,要知道梨子的滋味就亲口尝一尝。
至此,应该得出结论了吧?
2021年06月01日 08点06分 2
楼主问的并不是“RGB函数能否接受负数参数”,而是“两个RGB颜色的一种差值计算方法是如何计算的”
2021年06月01日 09点06分
2021年06月01日 09点06分
level 15
我觉得这个公式给的有问题,应该只取max(|R|,|G|,|B|)这一部分就可以了,不管R,G,B的正负如何
2021年06月01日 09点06分 3
三个分量差的最大值来表征颜色差异。有一定的合理性。但是,假定r差值一个是40,一个为0;g差值一个40、一个为0;b差值都为50.判定两个差距一样,可能视觉上……
2021年06月01日 09点06分
level 9
cxy5636917 楼主
谢谢。
想破了脑袋:理解的是这样
如果R,G,B都是正数,则用色差 = max(R,G,B)正
如果有一个是负数,则采用:色差 = max(|R|,|G|,|B|)负,
不知道对不对。
抽空写个验证程序验证以下。
2021年06月02日 09点06分 4
1