Przesyłanie obrazu przez Network Streams

Tematyka związana z tworzeniem aplikacji w LabVIEW do obsługi wizji oraz wszelkich operacji na obrazie.
Strzechu
Posty: 3
Rejestracja: 05 paź 2016 22:43
Wersja środowiska: LabVIEW 2014

Przesyłanie obrazu przez Network Streams

Post autor: Strzechu » 23 lis 2016 17:08

Witam,

Chciałbym zbierać obraz w skali szarości z kamerki podłączonej do myRIO i przesyłać go do Hosta (komputer stacjonarny) przez wifi (NetworkStreams). Zależy mi na jak najszybszym przesyłaniu. Przetestowałem już czas przesyłu obrazu jako tablicy pikseli lub kilku obrazów ( w paczce). Potem na Hoście zmieniam tablice na obraz i śmiga. Mam pytanie czy jest możliwym przesyłanie bezpośrednio referencji do obrazu, szczególnie jeśli chcę wysłać paczkę. Na razie, jeśli wysyłam jedną referencję na raz, obraz się przesyła, na hoście bufor nosi nazwę "remote image". Natomiast jeśli chce przesłać paczkę klatek, to odczytuje mi tylko pierwszą klatkę - bufor o tej samej nazwie. W internetach znalazłem że jest to możliwe ( przesyłanie referencji obrazu przez Network Streams), poniżej linki do tych informacji.

http://www.ni.com/white-paper/12267/en/ - drugi punkt "About Streams"
http://digital.ni.com/public.nsf/allkb/ ... 8E0004C1A0

pawhan11
Posty: 61
Rejestracja: 21 wrz 2011 16:25
Wersja środowiska: LabVIEW 2012

Przesyłanie obrazu przez Network Streams

Post autor: pawhan11 » 23 lis 2016 19:29

referencja wskazuje tylko do 1 miesca w pamieci, w tym przypadku 1 obraz wiec sie nie da. To ze do NS podajesz referencje jest tylko nakladka dzieki ktorej nie trzeba samemu orbic tej konwersji.
CLS - Certified LabVIEW Student

PiDi
Posty: 621
Rejestracja: 31 gru 2010 01:36
Wersja środowiska: LabVIEW 2017
Lokalizacja: Katowice
Has thanked: 3 times
Been thanked: 3 times

Re: Przesyłanie obrazu przez Network Streams

Post autor: PiDi » 23 lis 2016 21:54

Strzechu pisze: Mam pytanie czy jest możliwym przesyłanie bezpośrednio referencji do obrazu, szczególnie jeśli chcę wysłać paczkę.
Nie. Trzeba to zrobić tak, jak w przykładzie który zalinkowałeś - czyli wyciągnąć tablicę liczb i wysłać ją przez stream.
Natomiast jeśli chce przesłać paczkę klatek, to odczytuje mi tylko pierwszą klatkę - bufor o tej samej nazwie.
Prawdopodobnie źle obsługujesz tworzenie referencji obrazów w IMAQ. Pokaż swój kod.
ObrazekObrazekObrazekObrazek

Strzechu
Posty: 3
Rejestracja: 05 paź 2016 22:43
Wersja środowiska: LabVIEW 2014

Re: Przesyłanie obrazu przez Network Streams

Post autor: Strzechu » 24 lis 2016 15:42

Dzięki za odpowiedź ;)

W linkach jest napisane że można przesłać tylko referencję - ale pewnie tak jak mówicie, wtedy automatycznie konwertuje i przesyła tablicę pikseli :)
Wrzucam screeny z kodem do przesyłania paczki obrazów jako referencji :)
Załączniki
ImageInitViaNS.png
Inicjalizacja NS
ImageViaNS.png
Pobranie i wysłanie obrazu z RT do Hosta

ODPOWIEDZ