![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 16 Pomógł: 0 Dołączył: 7.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Chciał bym zapytać, czy ktoś wie jakiego algorytmu powinno się używać żeby jak najdokładniej porównać kolory? Chodzi mi o sytuację, w której mam jeden kolor (nazwijmy go podstawowy) i muszę wybrać spośród kilku innych kolorów najbardziej podobny do tego podstawowego. W internecie znalazłem coś o geometrii Euklidesowej. Czyli potraktować kolor ( r,g,b ) jako punkt znajdujący się w sześcianie i obliczać po prostu odległość punktów w przestrzeni 3D za pomocą wzoru:
dla zmniejszenia ilości obliczeń można pominąć pierwiastek bo nie wpływa on na wartość porównania. Jednak rozwiązanie takie nie do końca się sprawdza. Poniższy przykład zaczerpnąłem z forum EP z tematu, który niestety umarł w 2006 roku: (IMG:http://img688.imageshack.us/img688/7937/koloryr.gif) według wzoru podanego wyżej bardziej podobny do podstawowego jest kolor 1, jednak "na oko" widać, że kolor 2 bardziej pasuje. Nie bardzo wiem co z tym zrobić... Ten post edytował DooBLER 6.04.2010, 15:53:33 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 56 Pomógł: 0 Dołączył: 5.07.2008 Ostrzeżenie: (0%) ![]() ![]() |
Widzę przynajmniej 2 sposoby:
1) Porównujesz tylko 2 barwy i liczysz najmniejsze odchylenia od koloru podstawowego (nie jest to idealne rozwiązanie) Pytanie 1 - którą barwę wybrać jako podstawową: Oczywiście barwę która ma największą wartość. Pytanie 2 - jak to porównać: W pierwszej kolejności sprawdzasz czy istnieje barwa o takiej samej wartości koloru głównego. Jeżeli istnieje kilka takich barw porównujesz kolory 'poboczne' tych barw. Jeżeli nie istnieje taka barwa to szukasz najmniejszego odchylenia od wartości podstawowej. 2) Można oczywiście zrobić dużą bazę/tabelę z przedziałami kolorów podobnych (nie opłaca się rozpisywać całego RGB). Konieczne jest dodanie 'skali' podobieństwa. Po wybraniu kilku kolorów można porównać twoim sposobem. To wyeliminuje widoczne gołym okiem błędy w porównaniu. PS. Twój sposób jest dobry ponieważ praktycznie kolor nr1 jest bardziej podobny niż kolor nr2 (wg. komputer) jeżeli chodzi o człowieka to człowiek wyłapuje kolor główny tak jak to napisałem w sposobie pierwszym. Pozdrawiam, Piro |
|
|
![]() ![]() |
![]() |
Aktualny czas: 10.10.2025 - 12:55 |