In primo luogo si deve scegliere esimo spazio colore appropriato si desidera che i confronti dei colori che si verifichi a (RGB, HSV, HSL, CMYK, ecc.).
Supponendo che si desidera sapere come vicino due punti nello spazio 3-dimenionsal RGB sono gli uni agli altri, è possibile calcolare la distanza di Pitagora tra di loro, vale a dire,
d2 = (r1 - r2)**2 + (g1 - g2)**2 + (b1 - b2)**2;
Questo in realtà ti dà il quadrato della la distanza. (Prendere la radice quadrata non è necessario se si confrontano solo i valori al quadrato.)
Ciò presuppone che si desideri trattare i valori R, G e B allo stesso modo. Se si preferisce il peso singoli componenti di colore, come ad esempio quello che succede quando si converte RGB in scala di grigi, è necessario aggiungere un coefficiente a ciascun termine della distanza, vale a dire,
d2 = 30*(r1-r2)**2 + 59*(g1-g2)**2 + 11*(b1-b2)**2;
Questo presuppone la conversione popolare da Da RGB a scala di grigi: 30% rosso + 59% verde + 11% blu.
Aggiornamento
L'ultima equazione dovrebbe probabilmente essere
d2 = (30*(r1-r2))**2 + (59*(g1-g2))**2 + (11*(b1-b2))**2;
fonte
2009-10-27 23:09:06
Domanda simile: http://stackoverflow.com/questions/1313/followup-finding-an-accurate-distance-between-colors – Kai