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.
Problem z konwersją obrazu przy fuzji
- smiga
- Administrator
- Posty: 823
- Rejestracja: 04 paź 2009 12:41
- Wersja środowiska: LabVIEW 2019
- Lokalizacja: Słupsk
Re: Problem z konwersją obrazu przy fuzji
Podmień dolną część kodu jak poniżej i będzie działać:
Problem z konwersją obrazu przy fuzji
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).
- smiga
- Administrator
- Posty: 823
- Rejestracja: 04 paź 2009 12:41
- Wersja środowiska: LabVIEW 2019
- Lokalizacja: Słupsk
Re: Problem z konwersją obrazu przy fuzji
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.
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.
Problem z konwersją obrazu przy fuzji
Faktycznie, racja. Zrobiłem drugą wersją opartą na IMAQ ADD i wszystko działa bezproblemowo. Dziękuję za pomoc.