Strona 1 z 2

Obraz z kamery i obróbka w matlabie

: 25 sty 2011 13:37
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

Re: Obraz z kamery i obróbka w matlabie

: 25 sty 2011 14:38
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

Re: Obraz z kamery i obróbka w matlabie

: 25 sty 2011 14:53
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.....

Re: Obraz z kamery i obróbka w matlabie

: 25 sty 2011 16:15
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...

Obraz z kamery i obróbka w matlabie

: 25 sty 2011 16:19
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 ....

Re: Obraz z kamery i obróbka w matlabie

: 25 sty 2011 16:25
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.

Obraz z kamery i obróbka w matlabie

: 25 sty 2011 16:40
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ł ...

Obraz z kamery i obróbka w matlabie

: 26 sty 2011 19:31
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).

Re: Obraz z kamery i obróbka w matlabie

: 26 sty 2011 19:59
autor: Labqu
Zrobisz to za pomocą bloczku IMAQ Replace ColorPlane

Re: Obraz z kamery i obróbka w matlabie

: 26 sty 2011 21:16
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.

Re: Obraz z kamery i obróbka w matlabie

: 26 sty 2011 21:41
autor: oczekp
tak patrząć na szybkości to wydaje mi się, że pod rgb2 musisz podpiąć stałą rgb

Obraz z kamery i obróbka w matlabie

: 26 sty 2011 21:46
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.

Re: Obraz z kamery i obróbka w matlabie

: 26 sty 2011 22:25
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 ;)

Re: Obraz z kamery i obróbka w matlabie

: 21 lut 2011 22:06
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 !

Re: Obraz z kamery i obróbka w matlabie

: 21 lut 2011 23:09
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.