30.04.2012, 20:20
Hallo Zusammen,
ich habe eine kurze Frage bezüglich der Darstellungsweise in einem 3D-Plot.
Kurzer Überblick zur Thematik:
Mit einer Kamera wird mittels Lichtschnittverfahren die Geometrieausprägung eines Prüfkörpers ermittelt. Die Kamera schießt dabei alle 10mm über dem Objekt ein Bild, welches dann im Anschluss ausgewertet wird. Ich erhalte somit pro Bild ein 2D Array mit z (Höhenwerten) und den zugehörigen y Werten. Das einzelne Bild stellt dabei den xWert dar, der für alle z und y Werte eines Bildes gleich ist.
Nach der Messfahrt, die dann beispielsweise aus 70 Bildern besteht steht ein großes 3D Array mit den ermittelten Werten zur Verfügung. Die dritte Dimension, also der x-Wert ist dabei das jeweils aufgenommene Bild. Zwischen den Messwerten der einzelnen Bilder wird durch den bisher verwendeten Graph interpoliert.
In Bild 1 seht ihr mein bisheriges Ergebnis. Die Höhe und die Länge des Objektes stimmen, die Breite weicht ab. Die Werte im 3D Array bezüglich der Breite sind allerdings korrekt.
In Bild 2 beispielsweise ist ein Ausschnitt eines Arrays gezeigt. Es handelt sich hierbei um den Randbereich des Körpers, also um den Übergang von Höhe 0 mm zu Höhe 220 mm in Bild bzw. x-Wert 55. Dem y- Wert -39,3878 soll dabei ein Höhenwert z=0 zugeordnet werden und dem y-Wert -16,5645 ein Höhenwert z=221,433 (Bild 2 gelb markiert). Das Problem ist jetzt, dass Labview die zugehörigen y-Werte scheinbar ignoriert und so direkt nach dem 0 mm Wert auf y Position -39,3878 den z Wert 220 (im Graphen zu sehen) einträgt, obwohl hier der z Wert 61,7303 kommen sollte . Anders gesagt liefert mir der Graph zwischen y -39,3878 und -16 einen z Wert von 220, obwohl im Array eine ansteigende Rampe der z-Werte zu verzeichnen ist.
Lange Rede kurzer Sinn:
Wie oder mit welchem Graphen ist es möglich die Werte im gelieferten 3D Array so darzustellen wie sie sind. Also jedem z-Wert sein zugehöriger y-Wert, im jeweiligen Bildauswertezyklus.
Ich hoffe ihr versteht mein Problem.
Vielen Dank schonmal für eure Mühe und Hilfe und einen schönen 1.Mai.
Im Anhang noch das .vi in dem ich das 3D Array wie auf den Bildern vorbereitete habe.
Grüße
Christopher
ich habe eine kurze Frage bezüglich der Darstellungsweise in einem 3D-Plot.
Kurzer Überblick zur Thematik:
Mit einer Kamera wird mittels Lichtschnittverfahren die Geometrieausprägung eines Prüfkörpers ermittelt. Die Kamera schießt dabei alle 10mm über dem Objekt ein Bild, welches dann im Anschluss ausgewertet wird. Ich erhalte somit pro Bild ein 2D Array mit z (Höhenwerten) und den zugehörigen y Werten. Das einzelne Bild stellt dabei den xWert dar, der für alle z und y Werte eines Bildes gleich ist.
Nach der Messfahrt, die dann beispielsweise aus 70 Bildern besteht steht ein großes 3D Array mit den ermittelten Werten zur Verfügung. Die dritte Dimension, also der x-Wert ist dabei das jeweils aufgenommene Bild. Zwischen den Messwerten der einzelnen Bilder wird durch den bisher verwendeten Graph interpoliert.
In Bild 1 seht ihr mein bisheriges Ergebnis. Die Höhe und die Länge des Objektes stimmen, die Breite weicht ab. Die Werte im 3D Array bezüglich der Breite sind allerdings korrekt.
In Bild 2 beispielsweise ist ein Ausschnitt eines Arrays gezeigt. Es handelt sich hierbei um den Randbereich des Körpers, also um den Übergang von Höhe 0 mm zu Höhe 220 mm in Bild bzw. x-Wert 55. Dem y- Wert -39,3878 soll dabei ein Höhenwert z=0 zugeordnet werden und dem y-Wert -16,5645 ein Höhenwert z=221,433 (Bild 2 gelb markiert). Das Problem ist jetzt, dass Labview die zugehörigen y-Werte scheinbar ignoriert und so direkt nach dem 0 mm Wert auf y Position -39,3878 den z Wert 220 (im Graphen zu sehen) einträgt, obwohl hier der z Wert 61,7303 kommen sollte . Anders gesagt liefert mir der Graph zwischen y -39,3878 und -16 einen z Wert von 220, obwohl im Array eine ansteigende Rampe der z-Werte zu verzeichnen ist.
Lange Rede kurzer Sinn:
Wie oder mit welchem Graphen ist es möglich die Werte im gelieferten 3D Array so darzustellen wie sie sind. Also jedem z-Wert sein zugehöriger y-Wert, im jeweiligen Bildauswertezyklus.
Ich hoffe ihr versteht mein Problem.
Vielen Dank schonmal für eure Mühe und Hilfe und einen schönen 1.Mai.
Im Anhang noch das .vi in dem ich das 3D Array wie auf den Bildern vorbereitete habe.
Grüße
Christopher