aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThéo de la Hogue2023-04-25 10:20:27 +0200
committerThéo de la Hogue2023-04-25 10:20:27 +0200
commit8d909530da7cb808051253a1ba068f1e1ecfca49 (patch)
tree602e701d7ec209ae00e8bc59ca178bf1c42d56f6
parent13d597dd3ce8366b11537901223fa9f16963ae87 (diff)
downloadargaze-8d909530da7cb808051253a1ba068f1e1ecfca49.zip
argaze-8d909530da7cb808051253a1ba068f1e1ecfca49.tar.gz
argaze-8d909530da7cb808051253a1ba068f1e1ecfca49.tar.bz2
argaze-8d909530da7cb808051253a1ba068f1e1ecfca49.tar.xz
Returning which pose estimatation strategy have been used.
-rw-r--r--src/argaze/ArFeatures.py9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/argaze/ArFeatures.py b/src/argaze/ArFeatures.py
index e645ec7..7bbe1dc 100644
--- a/src/argaze/ArFeatures.py
+++ b/src/argaze/ArFeatures.py
@@ -204,6 +204,7 @@ class ArScene():
* **Returns:**
- scene translation vector
- scene rotation matrix
+ - pose estimation strategy
- dict of markers used to estimate the pose
"""
@@ -224,8 +225,8 @@ class ArScene():
marker_id, marker = scene_markers.popitem()
tvec, rmat = self.aruco_scene.estimate_pose_from_single_marker(marker)
-
- return tvec, rmat, {marker_id: marker}
+
+ return tvec, rmat, 'estimate_pose_from_single_marker', {marker_id: marker}
# Try to estimate scene pose from 3 markers defining an orthogonal axis
elif len(scene_markers) >= 3 and len(self.aruco_axis) > 0:
@@ -240,7 +241,7 @@ class ArScene():
tvec, rmat = self.aruco_scene.estimate_pose_from_axis_markers(origin_marker, horizontal_axis_marker, vertical_axis_marker)
- return tvec, rmat, {origin_marker.identifier: origin_marker, horizontal_axis_marker.identifier: horizontal_axis_marker, vertical_axis_marker.identifier: vertical_axis_marker}
+ return tvec, rmat, 'estimate_pose_from_axis_markers', {origin_marker.identifier: origin_marker, horizontal_axis_marker.identifier: horizontal_axis_marker, vertical_axis_marker.identifier: vertical_axis_marker}
except:
pass
@@ -258,7 +259,7 @@ class ArScene():
# Otherwise, estimate scene pose from all consistent markers pose
tvec, rmat = self.aruco_scene.estimate_pose_from_markers(consistent_markers)
- return tvec, rmat, consistent_markers
+ return tvec, rmat, strategy, 'estimate_pose_from_markers', consistent_markers
def project(self, tvec: numpy.array, rvec: numpy.array, visual_hfov=0) -> AOI2DSceneType:
"""Project AOI scene according estimated pose and optional horizontal field of view clipping angle.