Wyszykiwanie znaczników w przestrzeni.

Tematyka związana z tworzeniem aplikacji w LabVIEW do obsługi wizji oraz wszelkich operacji na obrazie.
lisu1991
Posty: 4
Rejestracja: 10 cze 2015 14:08
Wersja środowiska: LabVIEW 2011

Wyszykiwanie znaczników w przestrzeni.

Post autor: lisu1991 » 10 cze 2015 15:20

Witam,

mam problem z wyszukiwaniem określonych znaczników w przestrzeni przy pomocy kamery smart NI 1764, monochromatycznej. Aplikację zacząłem tworzyć poprzez Vision Asistant oraz funkcję "Pattern Matching". Z pobranego obrazu poprzez kamerę utworzyłem wzorzec (Template) oraz usunąłem niepotrzebne tło. Zakreśliłem obszar gdzie ma być wyszukiwany znacznik oraz generowałem program do LabView.
znacznik.PNG
Gdy pobieram obrazy do Vision Asistant to, ten znacznik jest wyszukiwany w innym położeniu (pod innym kątem itp.) w lepszym bądź gorszym stopniu, lecz po generacji do LAbView już nie.
znacznik2.PNG
Aplikacja nie wyszukuje znacznika nawet w tym samym położeniu kamery co był pobierany obraz do tworzenia wzorca ( te same wymiary co wzorzec oraz położenie). Ogólnie jest to również opisane (od strony 90) w:
https://books.google.pl/books?id=kl6FBQ ... nt&f=false
Czy byłby ktoś w stanie coś poradzić?
Przesyłam błędy, które wyrzuca mi program.
przypadek1.png
przypadek2.png

SNT
Posty: 46
Rejestracja: 18 lip 2013 13:23
Wersja środowiska: LabVIEW 2013

Re: Wyszykiwanie znaczników w przestrzeni.

Post autor: SNT » 11 cze 2015 07:24

wrzuć VI-ja

lisu1991
Posty: 4
Rejestracja: 10 cze 2015 14:08
Wersja środowiska: LabVIEW 2011

Re: Wyszykiwanie znaczników w przestrzeni.

Post autor: lisu1991 » 11 cze 2015 12:57

To jest vi wygenerowany z Vision Asistant do LabView.
pattern.vi
(63.32 KiB) Pobrany 136 razy

SNT
Posty: 46
Rejestracja: 18 lip 2013 13:23
Wersja środowiska: LabVIEW 2013

Re: Wyszykiwanie znaczników w przestrzeni.

Post autor: SNT » 12 cze 2015 09:26

Prawdopodobnie do bloczka IVA Match Pattern Algorithm nie dochodzi Image pattern. Wstaw sobie próbki i upewnij się, czy ścieżka do pliku jest prawidłowa i czy do wspomnianego bloczka rzeczywiście dociera obraz.

Jak nadal będziesz miał problemy to wrzuć jeszcze ten obraz (pattern).

lisu1991
Posty: 4
Rejestracja: 10 cze 2015 14:08
Wersja środowiska: LabVIEW 2011

Re: Wyszykiwanie znaczników w przestrzeni.

Post autor: lisu1991 » 16 cze 2015 14:43

Witam,
problem tkwi moim zdaniem w bloczku "IMAQ Read Image And Vision Info VI" lub "IMAQ". Sprawdzając za pomocą próbki do bloczku "IMAQ Read Image And Vision Info VI" dochodzi pattern, ale problem jest już z uzyskaniem czegokolwiek z "IMAQ".. Pierwszy błąd pojawia się zaraz za tym bloczkiem jak na zdjęciu poniżej:
błąd2.PNG
Error -1074395993 occurred at an unidentified location

Possible reason(s):

IMAQ Vision: File I/O error.

Wrzucam również wzorzec, który mam szukać.
Pattern:
tempgeo.png
tempgeo.png (210.28 KiB) Przejrzano 3905 razy
Zmieniłem trochę podejście, ponieważ dzięki "Geometric Matching" w samym Vision Assistant obiekt jest wyszukiwany, z różnych odległości, czy też pod innym kątem, lecz problem jest ten sam co przy zastosowaniu "Pattern MAtching".
Wrzucam dodatkowo VI.
geomet.vi
(68.03 KiB) Pobrany 116 razy

Zyga
Posty: 75
Rejestracja: 26 sty 2012 23:36
Wersja środowiska: LabVIEW 2011

Re: Wyszykiwanie znaczników w przestrzeni.

Post autor: Zyga » 17 cze 2015 22:54

Nie przepadam za Vision Assistantem (ten kod strasznie zawiły :-?) więc podrzucam uproszczone, pośrednie rozwiązanie. Musisz zamienić wczytywanie obrazu z pliku na odczyt z kamery. W razie problemów, służę pomocą.
Załączniki
MGP.vi
v2011
(47.97 KiB) Pobrany 124 razy
MGP.vi
v2013
(58.35 KiB) Pobrany 122 razy
Ostatnio zmieniony 18 cze 2015 00:55 przez Zyga, łącznie zmieniany 1 raz.

lisu1991
Posty: 4
Rejestracja: 10 cze 2015 14:08
Wersja środowiska: LabVIEW 2011

Re: Wyszykiwanie znaczników w przestrzeni.

Post autor: lisu1991 » 17 wrz 2015 13:05

Witam,

chciałbym odświeżyć wątek. Udało mi się zamienić odczytywanie z pliku na obrazy pobierane poprzez kamerę. Na podstawie tego chciałbym utworzyć aplikację, która uczyłaby się kilku wzorców, znajdywała je w obrazach pobieranych przez kamerę oraz pokazywała, który to jest wzorzec oraz jego dane. Na tym etapie program uczy się tylko jednego wzorca i jego szuka w przestrzeni. Czy mógłbym liczyć na pomoc jak nauczyć program wyszukiwania kilku wzorców, a nie tylko jednego?

Podsyłam mój vi.
pobieranie znaczników nowy.vi
(65.39 KiB) Pobrany 127 razy
Liczę na pomoc oraz pozdrawiam.

Zyga
Posty: 75
Rejestracja: 26 sty 2012 23:36
Wersja środowiska: LabVIEW 2011

Re: Wyszykiwanie znaczników w przestrzeni.

Post autor: Zyga » 18 wrz 2015 20:58

Sorki za lenistwo, załączam gotowe rozwiązanie (musisz przetestować, ew. dodać małe poprawki).
Załączniki
pobieranie znaczników nowy.vi
v2011
(60.46 KiB) Pobrany 130 razy

ODPOWIEDZ