Strona 1 z 1

przerobienie Array of cluster do Array of points

: 25 lis 2013 11:08
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 10829 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 10829 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.

przerobienie Array of cluster do Array of points

: 25 lis 2013 13:14
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
???

Re: przerobienie Array of cluster do Array of points

: 25 lis 2013 21:59
autor: marlubin
potrzebuje tablice 2d zawierającą punkty z wszystkich znalezionych obiektów.

przerobienie Array of cluster do Array of points

: 25 lis 2013 23:37
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

Re: przerobienie Array of cluster do Array of points

: 01 gru 2013 12:06
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 10734 razy
z którego otrzymałem nastepujace typ danych:
dane
dane
otrzymane dane.jpg (2.13 KiB) Przejrzano 10734 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 10730 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ć?

Re: przerobienie Array of cluster do Array of points

: 02 gru 2013 08:51
autor: SNT
Po wyjściu z for'a, gdy masz tablicę 2D dodaj to:

Re: przerobienie Array of cluster do Array of points

: 02 gru 2013 19:28
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 ?

przerobienie Array of cluster do Array of points

: 02 gru 2013 22:37
autor: SNT
Klaster z dwoma liczbami typu DBL.

przerobienie Array of cluster do Array of points

: 03 gru 2013 08:32
autor: Jamal79
Masz LV11.
1. Zapisz jego obrazek na dysk
2. Drag and dropnij go na Control panela.
3. Gotowe