Strona 1 z 1

Color to RGB

: 03 lut 2009 15:58
autor: dnorus
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?!

Color to RGB

: 03 lut 2009 17:02
autor: Pitol
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

: 03 lut 2009 18:26
autor: dnorus
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.

Re: Color to RGB

: 03 lut 2009 19:19
autor: jogurt_owocowy
Color to RGB (...) rozwiązanie jakie widze to w pętli.. jest jakiś łatwiejszy sposób na to?
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

: 03 lut 2009 20:54
autor: dnorus
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!

Color to RGB

: 04 lut 2009 09:29
autor: Mikrobi
Tytułem uzupełnienia - kolor w LabVIEW to U32:
najstarszy bajt jest nieznaczący a nastepne to R, G, B

Color to RGB

: 04 lut 2009 10:15
autor: vugie
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.

Re: Color to RGB

: 25 mar 2009 14:37
autor: sebastiankozub
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?

Re: Color to RGB

: 25 mar 2009 18:02
autor: coolfon
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?
Najprościej to chyba trzeba... wczytać plik bmp i zaimplementować w LabVIEW algorytm kompresji ;)

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? :)

Color to RGB

: 26 mar 2009 07:09
autor: sebastiankozub
nie nie nie :P
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 ;)