使用阈值查找类似的HEX颜色

时间:2012-06-29 17:17:40

标签: php javascript image-processing

我有一个RGB十六进制颜色数组。 我想找到一种快速而肮脏的方法,通过颜色相似性和阈值对它们进行分组。

规范:enter image description here

2 个答案:

答案 0 :(得分:3)

快速而肮脏:

$dr = $red1   - $red2;
$dg = $green1 - $green2;
$db = $blue1  - $blue2;
$fr = 2; // may be adjusted
$fg = 4; // "
$fb = 1; // "
$distance_squared = $fr * $dr * $dr + $fg * $dg * $dg + $fb * $db * $db;

然后,您可以将$distance_squared与阈值的平方进行比较。可以调整因子(特别是蓝色可能会得到更高的因子),以及它们的总和(为了匹配阈值)

对于“缓慢而干净”的解决方案,我会从here(和here开始,以获得更实用的方法)。

答案 1 :(得分:1)

选择color space,并将“相似度”定义为例如欧几里德两种颜色坐标之间的距离。例如,HSL / HSV可能是比RGB更好的选择。