Typischerweise wird eine Punktwolke Rekonstruktion erfolgt durch das Objekt in verschiedenen Winkeln erfassen und Ausrichten von ihnen zusammen zu. In der Punktwolke heißt dieser Prozess Registrierung. Damit gibt es keine statische Position für den Kinect-Sensor, da in jedem Frame die Sensorposition im globalen Koordinatenraum nicht statisch ist.
Damit nehme ich an, dass Sie nicht nach einer Punktwolke fragen, die durch einen Rekonstruktionsprozess gegangen ist, also eine Punktwolke, die aus einer statischen Sensorposition generiert wurde. Wenn diese Punktwolke keine Transformationen (Rotation, Übergang) durchlaufen hat und mit rohen Tiefendaten generiert wurde, wird die Punktwolke immer im Kamerakoordinatenraum erzeugt, wobei der Ursprung die Position des Kinect-Sensors ist.
In Ihrer Frage heißt es, Sensorposition ist nicht [0,0,0], das heißt, nach der Aufnahme des Tiefenbildes wurde es in einen neuen Koordinatenraum transformiert (ich nehme an, der Ursprung des neuen Koordinatenraums ist der Mittelpunkt der gegebenen Punktwolke). Ohne diese Transformationsmatrix zu kennen, können Sie die ursprüngliche Kameraposition (relativ zur neuen Koordinate) nicht ermitteln.
Am häufigsten, wenn Sie "Position des Sensors" sagen, müssen Sie den Koordinatenraum angeben, auf den Sie sich beziehen. Position ist immer relativ zum spezifischen Koordinatenraum.
Sie können die Position der Kamera finden als @Atif Anwer sagte aber unter einer Bedingung, entweder eines der beiden Punktwolken ist Raum nicht Trog eine Transformation gegangen, so ist es in ursprünglichen Koordinaten. Dann können Sie die Transformation der zweiten Punktwolke relativ zur ersten Punktwolke finden und diese Transformationsmatrix auf [0,0,0] anwenden, um die Kameraposition der zweiten Punktwolke relativ zum anfänglichen Tiefenkamerakoordinatenraum zu finden.
Wenn Sie nach einem automatisierten Prozess suchen, dann glaube ich nicht, dass das möglich (oder zumindest leicht machbar) ist. Wenn Sie jedoch zwei Punktwolken (anstelle des 2D-Tiefenbildes) haben, können Sie versuchen, sie mithilfe von punktbasiertem Kleben (in meshlab) auszurichten. Bei korrekter Ausrichtung würde die Rotationsmatrix Ihnen den Ursprung der Sensorposition in der Tiefenkartenpunktwolke geben. –
Danke für Ihre Antwort. Ich wollte herausfinden, ob es einen automatisierten Weg gibt. – diskhkme