Problem z konwersją obrazu przy fuzji

Tematyka związana z tworzeniem aplikacji w LabVIEW do obsługi wizji oraz wszelkich operacji na obrazie.
bikekowal
Posty: 21
Rejestracja: 05 lis 2010 10:07
Wersja środowiska: LabVIEW 2011

Problem z konwersją obrazu przy fuzji

Post autor: bikekowal »

Witam,

Próbuję zaimplementować program dokonujący nałożenia (fuzji) dwóch obrazów - obrazu z kamery wizyjnej oraz obrazu z kamery thz. Proste nałożenie obrazów działa poprawnie, więc chciałem pójść dalej i nałożyć na obraz wizyjny obraz z kamery THz po binaryzacji. Niestety w tym miejscu zaczęły się schody. Otóż po binaryzacji dokonałem przemnożenia obrazu przez 255 aby wartości pikseli zarówno w wizyjnym jak i thz zgadzały się. Do tego momentu wszystko wydaje się poprawne. Następnie użyłem IMAQ imagetoarray żeby móc nałożyć obraz binarny na wizyjny - operację nałożenia robię w postaci macierzy. Niestety w tym miejscu coś nie gra, ponieważ efektem nałożenia obu obrazów jest czarny obraz, co więcej sama konwersja obrazu w funkcji IMAQ imagetoarray zwraca same zera - wygląda na to, że w tym miejscu jest problem. Co może być powodem? Będę wdzięczny za podpowiedzi.

Snippet kodu w załączniku.
Załączniki
fusion.png
Awatar użytkownika
smiga
Administrator
Posty: 823
Rejestracja: 04 paź 2009 12:41
Wersja środowiska: LabVIEW 2019
Lokalizacja: Słupsk

Re: Problem z konwersją obrazu przy fuzji

Post autor: smiga »

Podmień dolną część kodu jak poniżej i będzie działać:
Załączniki
lab_vis.png
__ Arkadiusz Śmigielski, tel. 662 01 01 74___
ObrazekObrazekObrazek
Pomogłem ... postaw kawę: https://buycoffee.to/smiga
bikekowal
Posty: 21
Rejestracja: 05 lis 2010 10:07
Wersja środowiska: LabVIEW 2011

Problem z konwersją obrazu przy fuzji

Post autor: bikekowal »

Wygląda na to, że to działa, chociaż szczerze mówiąc muszę przyjrzeć się temu dokładnie, bo nie do końca rozumiem jak to działa i gdzie był mój problem (wolałbym na przyszłość unikać drugi raz tego samego problemu).
Awatar użytkownika
smiga
Administrator
Posty: 823
Rejestracja: 04 paź 2009 12:41
Wersja środowiska: LabVIEW 2019
Lokalizacja: Słupsk

Re: Problem z konwersją obrazu przy fuzji

Post autor: smiga »

Zastosowałeś funkcję Index Array, która zwraca Ci jeden wiersz, czyli jedną linię obrazu. Ja zastosowałem Reshape Array, czyli zamieniłem tablicę 2D na 1D, w której kolejne linie obrazu układane są jedna za drugą ... bo tak dane przyjmuje funkcja Draw Flattened Pixmap.
Przy okazji, nie wiem czy nie łatwiej było by korzystać z funkcji dodawania obrazów itd. z palety IMAQ - robisz to tylko przy konwersji na obraz binarny, a pozostała część kodu korzysta z funkcji z palety Picture Functions.
__ Arkadiusz Śmigielski, tel. 662 01 01 74___
ObrazekObrazekObrazek
Pomogłem ... postaw kawę: https://buycoffee.to/smiga
bikekowal
Posty: 21
Rejestracja: 05 lis 2010 10:07
Wersja środowiska: LabVIEW 2011

Problem z konwersją obrazu przy fuzji

Post autor: bikekowal »

Faktycznie, racja. Zrobiłem drugą wersją opartą na IMAQ ADD i wszystko działa bezproblemowo. Dziękuję za pomoc.
ODPOWIEDZ