Ich habe ein 3D-Punktwolkenbild (siehe unten).Ausblenden von Punkten in einer Punktwolke
Und ich möchte alle Punkte, die theoretisch hinter anderen Punkten liegen (z. B. Punkte um den Rücken der Person werden nicht sichtbar sein, da es durch die Punkte um die Brust und Bauch behindert wird).
Wie gehe ich und löse dieses Problem?
Alles, was ich brauche, sind nur Punkte, die von vorne nicht blockiert sind, so dass ich sie für andere Zwecke benutzen kann.
Edit: Es ist nicht wirklich für Betrachtungszwecke. Ich versuche nur die unversperrten Scheitelpunkte zu isolieren, um später die Oberflächennormale zu berechnen, um Tiefenbildmerkmale zu extrahieren.
Warum brauchen Sie die Oberflächennormale, um die Tiefe zu extrahieren? – JAre
Die Tiefe wird nicht extrahiert, aber die Flächennormale wird als Merkmal für das Tiefenbild verwendet. Es ist eher eine Computer Vision Sache. Ich verwende einige OBJ-Modelle, um die von Kinect erhaltenen Punktwolkendaten vorübergehend zu emulieren. Und da es sich um einen Tiefensensor handelt, wird nur der vordere Teil des Objekts von Kinect –
übernommen. Sie können Gitternormalen als Fragmentfarbe (RGB) und Tiefe als Alpha zur Textur rendern und zufällige Punkte daraus suchen oder Maske mit den Konstanten 1 und 0 anwenden und multiple Shader-Ausgabe darauf, so dass Sie Textur mit Punkten statt fester Oberfläche erhalten. – JAre