przerobienie Array of cluster do Array of points

Jeśli masz coś do powiedzenia w sprawie LabVIEW napisz. Tutaj są tematy, których nie można uściślić do innych działów.
marlubin
Posty: 9
Rejestracja: 27 lip 2011 20:52
Wersja środowiska: LabVIEW 2009

przerobienie Array of cluster do Array of points

Post autor: marlubin »

Witam,
Mam następujący problem:
Z bloczka IMAQ GetPointsOnContour VI otrzymuję dane typu array of cluster z informacjami o wyszukanych krawędziach obiektów, danych tych jest sporo ale mnie interesują tylko współrzędne x , y opisujące krawędzie obiektów.

Poniżej pętle które zrobiłem do wyłuskania danych które potrzebuję, ale to jeszcze nie to.
petle
petle
2.jpg (16.64 KiB) Przejrzano 10675 razy
Poniżej zdjecie z typami danych jakie otrzymuję z IMAQ GetPointsOnContour VI oraz jakie są mi potrzebne.
typy danych
typy danych
3.jpg (20.46 KiB) Przejrzano 10675 razy
Zmierzając do sedna:
Niezbędny jest mi typ danych typu array of points zawierający wszystkie współrzędne punktów z wszystkich wyszukanych obiektów ale tak aby były ustawione jedne za drugimi w jednej strukturze array.

Prosiłbym kolegów o wsparcie, nie powinien być to trudny temat ale coś mnie zaćmiło i nie mogę danych x,y ustawić w niezbędnej kolejności.
Awatar użytkownika
Pitol
Moderator
Posty: 987
Rejestracja: 19 lip 2007 00:00
Wersja środowiska: LabVIEW 2019
Lokalizacja: Kraków

przerobienie Array of cluster do Array of points

Post autor: Pitol »

Coś nie do końca Cie zrozumiałem.
Chcesz tablicę 1D:
x,y,x,y,x,y,x,y,x,y,...
Czy tablicę 2D:
x,y
x,y
x,y
x,y
???
ObrazekObrazekObrazek
Chcesz taki podpis? Zajrzyj tutaj
marlubin
Posty: 9
Rejestracja: 27 lip 2011 20:52
Wersja środowiska: LabVIEW 2009

Re: przerobienie Array of cluster do Array of points

Post autor: marlubin »

potrzebuje tablice 2d zawierającą punkty z wszystkich znalezionych obiektów.
SNT
Posty: 56
Rejestracja: 18 lip 2013 13:23
Wersja środowiska: LabVIEW 2013

przerobienie Array of cluster do Array of points

Post autor: SNT »

Wyrzuć wewnętrznego FOR'a, po Unbundle by name użyj index array i wyciągnij indeks 0 (tablica Contour Points jest prawdopodobnie jednoelementowa), użyj ponownie Unbundle by name (wybierz x i y) i podepnij je do build array. Wyciągnij to z FOR'a i masz tablicę 2D. Możesz ewentualnie transponować tablicę używając transpose 2D array.
Jeżeli to jest niezrozumiałe to jutro bede mial dostep do IMAQ'a to Ci to wysle screen'a.
Pozdrawiam
marlubin
Posty: 9
Rejestracja: 27 lip 2011 20:52
Wersja środowiska: LabVIEW 2009

Re: przerobienie Array of cluster do Array of points

Post autor: marlubin »

SNT pisze:Wyrzuć wewnętrznego FOR'a, po Unbundle by name użyj index array i wyciągnij indeks 0 (tablica Contour Points jest prawdopodobnie jednoelementowa), użyj ponownie Unbundle by name (wybierz x i y) i podepnij je do build array. Wyciągnij to z FOR'a i masz tablicę 2D. Możesz ewentualnie transponować tablicę używając transpose 2D array.
Jeżeli to jest niezrozumiałe to jutro bede mial dostep do IMAQ'a to Ci to wysle screen'a.
Pozdrawiam
Dziękuje SNT za poradę, zgodnie z info zbudowałem następujący schemat:
schemat
schemat
schemat.jpg (9.89 KiB) Przejrzano 10580 razy
z którego otrzymałem nastepujace typ danych:
dane
dane
otrzymane dane.jpg (2.13 KiB) Przejrzano 10580 razy
Nie jest to do końca to co potrzebuję, niezbędny jest mi format Array of points taki jak w pierwszym moim poscie, do wyświetlenia tych punktów na obrazie z wykorzystaniem bloku IMAQ Overlay Points VI.

Po wprowadzeniu bloku Bundle Function format danych jest juz odpowiedni do wyswietlenia ich za pomocą IMAQ Overlay Points VI:
array of points
array of points
array of points.jpg (3.22 KiB) Przejrzano 10576 razy
Tylko jeszcze inny problem się pojawił, w tej tablicy nie ma wszystkich punktów.
Pętla wykonuje się tyle razu ile zostało wykrytych obiektów, a każdy obiekt ma jeszcze n-ilość punktów. otrzymuje wiec tylko pierwszą część punktów z pierwszego obiektu, cała reszta jest pomijana.
Jakiś pomysł jak je wpisać?
SNT
Posty: 56
Rejestracja: 18 lip 2013 13:23
Wersja środowiska: LabVIEW 2013

Re: przerobienie Array of cluster do Array of points

Post autor: SNT »

Po wyjściu z for'a, gdy masz tablicę 2D dodaj to:
Załączniki
array of points.png
array of points.png (25.81 KiB) Przejrzano 10535 razy
marlubin
Posty: 9
Rejestracja: 27 lip 2011 20:52
Wersja środowiska: LabVIEW 2009

Re: przerobienie Array of cluster do Array of points

Post autor: marlubin »

SNT pisze:Po wyjściu z for'a, gdy masz tablicę 2D dodaj to:
Ok dzięki, a co to jest za bloczek który wchodzi do bundle u góry ?
SNT
Posty: 56
Rejestracja: 18 lip 2013 13:23
Wersja środowiska: LabVIEW 2013

przerobienie Array of cluster do Array of points

Post autor: SNT »

Klaster z dwoma liczbami typu DBL.
Jamal79
Posty: 289
Rejestracja: 01 maja 2012 14:14
Wersja środowiska: LabVIEW 2012
Lokalizacja: Farum

przerobienie Array of cluster do Array of points

Post autor: Jamal79 »

Masz LV11.
1. Zapisz jego obrazek na dysk
2. Drag and dropnij go na Control panela.
3. Gotowe
ODPOWIEDZ