Program rozpoznający kolory

0

Chciałbym napisać sobie program(w c#) rozpoznający kolory. Ale nie wiem nawet od czego zacząć. Ma ktoś może jakieś artykuły traktujące o tym, albo przykładowe kody źródłowe?

0

Co rozumiesz przez rozpoznawanie kolorow ?

0
GetRValue(Image1.Canvas.Pixels[x,y]);

Znalazłem takie coś na tym forum :) Trzeba szukać... Jeżeli Ci chodzi o pobieranie wartości kanałów RGB np. z TImage. Odpowiednio: GetR...(red), GetG...(green), GetB...(blue) I teraz mogę podsunąć pomysł (chyba dobry). Wartości RGB w jakichś przedziałach oznaczają różne kolory. Jeżeli pobierzesz wartość kanału R=255, oznacza to, że pixel jest "czysto czerwony" itd.

0

jeżeli chodzi ci o to, aby program nazywał podany mu kolor, należałoby mieć bazę kolorów RGB wraz z ich nazwami (znalezienie nie powinno być trudne). Oczywiście nie będzie tam 17 milionów kolorów, a kilkadziesiąt, góra kilkaset. Dlatego dla podanego koloru trzeba byłoby szukać koloru najbliższego. Można by to robić odejmując wartości RGB (np. [123,32,54] różni się od [125,30,57] o [2,-2,3]; albo lepiej traktując kolor jako punkt w przestrzeni trójwymiarowej i szukając najbliższego punktu należącego do bazy korzystając z operacji geometrycznych (długość odcinka). A prawidłowo będzie operować nie w przestrzeni RGB a w CIELAB, jeżeli chcemy by program znajdował rzeczywiście najbliższy kolor pod względem jego wyglądu, a nie cyferek RGB.

1 użytkowników online, w tym zalogowanych: 0, gości: 1