Rozkład RGB i zrozumienie zapisu składowych

Tematyka związana z tworzeniem aplikacji w LabVIEW do obsługi wizji oraz wszelkich operacji na obrazie.
taba24
Posty: 25
Rejestracja: 28 gru 2010 23:47
Wersja środowiska: LabVIEW 2010

Rozkład RGB i zrozumienie zapisu składowych

Post autor: taba24 »

Witam!
Mam pytanie dotyczące rozkładu RGB na poszczególne składowe a także dotyczące komponentów ColorImageToArray, SplitNumber .
Po pierwsze, tak jak to widać poniżej bloczek ColorImageToArray przekształca obraz na tablice, potem za pomocą SplitNumber rozkładam na poszczególne składowe R,G,B(tak przynajmniej mysle). Pytanie moje jest takie jak wygląda rozkład na poszczególnych etapach? Na przykładzie gdyby ktos mógł wytłumaczyć jak wygląda podział bitów, żebym wiedział np. które wartosci bitów dotyczą czerwonego lub innego koloru. Czy w ogóle jest to dobry sposób na rozbicie wartości RGB na składowe? Gdy zapisuję do tablic na poszczególnych etapach nie wiem jak mam odczytać poszczególne wartości ?
Drugie pytanie to jak wygląda zamiana na skale szarości ?
Dzięki ! Pozdrawiam !
Załączniki
Przykładowy fragment kodu
Przykładowy fragment kodu
PiDi
Posty: 641
Rejestracja: 31 gru 2010 01:36
Wersja środowiska: LabVIEW 2017
Lokalizacja: Katowice

Re: Rozkład RGB i zrozumienie zapisu składowych

Post autor: PiDi »

Instrukcja:
1) CTRL+H, otwiera się okienko Context Help
2) Najeżdżamy na bloczek ColorImageToArray
3) W Context Help klikamy na Detailed Help
4) Czytamy

Ed. Jeśli chodzi o zamianę na skalę szarości, to przy obrazie HSL (lub HSV) wystarczy wyciągnąć płaszczyznę L (lub V). Dla obrazu RGB nie ma jednoznacznego przepisu, są wzory "empiryczne" - np. Matlab używa przeliczenia Gray = 0.2989 * R + 0.5870 * G + 0.1140 * B. Na R kładzie się mniej więcej dwa razy większą wagę niż na dwa pozostałe, bo tak nam z oka wynika (<skrót myślowy>).
ObrazekObrazekObrazekObrazek
taba24
Posty: 25
Rejestracja: 28 gru 2010 23:47
Wersja środowiska: LabVIEW 2010

Rozkład RGB i zrozumienie zapisu składowych

Post autor: taba24 »

Do którego mojego pytania jest Twoja instrukcja?
PiDi
Posty: 641
Rejestracja: 31 gru 2010 01:36
Wersja środowiska: LabVIEW 2017
Lokalizacja: Katowice

Re: Rozkład RGB i zrozumienie zapisu składowych

Post autor: PiDi »

A poczytałeś tą dokumentację? Tam jest napisane, jak z tej tablicy wyciągnąć składowe w dowolnym formacie.
ObrazekObrazekObrazekObrazek
Awatar użytkownika
smiga
Administrator
Posty: 799
Rejestracja: 04 paź 2009 12:41
Wersja środowiska: LabVIEW 2016
Lokalizacja: Słupsk

Re: Rozkład RGB i zrozumienie zapisu składowych

Post autor: smiga »

Może ten kawałek kodu podpowie:
Załączniki
test.vi
v2010
(54.69 KiB) Pobrany 621 razy
__ Arkadiusz Śmigielski, tel. 662 01 01 74___
ObrazekObrazekObrazek
taba24
Posty: 25
Rejestracja: 28 gru 2010 23:47
Wersja środowiska: LabVIEW 2010

Re: Rozkład RGB i zrozumienie zapisu składowych

Post autor: taba24 »

Dzięki za pomoc.
hibaaryan
Posty: 1
Rejestracja: 14 sty 2015 08:14
Wersja środowiska: LabVIEW 8.2

Rozkład RGB i zrozumienie zapisu składowych

Post autor: hibaaryan »

Postanowilam zrobic to w inny sposob, ale i tak mam pytania. Moj program w Labview ma polegać na tym, ze gdy w zasięgu kamery pojawi sie piłka, ma wykryć jej kolor, co będzie sygnalizowane przez odpowiednia (dla danego koloru) diodę LED. Postanowiłam wzorować się na przykładzie Color Learn Example for Color Matching Operations, korzystając z funkcji histogramu. Chciałabym aby w momencie pojawienia się na histogramie przewagi określonego koloru zostało to zasygnalizowane przez odpowiednia diodę. Niestety nie wiem jak połączyć dane z histogramu z programem oraz jakiej funkcji użyć aby diody się świeciły. Diody te podłączyłam do portu NI USB-6008. Próbowałam użyć funkcji DAQ Assistant, jednakże, po wybraniu odpowiedniego portu, nie wiem jak połączyć ja do mojego programu.
Pozdrawiam
Awatar użytkownika
smiga
Administrator
Posty: 799
Rejestracja: 04 paź 2009 12:41
Wersja środowiska: LabVIEW 2016
Lokalizacja: Słupsk

Re: Rozkład RGB i zrozumienie zapisu składowych

Post autor: smiga »

Coś nikt Koledze nie chce odpowiedzieć - tak to jest jak się wrzuca temat w starym wątku zamiast założyć nowy :(

Zauważ, że korzystając z DaqAssistant'a, jak wybierzesz Generate Signals, Digital Output, Port Output to na wejście data musisz podać tablicę.
Jedyne co pozostaje zrobić, to w odpowiednie elementy tablicy wpisać 1 lub 0. Histogram wystawia Ci dane w postaci klastra. Użyj funkcji Unbundle by Name i wyciągnij z klastra odpowiednią wartość. Następnie pod warunkiem przekroczenia przez wspomnianą wartość jakiegoś progu (możesz użyć Case Structure), podmień element w tablicy ( Replace Array Subset) ... i to tyle.
__ Arkadiusz Śmigielski, tel. 662 01 01 74___
ObrazekObrazekObrazek
may
Posty: 96
Rejestracja: 20 lut 2012 12:30
Wersja środowiska: LabVIEW 2014
Lokalizacja: Katowice / Ruda Śląska

Rozkład RGB i zrozumienie zapisu składowych

Post autor: may »

smiga, dałeś się nabrać i odpowiedziałeś botowi. Post jest skopiowany z viewtopic.php?f=19&t=4952&p=25231&hilit ... ale#p25231.
Obrazek
Awatar użytkownika
smiga
Administrator
Posty: 799
Rejestracja: 04 paź 2009 12:41
Wersja środowiska: LabVIEW 2016
Lokalizacja: Słupsk

Re: Rozkład RGB i zrozumienie zapisu składowych

Post autor: smiga »

To pięknie - teraz wkleję swoją odpowiedź do tamtego wątku :)
Z drugiej strony ciekawe dlaczego admin nie usunął tej wypowiedzi...?
__ Arkadiusz Śmigielski, tel. 662 01 01 74___
ObrazekObrazekObrazek
ODPOWIEDZ