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 » 18 maja 2012 17:02

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
labviewpyt1.JPG
Przykładowy fragment kodu

PiDi
Posty: 624
Rejestracja: 31 gru 2010 01:36
Wersja środowiska: LabVIEW 2017
Lokalizacja: Katowice
Has thanked: 3 times
Been thanked: 3 times

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

Post autor: PiDi » 18 maja 2012 17:19

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 » 19 maja 2012 12:09

Do którego mojego pytania jest Twoja instrukcja?

PiDi
Posty: 624
Rejestracja: 31 gru 2010 01:36
Wersja środowiska: LabVIEW 2017
Lokalizacja: Katowice
Has thanked: 3 times
Been thanked: 3 times

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

Post autor: PiDi » 19 maja 2012 13:16

A poczytałeś tą dokumentację? Tam jest napisane, jak z tej tablicy wyciągnąć składowe w dowolnym formacie.
ObrazekObrazekObrazekObrazek

Awatar użytkownika
smiga
Posty: 693
Rejestracja: 04 paź 2009 12:41
Wersja środowiska: LabVIEW 2016
Lokalizacja: Słupsk
Has thanked: 4 times
Been thanked: 1 time
Kontakt:

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

Post autor: smiga » 20 maja 2012 02:20

Może ten kawałek kodu podpowie:
Załączniki
test.vi
v2010
(54.69 KiB) Pobrany 287 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 » 24 maja 2012 10:29

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 » 14 sty 2015 08:26

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
Posty: 693
Rejestracja: 04 paź 2009 12:41
Wersja środowiska: LabVIEW 2016
Lokalizacja: Słupsk
Has thanked: 4 times
Been thanked: 1 time
Kontakt:

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

Post autor: smiga » 30 sty 2015 01:28

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 » 30 sty 2015 09:12

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
Posty: 693
Rejestracja: 04 paź 2009 12:41
Wersja środowiska: LabVIEW 2016
Lokalizacja: Słupsk
Has thanked: 4 times
Been thanked: 1 time
Kontakt:

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

Post autor: smiga » 30 sty 2015 15:03

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