Kantenerkennung in einer Punktwolke
Verfasst: Samstag 23. März 2019, 15:43
Guten Tag,
mir stellt sich folgendes Programmierungsproblem:
Ich habe nach einer Höhenmessung eines Bauteils eine Punktwolke aus x-Millionen 3D-Punkten vorliegen. Nun möchte ich die Kante des Bauteils erkennen, um dieser Kante den Y-Wert 0 zuzuweisen, da dieser Y-Position des Bauteils zwischen verschiedenen Messungen variiert.
Ich suche also den kleinsten Y-Wert für den alle Punkte der Punktwolke einen Z-Wert > x haben (x bspw. 0.5 bei einer Sollbauteilhöhe von 1).
Zur Konkretisierung des Problems folgendes abstrahiertes Beispiel:
Beispiel = []
x = 0.5
Beispiel.append([1,1,1])
for i in range(4):
Beispiel.append([i,0,0])
Beispiel.append([i,1,0])
Beispiel.append([i,2,1])
Beispiel.append([i,3,2])
Hier wäre der gesuchte Y-Wert 2, da für alle Y = 2 gilt: Z>x
Vielen Dank im Voraus und die Bitte um Nachsicht bezüglich meiner noch beschiedenen Programmierkenntnisse!
Soni
mir stellt sich folgendes Programmierungsproblem:
Ich habe nach einer Höhenmessung eines Bauteils eine Punktwolke aus x-Millionen 3D-Punkten vorliegen. Nun möchte ich die Kante des Bauteils erkennen, um dieser Kante den Y-Wert 0 zuzuweisen, da dieser Y-Position des Bauteils zwischen verschiedenen Messungen variiert.
Ich suche also den kleinsten Y-Wert für den alle Punkte der Punktwolke einen Z-Wert > x haben (x bspw. 0.5 bei einer Sollbauteilhöhe von 1).
Zur Konkretisierung des Problems folgendes abstrahiertes Beispiel:
Beispiel = []
x = 0.5
Beispiel.append([1,1,1])
for i in range(4):
Beispiel.append([i,0,0])
Beispiel.append([i,1,0])
Beispiel.append([i,2,1])
Beispiel.append([i,3,2])
Hier wäre der gesuchte Y-Wert 2, da für alle Y = 2 gilt: Z>x
Vielen Dank im Voraus und die Bitte um Nachsicht bezüglich meiner noch beschiedenen Programmierkenntnisse!
Soni