Calcolo della differenza colore CIE94
Il calcolatore della differenza colore CIE94 confronta due colori CIELAB correggendo separatamente luminosità, croma e tinta.
Esegui gratis nel browser
Rispetto alla distanza euclidea uniforme CIE76, riduce l'influenza di croma e tinta quando aumenta la saturazione del colore di riferimento. Inserisca le due terne Lab, mantenga i valori predefiniti per la grafica oppure specifichi i fattori richiesti e ottenga il Delta E 1994 con tutti i componenti intermedi utili a verificare il calcolo.
Che cosa misura CIE94 e perché conta il primo colore
CIE94 stima quanto appaiono diversi due colori misurati operando nello spazio CIELAB e considerando luminosità, croma e tinta come contributi percettivi distinti. CIE76 misura soltanto la distanza in linea retta fra i due punti Lab. È una misura utile, ma distanze geometriche uguali non appaiono sempre ugualmente diverse all'osservatore. CIE94 introduce termini di scala che aumentano le tolleranze di croma e tinta in base al croma del colore di riferimento. Per questo descrive spesso meglio le decisioni pratiche di accettazione, pur restando trasparente e rapido. L'ordine dei colori è significativo: i termini di scala usano il croma del primo colore, quindi invertire gli input può cambiare il risultato. Inserisca lo standard, il target, il campione master o il colore approvato in l1, a1 e b1; inserisca il campione da misurare in l2, a2 e b2. I due valori di croma restituiti rendono esplicita la direzione e aiutano a prevenire inversioni involontarie nei flussi automatici di controllo qualità.
Come scegliere i fattori di ponderazione
Le impostazioni predefinite applicano la forma comune di CIE94 per le arti grafiche: k_l, k_c e k_h valgono 1, K1 vale 0.045 e K2 vale 0.015. Nel settore tessile si usano spesso k_l pari a 2, K1 pari a 0.048 e K2 pari a 0.014, lasciando k_c e k_h a 1. Tali scelte rappresentano diverse priorità di tolleranza e non una conversione fra spazi colore. Il calcolatore espone tutti i fattori affinché Lei possa riprodurre esattamente un metodo di laboratorio, un contratto o una specifica interna. I tre pesi applicativi devono essere maggiori di zero perché dividono i rispettivi termini; K1 e K2 devono essere almeno zero perché regolano l'espansione delle scale dipendenti dal croma. Non modifichi i fattori soltanto per far superare il controllo a un campione. Registri la convenzione insieme al risultato e la mantenga per l'intera serie. L'output ripete i pesi e mostra ogni scala e termine normalizzato, consentendo una verifica indipendente senza impostazioni nascoste.
Come interpretare e verificare la differenza
Il risultato principale, delta_e_94, è una differenza non negativa: zero indica che i due input Lab sono identici per questo calcolo, mentre valori superiori indicano una separazione modellata maggiore. CIE94 non stabilisce una soglia universale di accettazione. L'idoneità dipende dalle condizioni di osservazione, dai materiali, dagli strumenti, dalla capacità del processo, dalle specifiche del cliente e dalla convenzione di ponderazione. Consideri quindi ogni soglia come parte del Suo standard qualitativo, non come proprietà della formula. La risposta comprende anche delta_l e delta_c con segno, la componente di tinta non negativa, entrambi i croma, tutte le scale e i tre termini normalizzati. Questi campi chiariscono perché coppie con totali simili possano differire per cause diverse. Gli input devono essere numeri finiti e L* deve essere compreso fra 0 e 100. Il calcolo non usa rete, casualità, orologio, profili o conversioni implicite: lo stesso JSON produce sempre lo stesso output arrotondato. Converta prima RGB o dati spettrali in una condizione CIELAB condivisa.
Casi d'uso
Confrontare una stampa con una prova
Usi la prova approvata come riferimento e quantifichi se il campione stampato rientra nella tolleranza CIE94 documentata.
Valutare l'uniformità di un tessuto
Applichi i pesi tessili per confrontare un campione tinto con il master, mantenendo separati luminosità, croma e tinta.
Verificare i calcoli di qualità cromatica
Archivi scale, termini normalizzati e pesi con il lotto affinché la differenza dichiarata possa essere riprodotta in modo indipendente.
Domande frequenti
In che modo CIE94 differisce da CIE76?
CIE76 è la distanza euclidea diretta fra coordinate Lab. CIE94 separa luminosità, croma e tinta e dimensiona gli ultimi due in base al riferimento, adattandosi meglio a molti confronti visivi.
L'ordine dei due colori è importante?
Sì. CIE94 calcola le scale di croma e tinta con il croma del primo colore; inserisca quindi per primo lo standard o riferimento. Invertire la coppia può cambiare il risultato.
Quali impostazioni devo usare per i tessili?
Una convenzione tessile comune usa k_l = 2, k_c = 1, k_h = 1, K1 = 0.048 e K2 = 0.014. Se la Sua specifica stabilisce altri valori, applichi quelli richiesti.
Quale valore di Delta E 94 è accettabile?
CIE94 non definisce un limite universale. Scelga la soglia in base a materiale, osservazione, processo, strumenti, accordo con il cliente e ponderazione adottata.
Posso inserire colori RGB o esadecimali?
No. Il calcolo richiede due terne CIELAB misurate o convertite in condizioni di riferimento compatibili. RGB ed esadecimale richiedono un profilo e una conversione espliciti.
Quanto costa un calcolo tramite API?
Ogni richiesta API costa $0.002. Il calcolo è disponibile gratuitamente anche nel browser perché è deterministico e non usa servizi di rete.
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo stack
curl -X POST https://api.kit.forhosting.com/color/delta-e-94 \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"l1":50,"a1":2.6772,"b1":-79.7751,"l2":50,"a2":0,"b2":-82.7485}'const res = await fetch("https://api.kit.forhosting.com/color/delta-e-94", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"l1": 50,
"a1": 2.6772,
"b1": -79.7751,
"l2": 50,
"a2": 0,
"b2": -82.7485
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/color/delta-e-94",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"l1": 50,
"a1": 2.6772,
"b1": -79.7751,
"l2": 50,
"a2": 0,
"b2": -82.7485
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/color/delta-e-94", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"l1":50,"a1":2.6772,"b1":-79.7751,"l2":50,"a2":0,"b2":-82.7485}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"l1":50,"a1":2.6772,"b1":-79.7751,"l2":50,"a2":0,"b2":-82.7485}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/color/delta-e-94", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Esempio di richiesta
{
"l1": 50,
"a1": 2.6772,
"b1": -79.7751,
"l2": 50,
"a2": 0,
"b2": -82.7485
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "color.delta_e_94",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |