Rozkład RGB i zrozumienie zapisu składowych
Rozkład RGB i zrozumienie zapisu składowych
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 !
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 !
-
- Posty: 641
- Rejestracja: 31 gru 2010 01:36
- Wersja środowiska: LabVIEW 2017
- Lokalizacja: Katowice
Re: Rozkład RGB i zrozumienie zapisu składowych
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>).
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>).
Rozkład RGB i zrozumienie zapisu składowych
Do którego mojego pytania jest Twoja instrukcja?
-
- Posty: 641
- Rejestracja: 31 gru 2010 01:36
- Wersja środowiska: LabVIEW 2017
- Lokalizacja: Katowice
Re: Rozkład RGB i zrozumienie zapisu składowych
A poczytałeś tą dokumentację? Tam jest napisane, jak z tej tablicy wyciągnąć składowe w dowolnym formacie.
- smiga
- Administrator
- Posty: 817
- Rejestracja: 04 paź 2009 12:41
- Wersja środowiska: LabVIEW 2019
- Lokalizacja: Słupsk
Re: Rozkład RGB i zrozumienie zapisu składowych
Może ten kawałek kodu podpowie:
- Załączniki
-
- test.vi
- v2010
- (54.69 KiB) Pobrany 638 razy
Re: Rozkład RGB i zrozumienie zapisu składowych
Dzięki za pomoc.
Rozkład RGB i zrozumienie zapisu składowych
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
Pozdrawiam
- smiga
- Administrator
- Posty: 817
- Rejestracja: 04 paź 2009 12:41
- Wersja środowiska: LabVIEW 2019
- Lokalizacja: Słupsk
Re: Rozkład RGB i zrozumienie zapisu składowych
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.
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.
-
- 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
smiga, dałeś się nabrać i odpowiedziałeś botowi. Post jest skopiowany z viewtopic.php?f=19&t=4952&p=25231&hilit ... ale#p25231.
- smiga
- Administrator
- Posty: 817
- Rejestracja: 04 paź 2009 12:41
- Wersja środowiska: LabVIEW 2019
- Lokalizacja: Słupsk
Re: Rozkład RGB i zrozumienie zapisu składowych
To pięknie - teraz wkleję swoją odpowiedź do tamtego wątku
Z drugiej strony ciekawe dlaczego admin nie usunął tej wypowiedzi...?
Z drugiej strony ciekawe dlaczego admin nie usunął tej wypowiedzi...?