Obszar z obrazu kamery.

Tematyka związana z tworzeniem aplikacji w LabVIEW do obsługi wizji oraz wszelkich operacji na obrazie.
monkej
Posty: 13
Rejestracja: 16 lis 2015 21:02
Wersja środowiska: LabVIEW 2013

Obszar z obrazu kamery.

Post autor: monkej » 27 gru 2015 23:14

Korzystając z przykładów które są w dziale Example Grab camera i Histogram próbowałem zrobić program który z przechwytywanego obrazu przez kamerę wycinał by pewien obszar. To co zrobiłem w załączniku. Error list nie zgłasza błędów. Po włączeniu programu pokazuje się komunikat: IMAQ Vision Invalid image type. Patrząc po Block diagram to wszystko powinno być dobrze. Typy sygnałów powinny się zgadzać. Ma ktoś pomysł jak to rozwiązać.
Załączniki
cam ROIToMASK.png

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

Re: Obszar z obrazu kamery.

Post autor: PiDi » 29 gru 2015 14:59

Bloczek IMAQ Create ma na dole wejście Image Type. Pewnie tu masz ustawiony inny typ niż twoja kamera daje.
ObrazekObrazekObrazekObrazek

monkej
Posty: 13
Rejestracja: 16 lis 2015 21:02
Wersja środowiska: LabVIEW 2013

Re: Obszar z obrazu kamery.

Post autor: monkej » 06 sty 2016 13:13

Kamera obsługuje tylko RGB(U32) i taki jest ustawiony. Może bloczek IMAQ ROIToMask nie obsługuje tego typu. W pomocy jest napisane że obsługuje wszystkie typy co NI Vision.

Awatar użytkownika
smiga
Posty: 693
Rejestracja: 04 paź 2009 12:41
Wersja środowiska: LabVIEW 2016
Lokalizacja: Słupsk
Has thanked: 3 times
Been thanked: 1 time
Kontakt:

Re: Obszar z obrazu kamery.

Post autor: smiga » 12 sty 2016 13:51

Błąd generuje bloczek IMAQ ROItoMASK.
Sprawdź takie rozwiązanie:
Załączniki
mask.png
__ Arkadiusz Śmigielski, tel. 662 01 01 74___
ObrazekObrazekObrazek

monkej
Posty: 13
Rejestracja: 16 lis 2015 21:02
Wersja środowiska: LabVIEW 2013

Re: Obszar z obrazu kamery.

Post autor: monkej » 14 sty 2016 01:29

Co to za bloczek. Podobny do IMAQ Shift ale to nie to. Nie mogę go znaleźć. Używam LabVIEW 2013.
Załączniki
bez tytułu.PNG
bez tytułu.PNG (7.86 KiB) Przejrzano 3893 razy

Awatar użytkownika
smiga
Posty: 693
Rejestracja: 04 paź 2009 12:41
Wersja środowiska: LabVIEW 2016
Lokalizacja: Słupsk
Has thanked: 3 times
Been thanked: 1 time
Kontakt:

Re: Obszar z obrazu kamery.

Post autor: smiga » 15 sty 2016 23:22

IMAQ mask
Załączniki
maska.vi
v2013
(36.69 KiB) Pobrany 109 razy
__ Arkadiusz Śmigielski, tel. 662 01 01 74___
ObrazekObrazekObrazek

monkej
Posty: 13
Rejestracja: 16 lis 2015 21:02
Wersja środowiska: LabVIEW 2013

Re: Obszar z obrazu kamery.

Post autor: monkej » 16 sty 2016 20:58

Działa. Dzięki.
Usunąłem IMAQ SetOffset ponieważ przesuwanie wycinanego obszaru obrazu nie jest mi potrzebne.
Rozumiem, że w mojej propozycji z początku wpisu były następujące błędy:
1. Jeśli chce aby wycinany obszar obrazu był ustalany tylko podczas włączania programu IMAQ ROIToMask powinien być poza pętlą.
2. IMAQ ROIToMask tworzy obszar a IMAQ Mask tworzy obraz i jeśli go nie było nowy obraz nie powstawał co powodowało błąd.
3. Jeśli chce utworzyć drugi obraz potrzebny jest drugi IMAQ Create.

Awatar użytkownika
smiga
Posty: 693
Rejestracja: 04 paź 2009 12:41
Wersja środowiska: LabVIEW 2016
Lokalizacja: Słupsk
Has thanked: 3 times
Been thanked: 1 time
Kontakt:

Re: Obszar z obrazu kamery.

Post autor: smiga » 17 sty 2016 15:21

1. Jeśli chce aby wycinany obszar obrazu był ustalany tylko podczas włączania programu IMAQ ROIToMask powinien być poza pętlą.
- dokładnie, szkoda czasu w pętli (robimy to samo w każdej iteracji)
2. IMAQ ROIToMask tworzy obszar a IMAQ Mask tworzy obraz i jeśli go nie było nowy obraz nie powstawał co powodowało błąd.
- mniej więcej :) ... IMAQ ROItoMASK tworzy tylko maskę, którą nakładamy na obraz w IMAQ MASK. W twoim przypadku stworzyłeś maskę podając na wejście bloczka referencję do obrazu, co spowodowało komunikat o innym typie obrazu (maska jest typu U8 a obraz dla kamery kolorowej RGB U32)
3. Jeśli chce utworzyć drugi obraz potrzebny jest drugi IMAQ Create.
- dokładnie. Oczywiście można wykorzystać jedną referencję obrazu (obszar zaalokowanej pamięci dla obrazu) - wtedy drugi nadpisze pierwszy. To zadziała jeżeli typy obrazu są identyczne.
Ostatnio zmieniony 18 sty 2016 01:05 przez smiga, łącznie zmieniany 1 raz.
__ Arkadiusz Śmigielski, tel. 662 01 01 74___
ObrazekObrazekObrazek

monkej
Posty: 13
Rejestracja: 16 lis 2015 21:02
Wersja środowiska: LabVIEW 2013

Re: Obszar z obrazu kamery.

Post autor: monkej » 17 sty 2016 20:13

Jeszcze raz dziękuje za wytłumaczenie i pomoc.
Temat zamykam.

ODPOWIEDZ