Strona 1 z 1

Obszar z obrazu kamery.

: 27 gru 2015 23:14
autor: monkej
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ć.

Re: Obszar z obrazu kamery.

: 29 gru 2015 14:59
autor: PiDi
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.

: 06 sty 2016 13:13
autor: monkej
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.

Re: Obszar z obrazu kamery.

: 12 sty 2016 13:51
autor: smiga
Błąd generuje bloczek IMAQ ROItoMASK.
Sprawdź takie rozwiązanie:

Re: Obszar z obrazu kamery.

: 14 sty 2016 01:29
autor: monkej
Co to za bloczek. Podobny do IMAQ Shift ale to nie to. Nie mogę go znaleźć. Używam LabVIEW 2013.

Re: Obszar z obrazu kamery.

: 15 sty 2016 23:22
autor: smiga
IMAQ mask

Re: Obszar z obrazu kamery.

: 16 sty 2016 20:58
autor: monkej
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.

Re: Obszar z obrazu kamery.

: 17 sty 2016 15:21
autor: smiga
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.

Re: Obszar z obrazu kamery.

: 17 sty 2016 20:13
autor: monkej
Jeszcze raz dziękuje za wytłumaczenie i pomoc.
Temat zamykam.