Implementacja CIEDE2000 w Microsoft Excel
| Liczba wizyt | 1 091 |
|---|---|
| Liczba przeglądanych plików | 161 + 609 |
Poniżej przedstawiamy arkusz kalkulacyjny Excel, który implementuje różnicę kolorów CIEDE2000 przy użyciu natywnej formuły jednowierszowej, bez potrzeby stosowania makr lub VBA. Implementacja jest potwierdzona naukowo i obejmuje pary testowe dla formuł Gaurava Sharmy i Bruce’a Lindblooma. Łącznie 18 wartości ΔE00 jest obliczanych w oddzielnych wierszach w dwóch tabelach (9 dla Sharma i 9 dla Lindbloom). Formuła uwzględnia przypadki specjalne, na przykład "atan2(0, 0)" jest zarządzana w kolumnach S i T, aby zapewnić spójne zachowanie matematyczne. Algorytm jest solidnie przepisany, a ostateczny wynik CIEDE2000 jest dokładny do co najmniej 10 miejsc po przecinku, co zostało potwierdzone za kulisami przez implementacje w MATLAB (Sharma) i JavaScript (Lindbloom) na 10 000 par kolorów. Współczynniki parametryczne kL, kC i kH (kolumny G, H i I) zostały dokładnie przetestowane i mogą być dostosowywane wiersz po wierszu. Pełna formuła jest przechowywana w ukrytych kolumnach (od L do AM), podczas gdy wynik ΔE2000 pojawia się w kolumnie J. Kolumna K zawiera test statyczny, który musi zostać usunięty po odczytaniu. Kolumna AN (skrajna prawa) jest wyszarzona, aby ułatwić rozszerzenie formuły. Każdy wiersz można kopiować, wklejać lub przesuwać w dół w celu rozszerzenia obliczeń, zachowując przy tym jego autonomię.
Plik jest dostarczany w prostym formacie XLS (Excel 97-2003) i używa tylko znaków ASCII dla maksymalnej kompatybilności. Można z niego korzystać wszędzie tam, gdzie akceptowane są klasyczne pliki Excel, np. w Arkuszach Google. To rozwiązanie kolorymetryczne jest przeznaczone dla profesjonalistów, takich jak Fogra i X-Rite, i oczywiście każdego, kto chce dokładnie i przenośnie ocenić ΔE00.
Dokładność i niezawodność kodu źródłowego
Różnica między akademickim sformułowaniem Sharmy a uproszczonym sformułowaniem Lindblooma nie przekracza ±0,0003 na końcowym ΔE2000. Przedstawiona tutaj implementacja jest 64-bitowa i zapewnia dokładność na ponad 10 miejsc po przecinku; wybór jednej z formuły zamiast drugiej jest zatem kwestią techniczną.
Jak można ustalić, czy dana implementacja CIEDE2000 jest typu akademickiego, czy uproszczonego?
- Oceń
ciede_2000(56.6, 43.6, 41.1, 68.4, 9.4, -8.6) - Jeśli wynik wynosi
30.0001, jest to typ akademicki (jak Sharma, OpenJDK itp.) - Jeśli wynik wynosi
29.9999, jest to typ uproszczony (jak Lindbloom, Netflix VMAF itp.)
Zakresy wartości w CIELAB i interpretacja ΔE2000
W przestrzeni barw CIELAB składnik L* oznacza jasność i zwykle mieści się w zakresie od 0 (czarny) do 100 (biały). Składniki a* i b* opisują osie barw: a* przechodzi od zielonego do czerwonego, a b* od niebieskiego do żółtego. W praktyce wartości a* i b* prawie zawsze mieszczą się w przedziale od -128 do +127, chociaż norma nie określa oficjalnego ograniczenia dla tych dwóch składowych.
| Kolor 1 | Kolor 2 | Wartość ΔE2000 |
|---|---|---|
| 1 | ||
| 2 | ||
| 3 |
| Kolor 1 | Kolor 2 | Wartość ΔE2000 |
|---|---|---|
| 5 | ||
| 10 | ||
| 15 |
ΔE2000 (CIEDE2000) określa percepcyjną różnicę między dwoma kolorami: 0 oznacza identyczne kolory, a wyższe wartości (do 185 i więcej) wskazują na większą różnicę. Na przykład wartość ΔE2000 około 5 oznacza kolory podobne, natomiast około 15 oznacza kolory wyraźnie różne. Gdy wartość ΔE2000 przekracza 40, porównywane kolory nie mają już praktycznie nic wspólnego i nie można z nich wyciągnąć żadnych konkretnych wniosków.
Pliki do pobrania
Zachęcamy do korzystania z tych plików udostępnionych przez Michela, nawet w celach komercyjnych.
| Plik | Rozmiar | Liczba kliknięć |
|---|---|---|
| ciede-2000.xls | 35 KB | 161 |
| reference-dataset.txt | 4 KB | 609 |
| Kliknij xls.zip, aby pobrać wszystkie pliki w archiwum. | ||
Społeczność
Co sądzisz o tym kodzie źródłowym lub CIEDE2000? Twoja opinia jest dla nas ważna! Księga gości zawiera już 9 wiadomości - w tym 1 w języku polskim. Zajrzyj i podziel się swoją opinią.