Color to RGB
Color to RGB
Cześć,
Chce odczytać obraz w LabView, wszystko ładnie idzie tylko, że obraz RGB jest wczytany jako macierz 2D - przyzwyczajony jestem do 3D i kolejnej intepretacji każdego koloru w kolejnej przestrzeni. Tutaj jest to liczba 24 bitowa, która jest potem zamieniana na integer, nijak nie umiem tego użyć w sensie dalszego przetwarzania (chyba że na podstawie tych liczb mogę w jakiś sposób porównywać kolory itp), bowiem potrzebuje np policzyć dla danego piksela jakąś norme, odległość - do tego potrzebuje każdej składowej RGB z osobna.
Znalazłem bloczek Color to RGB, z tym że nie moge użyć na nim całej macierzy jaką jest obraz a tylko konkretny kolor - rozwiązanie jakie widze to w pętli.. jest jakiś łatwiejszy sposób na to?! tak samo jak chciałem wygenerować macierz n x n z losowymi wartościami, też muszę użyć pętelki?!
Chce odczytać obraz w LabView, wszystko ładnie idzie tylko, że obraz RGB jest wczytany jako macierz 2D - przyzwyczajony jestem do 3D i kolejnej intepretacji każdego koloru w kolejnej przestrzeni. Tutaj jest to liczba 24 bitowa, która jest potem zamieniana na integer, nijak nie umiem tego użyć w sensie dalszego przetwarzania (chyba że na podstawie tych liczb mogę w jakiś sposób porównywać kolory itp), bowiem potrzebuje np policzyć dla danego piksela jakąś norme, odległość - do tego potrzebuje każdej składowej RGB z osobna.
Znalazłem bloczek Color to RGB, z tym że nie moge użyć na nim całej macierzy jaką jest obraz a tylko konkretny kolor - rozwiązanie jakie widze to w pętli.. jest jakiś łatwiejszy sposób na to?! tak samo jak chciałem wygenerować macierz n x n z losowymi wartościami, też muszę użyć pętelki?!
- Pitol
- Moderator
- Posty: 984
- Rejestracja: 19 lip 2007 00:00
- Wersja środowiska: LabVIEW 2019
- Lokalizacja: Kraków
Color to RGB
Po odczycie obrazu dostajesz tablice RGB(w sensie tablice 24-bitowych liczb z czego na każdą "literkę" jest 8 bitów w liczbie), wyciągasz z niej odpowiednio dane(to nie będzie trudne) i masz to co lubisz (czyli każdą barwę oddzielnie)
Color to RGB
No ale chodzilo mi właśnie o odpowiednie wyciągnięcie danych:) mam sobie zamienić tą liczbę na bitową, podzielić, wyjąć, wyłączyć .. ale jak:) znalazłem właśnie ten bloczek Color to RGB no ale on działa na jednej wartości, a nie na całej macierzy.
- jogurt_owocowy
- Posty: 1317
- Rejestracja: 30 lis 2004 00:00
- Wersja środowiska: LabVIEW 2015
- Lokalizacja: Kraków
Re: Color to RGB
To jest na pewno najłatwiejszy sposób, choć zapewne nie najszybszy. Dwie zagnieżdżone pętle for z autoindeksowaniem na wejściu i wyjściach i nie martwisz się niczym więcej.Color to RGB (...) rozwiązanie jakie widze to w pętli.. jest jakiś łatwiejszy sposób na to?
Color to RGB
Dobra, dzięki wielkie - nauczym się przy tym czegoś o indeksowaniu i robieniu subVi's ;] szkoda tylko że trochę to trwa te przejście na RGB.
Pozdrawiam!
Pozdrawiam!
Color to RGB
Tytułem uzupełnienia - kolor w LabVIEW to U32:
najstarszy bajt jest nieznaczący a nastepne to R, G, B
najstarszy bajt jest nieznaczący a nastepne to R, G, B
-
- Posty: 383
- Rejestracja: 17 lis 2006 00:00
- Wersja środowiska: LabVIEW 2009
- Lokalizacja: Warszawa
Color to RGB
Ten najstarszy bajt nie jest taki do końca nieznaczący - zmienia się jeżeli wybierze się w color pickerze któryś z kolorów systemowych. A wtedy pozostałe bajty nie kodują już koloru bezpośrednio. Ale Color to RGB choć wolny działa zawsze. Natomiast jeżeli się jest pewnym, że U32 pochodzi z obrazka 24-bitowego to lepiej bezpośrednio dobierać się do 3 młodszych bajtów.
-
- Posty: 5
- Rejestracja: 25 mar 2009 14:35
- Lokalizacja: Leszno
- Kontakt:
Re: Color to RGB
ja mam pytanie troche z innej beczki...
chcialbym wczytac plik BITMAP i dokonac jego kompresji za pomoca jednego ze standartowych algorytmow... czy ma ktos jakis pomysl jak to zrobic?
chcialbym wczytac plik BITMAP i dokonac jego kompresji za pomoca jednego ze standartowych algorytmow... czy ma ktos jakis pomysl jak to zrobic?
Re: Color to RGB
Najprościej to chyba trzeba... wczytać plik bmp i zaimplementować w LabVIEW algorytm kompresji ;)sebastiankozub pisze:ja mam pytanie troche z innej beczki...
chcialbym wczytac plik BITMAP i dokonac jego kompresji za pomoca jednego ze standartowych algorytmow... czy ma ktos jakis pomysl jak to zrobic?
A tak serio... Chcesz dokonać w LV ręcznej kompresji (np. JPEG, czyli w dużym skrócie dekompozycja na bloki, DCT, kodowanie Huffmana itd.)? Bo to raczej czasochłonne przedsięwzięcie, zwłaszcza w LabVIEW. Jaki cel Ci przyświeca?
-
- Posty: 5
- Rejestracja: 25 mar 2009 14:35
- Lokalizacja: Leszno
- Kontakt:
Color to RGB
nie nie nie
chodzi o zoobrazowanie jednego z algorytmow kompresji - np: kodowanie huffmana - a na koncu podac stopien kompresji - ewentualnie pokazac jeszcze ze kompresja jest bezstartna - brak zmian w pliku
a moj problem dotyczny glownie problemow takich:
-jak wczytac plik? ... wiem juz ze sa bloczki "vi file open", "vi file read" ale chcailbym jeszcze zeby wyskakiwalo okienko wczytywania plikow jak w windowsie
- potem... jak i w czym umiescic dane binarne zeby najlatwiej na nich operowac podczas kompresji?
- nastepnie bedzie sam algorytm kompresji ... bede myslal o tym jak juz bedzie dzialac to wczesniej ;)
chodzi o zoobrazowanie jednego z algorytmow kompresji - np: kodowanie huffmana - a na koncu podac stopien kompresji - ewentualnie pokazac jeszcze ze kompresja jest bezstartna - brak zmian w pliku
a moj problem dotyczny glownie problemow takich:
-jak wczytac plik? ... wiem juz ze sa bloczki "vi file open", "vi file read" ale chcailbym jeszcze zeby wyskakiwalo okienko wczytywania plikow jak w windowsie
- potem... jak i w czym umiescic dane binarne zeby najlatwiej na nich operowac podczas kompresji?
- nastepnie bedzie sam algorytm kompresji ... bede myslal o tym jak juz bedzie dzialac to wczesniej ;)
Ostatnio zmieniony 26 mar 2009 07:10 przez sebastiankozub, łącznie zmieniany 1 raz.