Obraz z kamery i obróbka w matlabie
Obraz z kamery i obróbka w matlabie
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
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
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
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
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
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.taba24 pisze:Przekształcenia docelowo mają być na tyle skomplikowane, że konieczne będzie użycie Matlaba
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.
Obraz z kamery i obróbka w matlabie
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
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.
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.
Obraz z kamery i obróbka w matlabie
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
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).
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
Zrobisz to za pomocą bloczku IMAQ Replace ColorPlane
You don't need a reason to help people.
Re: Obraz z kamery i obróbka w matlabie
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.
Possible reason(s):
IMAQ Vision: (Hex 0xBFF60450) Invalid image type.
Re: Obraz z kamery i obróbka w matlabie
tak patrząć na szybkości to wydaje mi się, że pod rgb2 musisz podpiąć stałą rgb
- Załączniki
-
- 1.jpg (23.2 KiB) Przejrzano 22191 razy
Obraz z kamery i obróbka w matlabie
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
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.
Re: Obraz z kamery i obróbka w matlabie
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 !
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 !
Ostatnio zmieniony 22 lut 2011 16:38 przez taba24, łącznie zmieniany 1 raz.
Re: Obraz z kamery i obróbka w matlabie
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.