Obszar z obrazu kamery.
Obszar z obrazu kamery.
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ć.
-
- Posty: 641
- Rejestracja: 31 gru 2010 01:36
- Wersja środowiska: LabVIEW 2017
- Lokalizacja: Katowice
Re: Obszar z obrazu kamery.
Bloczek IMAQ Create ma na dole wejście Image Type. Pewnie tu masz ustawiony inny typ niż twoja kamera daje.
Re: Obszar z obrazu kamery.
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.
- smiga
- Administrator
- Posty: 823
- Rejestracja: 04 paź 2009 12:41
- Wersja środowiska: LabVIEW 2019
- Lokalizacja: Słupsk
Re: Obszar z obrazu kamery.
Błąd generuje bloczek IMAQ ROItoMASK.
Sprawdź takie rozwiązanie:
Sprawdź takie rozwiązanie:
Re: Obszar z obrazu kamery.
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 (7.86 KiB) Przejrzano 13597 razy
- smiga
- Administrator
- Posty: 823
- Rejestracja: 04 paź 2009 12:41
- Wersja środowiska: LabVIEW 2019
- Lokalizacja: Słupsk
Re: Obszar z obrazu kamery.
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.
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.
- smiga
- Administrator
- Posty: 823
- Rejestracja: 04 paź 2009 12:41
- Wersja środowiska: LabVIEW 2019
- Lokalizacja: Słupsk
Re: Obszar z obrazu kamery.
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.
- 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

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.
Re: Obszar z obrazu kamery.
Jeszcze raz dziękuje za wytłumaczenie i pomoc.
Temat zamykam.
Temat zamykam.