Skocz do zawartości
Zuk

[Teoria] Detekcja koloru obiektów

Pomocna odpowiedź

Pomiar koloru obiektu to ciekawe zagadnienie, jednak nie należy do zadań łatwych. W tym artykule chciałbym przybliżyć problem detekcji koloru i opisać możliwość konstrukcji własnego lub zastosowania gotowego czujnika koloru. Zacznę jednak od najprostszej konstrukcji monochromatycznego czujnika koloru wykrywającego intensywność jako nasycenie określonego koloru – w tym przypadku będzie to kolor niewidoczny dla ludzkiego oka – podczerwony IR. Dalej wyjaśnię trochę teorię rozkładania koloru na składowe. Przedstawię dwie konstrukcje czujników koloru. Na koniec zwrócę uwagę na istotne trudności związane z detekcją koloru. Mam nadzieję, że artykuł zachęci Was do wyposażania swoich robotów w czujniki koloru. W chwili obecnej na portalu jest opisany tylko jeden robot wyposażony w czujnik koloru… ale czy na pewno… ?

UWAGA, to tylko wstęp! Dalsza część artykułu dostępna jest na blogu.

Przeczytaj całość »

Poniżej znajdują się komentarze powiązane z tym wpisem.

TCS_sensor_mod-L.thumb.jpg.6419933d49a9c5330bd8e91dc51c2e70.jpg

Udostępnij ten post


Link to post
Share on other sites

Brakuje informacji niezwykle istotnej z punktu widzenia rozpoznawania wg koloru: palety kolorów HSV (bądź HSI). Zawartość kolorów RGB ściśle zależy od oświetlenia, natomiast barwa (czyli Hue) jest niezależne od intensywności oświetlenia a co najwyżej od barwy światła otoczenia, tym samym lepiej się nadaje dy wykrywania obiektów o danym kolorze. Takie rozwiązanie jest szczególnie dobre, jeśli wykorzystamy kamerę, ale przydaje się również przy wykorzystaniu czujników koloru jeśli nie jesteśmy w stanie dobrze odizolować badanego obiektu od światła zewnętrznego.

Każdemu polecam tworzyć jakieś kolorowe zdjęcie w GIMPie i użyć: Kolory->Składowe->Rozłożenie->HSV i obejrzeć samą barwę. Szczególnie dobrze efekt widać na ubraniach, na których potem nie widać nawet żadnej fałdy czy cienia.

Udostępnij ten post


Link to post
Share on other sites

Nie uwzględniłem czujników HSV ponieważ nie znam żadnego przykładu takiego czujnika.

Z opisywanymi w artykule czujnikami miałem do czynienia.

Co do oświetlenia to zgadzam się z użytkownikiem OldSkull.

W przypadku opisywanych czujników wpływ oświetlenia jest znaczący.

Czujnik wykonany ręcznie z oświetleniem RGB bardzo łatwo zakłócić przy oświetleniu świetlówkowym.

Natomiast czujnik TCS3200 ma swój oświetlacz, dla małych odległości (1-3cm) światło zewnętrze nie ma dużego wpływu - mówię o typowym świetle w pomieszczeniu.

Pozdrawiam

Zuk

Udostępnij ten post


Link to post
Share on other sites

Czujnik TCS3200D sam w sobie nie ma żadnego oświetlenia. To co Ty używasz to gotowy moduł z soczewką i LEDami oświetlającymi.

Chociaż czy zwykłe białe LEDy można nazwać rozsądnym oświetleniem to inna sprawa 😉 Jak spojrzycie na wykres spektralny czułości tego czujnika to te białe LEDy nie są jednak największym problemem przy bardziej dokładnym pomiarze koloru.

Faktem natomiast jest, że sam pomiar zależy od oświetlenia powierzchni. Jak oświetlisz ją słabym światłem "białym", a do tego dodasz różne ilości innego światła zewnętrznego to będziesz miał zupełnie różne pomiary - zależy ile światła zewnętrznego dotrze w stosunku do "białego" i jak wygląda spektrum tego oświetlenia.

Profesjonalne pomiaru kolorów robi się odrobinę innym sprzętem np. http://www.gloptic.com/mini-spectrometer.php . Stąd też mamy wykres spektralny i możemy obliczyć bardzo dokładnie kolor http://www.gloptic.com/images/screen-mini_big.jpg

Udostępnij ten post


Link to post
Share on other sites

Wartości HSV można obliczać za pomocą wzorów korzystając w wartości RGB. Oczywiście wprowadza to pewien błąd kwantyzacji, ale dzięki temu można sobie jako tako poradzić.

Udostępnij ten post


Link to post
Share on other sites

Zuk wykorzystanie czujnika odbiciowego do pomiaru koloru jest podejściem ryzykownym. Czujnikiem takim możemy zmierzyć współczynnik pochłaniania promieniowania nadawczego, natomiast pomiaru koloru dokonywałbym matrycami CCD (jak w aparatach cyfrowych) czyli pomiarem światła przepuszczonego przez filtry RGB...

Udostępnij ten post


Link to post
Share on other sites
Scalony czujnik TCS3200 (Rys. 5b) posiada matrycę szesnastu fotoelementów w układzie 4x4.

Wkradł Ci się mały błąd, TCS3200 ma matrycę 64 fotoelementów w układzie 8x8.

Udostępnij ten post


Link to post
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Gość
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.


×
×
  • Utwórz nowe...