关于取指定的颜色相近的颜色算法。 现在我进行中的程度就是利用R,G,B这三种颜色来判断,如果在某个值的范围内可以视为相近,但是匹配度不是很高,搜了两天论坛上的讨论,也提取了他们的一些方法但都不是很理想,有人说把RGB转换成HSL来计算能简单点,所以想问问各位有没有利用HSL来计算相近颜色的算法呢?(RGB转HSL已经搞定了)。谢谢了^_^ 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 如果对比两张不相同环境光下拍摄的图片,只比较色调(Hue)和饱和度(Saturation)比较有意义,因为亮度可能不一致。但在大部分情况下比较RGB已经很好用了。 gomoku的说法不是我的本意,我的意思是指用一个已知的颜色 来判断,比如红色,比如HEX码为:#FF0000那么我想#FF0011这样的颜色也能被识别为红色! 你有什么特殊原因要从RGB转到HSI空间吗? Color a = ... Color b = ... int diff = Math.Abs(a.R - b.R) + Math.Abs(a.G - b.G) + Math.Abs(a.B - a.B); if (diff < 30) // 自己定的一个门槛值 { //... } gomoku谢谢你的回复,你的取差值的方法就是我现在在用的方法,就是感觉匹配度不是很高,我在PS中弄了几个颜色的渐变,HSL的两个相近的颜色的值也很相近不像RGB相差那么远,所以想知道利用HSL有没有什么好的算法来判断! 颜色,本来就有人的主观感觉的因素在内。颜色匹配度,从不同的应用出发可以有不同的判定。我在2楼讲在一些特定情况下HSI可以更有效的例子。如果是通用的比较,RGB空间能差到哪去呢? 还是按老办法吧,谢谢gomoku的热情! DevExpress 如何改变xtraTabPage的显示位置 这段代码错误实在不晓得怎么改 winform中日期控件 支持多选 Microsoft.Jet.OLEDB.4.0读取excel的权限设置问题! 如何结束一个windows应用? 用tooltip控件来显示tooltrip中的tooltrbutton vs2003的安装问题。 请教读取文本文件的问题 各位关于水晶报表的父子表? Help!!!在线等待,解决问题当即结贴 socket 监听端口丢包 两个问题哦 不是很难的 解决100分哦
但在大部分情况下比较RGB已经很好用了。
Color a = ...
Color b = ... int diff = Math.Abs(a.R - b.R) + Math.Abs(a.G - b.G) + Math.Abs(a.B - a.B);
if (diff < 30) // 自己定的一个门槛值
{
//...
}
颜色匹配度,从不同的应用出发可以有不同的判定。我在2楼讲在一些特定情况下HSI可以更有效的例子。
如果是通用的比较,RGB空间能差到哪去呢?