Obraz z kamery i obróbka w matlabie

Tematy związane z LabVIEW pracującym w czasie rzeczywistym.
taba24
Posty: 25
Rejestracja: 28 gru 2010 23:47
Wersja środowiska: LabVIEW 2010

Obraz z kamery i obróbka w matlabie

Post autor: taba24 »

Witam!
Mam za zadanie podłączyć dwie kamery do komputera i pobrać obraz do Labview, następnie na poziomie Labview (czyli używając Matlab script-a) dokonać obróbki obrazu i wyświetlić go. Na początku po prostu ma to być pobranie obrazu np. z jednej kamery, jakakolwiek operacja w Matlabie i wyswietlenie efektu (w czasie rzeczywistym) . Oczywiście mogę korzystać z dodatków IMAQ, IMAQdx itd. Jeżeli ktoś mógłby mi nakreślić kierunek pracy to byłbym wdzięczny. Czy do Matlab-a najlepiej wprowadzić obraz w postaci tablic a jeśli tak to jakich?
Pozdrawiam i z góry dzięki!
P.S. Labview 2010 , Matlab 2010
oczekp
Posty: 161
Rejestracja: 22 lis 2009 15:12
Wersja środowiska: LabVIEW 2010

Re: Obraz z kamery i obróbka w matlabie

Post autor: oczekp »

To jak tak tytułem wstępu i kilku wątpliwości: kamerki pod usb, czy firewire? Jaka rozdzielczość? Jakie to mają być przekształcenia? Jeżeli będą skomplikowane i chcesz by były w czasie rzeczywistym to nie radzę ich wykonywać w matlab scripcie, tylko po prostu w labview. Imaq vision ma wbudowane dużo różnych filtrów i opcji, może one po prostu wystarczą, wtedy będzie najszybciej. Jak nie, to proponuję przerobić obraz na tablicę dwuwymiarową i na niej dokonywać przekształceń.
Tu przykładowy link czytania obrazu z kamery:
http://vi-lib.com/vision/CapturingVideofrmUSBCamer.html
http://digital.ni.com/public.nsf/allkb/ ... 32007295F9
http://zone.ni.com/devzone/cda/epd/p/id/5030
http://forums.ni.com/t5/LabVIEW/Using-a ... d-p/612535
http://www.csun.edu/~rd436460/Labview/N ... _Guide.pdf
taba24
Posty: 25
Rejestracja: 28 gru 2010 23:47
Wersja środowiska: LabVIEW 2010

Re: Obraz z kamery i obróbka w matlabie

Post autor: taba24 »

Jedna kamera będzie podłączona pod USB, druga przez internet, Rozdzielczości dokładnej nie znam ale to na razie może byś 640x480 30 fps. Przekształcenia docelowo mają być na tyle skomplikowane, że konieczne będzie użycie Matlaba (jest to założenie projektu więc nie mogę tego zmienić ). Dzięki za linki, popatrzę na nie i pewnie powstaną nowe pytania.....
Awatar użytkownika
Labqu
Posty: 71
Rejestracja: 19 mar 2010 23:33
Wersja środowiska: LabVIEW 2010
Lokalizacja: Gliwice

Re: Obraz z kamery i obróbka w matlabie

Post autor: Labqu »

taba24 pisze:Przekształcenia docelowo mają być na tyle skomplikowane, że konieczne będzie użycie Matlaba
Hmm...A w czymże matlab jest lepszy od labview ? Używam do przetwarzania obrazów zarówno malaba jak i labview. Każdy ma swoje plusy i minusy, ale wszystko wolę robić w labview. Napisz dokładnie co masz zrobić / temat projektu.

Ja całą pracę magisterską dotyczącą przetwarzania obrazów zrobiłem w labview.

Aaaa, a łączenie labview i matlaba - nie polecam! Ślamazarnie to chodzi...
You don't need a reason to help people.
taba24
Posty: 25
Rejestracja: 28 gru 2010 23:47
Wersja środowiska: LabVIEW 2010

Obraz z kamery i obróbka w matlabie

Post autor: taba24 »

No niestety, dokładnie nie wiem jakie mają być przekształcenia końcowe, możliwe że żle to określiłem ale mam do tego wykorzystać Matlaba i na razie nie wnikam co dalej. Pierwszym etapem ma być jakakolwiek operacja na obrazie w Matlabie wykorzystując Labview ....
Awatar użytkownika
Labqu
Posty: 71
Rejestracja: 19 mar 2010 23:33
Wersja środowiska: LabVIEW 2010
Lokalizacja: Gliwice

Re: Obraz z kamery i obróbka w matlabie

Post autor: Labqu »

Trochę do dla mnie bez sensu, skoro wszystko można zrobić w LabVIEW i będzie to działać o wiele szybciej niż w przypadku matlaba.
No, ale skoro musisz. Tak jak kolega wcześniej pisał, obraz z kamery USB najprościej otrzymasz używając IMAQdx. Instalując IMAQdx w Helpie będziesz miał dużo przykładów akwizycji. Co potem ? Powinieneś skonwertować otrzymany obraz to tablicy RGB (trzy wymiarowej, np. 512x512x3). I w takiej formie dany obraz przekazywać do matlaba ;)

W razie wątpliwości pisz.
You don't need a reason to help people.
taba24
Posty: 25
Rejestracja: 28 gru 2010 23:47
Wersja środowiska: LabVIEW 2010

Obraz z kamery i obróbka w matlabie

Post autor: taba24 »

Dzięki, a swoją drogą to dowiem się dokładniej jak to jest z tym Matlabem (dlaczego? po co? czy koniecznie? itd.) W razie problemów będę pisał ...
taba24
Posty: 25
Rejestracja: 28 gru 2010 23:47
Wersja środowiska: LabVIEW 2010

Obraz z kamery i obróbka w matlabie

Post autor: taba24 »

1.Z tego co zdążyłem się zorientować to do Matlab Script Node można wprowadzić jedno lub dwuwymiarową tablice, więc nie może być trojwymiarowej .

2.Popróbowałem trochę z tym matlabem i wprowadzałem trzy tablice(R,G,B) dwuwymiarowe (na początku jedynie zdjęcie z kamery czyli jedna klatka a nie jak ma być ze 30ps ). W Matlabie jedynie pododawałem do każdej tablicy jakieś wartości, ale nie wiem jak na wyjściu ze scripta złożyć z tych trzech tablic obraz RGB. Przy rozkładzie korzystałem z (ExtractColorPlanes).
Awatar użytkownika
Labqu
Posty: 71
Rejestracja: 19 mar 2010 23:33
Wersja środowiska: LabVIEW 2010
Lokalizacja: Gliwice

Re: Obraz z kamery i obróbka w matlabie

Post autor: Labqu »

Zrobisz to za pomocą bloczku IMAQ Replace ColorPlane
Załączniki
1.png
You don't need a reason to help people.
taba24
Posty: 25
Rejestracja: 28 gru 2010 23:47
Wersja środowiska: LabVIEW 2010

Re: Obraz z kamery i obróbka w matlabie

Post autor: taba24 »

Faktycznie to dobry komponent ale nie chce mi złożyć obrazu . Wyskakuje błąd
Possible reason(s):
IMAQ Vision: (Hex 0xBFF60450) Invalid image type.
Załączniki
untitled.JPG
oczekp
Posty: 161
Rejestracja: 22 lis 2009 15:12
Wersja środowiska: LabVIEW 2010

Re: Obraz z kamery i obróbka w matlabie

Post autor: oczekp »

tak patrząć na szybkości to wydaje mi się, że pod rgb2 musisz podpiąć stałą rgb
Załączniki
1.jpg
1.jpg (23.2 KiB) Przejrzano 21142 razy
taba24
Posty: 25
Rejestracja: 28 gru 2010 23:47
Wersja środowiska: LabVIEW 2010

Obraz z kamery i obróbka w matlabie

Post autor: taba24 »

Tak, zgadza się ,ale wtedy pisał że typ był zły (wstawiałem U32), ale wstawiłem jeszcze imaq setimagesize z dokładną wielkością pobieranego obrazu i poszło.
Awatar użytkownika
Labqu
Posty: 71
Rejestracja: 19 mar 2010 23:33
Wersja środowiska: LabVIEW 2010
Lokalizacja: Gliwice

Re: Obraz z kamery i obróbka w matlabie

Post autor: Labqu »

Hmm, SetImageSize nie powinien mieć na to wpływu ;) Przynajmniej ja tego nigdy nie używam. Spróbuj określić w IMAQ Create dla obrazów w skali szarości typ Grayscale U8 ;)
You don't need a reason to help people.
taba24
Posty: 25
Rejestracja: 28 gru 2010 23:47
Wersja środowiska: LabVIEW 2010

Re: Obraz z kamery i obróbka w matlabie

Post autor: taba24 »

Witam po po przerwie !
Zapytałem się czy na pewno sensowne jest użycie Mathscripta i Matlaba do obróbki obrazu i niestety jest to wymóg formalny i na tym po części polega projekt. Mam zrobionego VI'a który pobiera obraz, wyświetla go a następnie obrabia w matlabie (dodaję do skladowej rgb jakąś stałą bo nadal nie wiem co ma matlab robić ) i wyświetla efekt. Zrobione jest to tak, że działa w czasie rzeczywistym ale niestety troche za wolno. Obraz skacze,więc gdy doda się jeszcze jakieś obliczenia w matlabie to moze być krucho. Można to jakoś przyspieszyć ? Może ktoś ma pomysł?

Druga sprawa to wejście do Mathscripta. Wczytuję tam tablicę dwuwymiarową rgb, a czy można wczytać osobno każdą składową dzieląc na poszczególne barwy używając np. funkcji Split Numbers.Bo nie chce za bardzo używać rozdzielania na trzy palety R,G,B bo trzeba rezerwować dla każdej pamięć. Podpowiedziano mi że tak można ale nie wiem jak to zrobić. Czy ktoś mógłby w taki razie wytłumaczyć jak jest zapisany piksel RGB bo wyświetla mi się np. 2561061 (jest to pojedynczy element tablicy uzyskanej z obrazu rgb) i co to oznacza? Czy są tu zapisane trzy barwy i można je odseparować ?

Z góry dzięki za pomoc!!!
Pozdrawiam !
Załączniki
Tak wygląda działajacy VI
Tak wygląda działajacy VI
Ostatnio zmieniony 22 lut 2011 16:38 przez taba24, łącznie zmieniany 1 raz.
Awatar użytkownika
czepek
Posty: 27
Rejestracja: 02 cze 2010 22:21
Wersja środowiska: LabVIEW 2009

Re: Obraz z kamery i obróbka w matlabie

Post autor: czepek »

Jezeli pracujesz w konfiguracji z komputerem PC z Windowsem to niestety niewiele ma to wspólnego z czaem rzeczywistym, według mnie dla tej konfiguracji cięzko będzie uzyskac przyzwoitą szybkośc przetwarzania. Niemniej w Windowsie istnieje możliwośc nadawania tak zwanych piorytetów, w LabVIEW bloczek Timed Loop umozliwia nadawanie takiego priorytetu, oraz kilka innych przydatnych opcji.
ODPOWIEDZ