aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThéo de la Hogue2022-11-09 18:20:32 +0100
committerThéo de la Hogue2022-11-09 18:20:32 +0100
commitece170c235503ff867f6d3d1e6fe2aded8f938fc (patch)
tree883d727363fe65c12044d2f0ef278cfdb1280df1
parent1359d33ba742a8a297f0304d310bc5c948d45320 (diff)
downloadargaze-ece170c235503ff867f6d3d1e6fe2aded8f938fc.zip
argaze-ece170c235503ff867f6d3d1e6fe2aded8f938fc.tar.gz
argaze-ece170c235503ff867f6d3d1e6fe2aded8f938fc.tar.bz2
argaze-ece170c235503ff867f6d3d1e6fe2aded8f938fc.tar.xz
Fixing tobii_segment_aruco_aoi_edit.py utils script.
-rw-r--r--src/argaze/ArUcoMarkers/ArUcoMarker.py2
-rw-r--r--src/argaze/utils/tobii_segment_aruco_aoi_edit.py22
2 files changed, 12 insertions, 12 deletions
diff --git a/src/argaze/ArUcoMarkers/ArUcoMarker.py b/src/argaze/ArUcoMarkers/ArUcoMarker.py
index 9d4a53e..ef03ffd 100644
--- a/src/argaze/ArUcoMarkers/ArUcoMarker.py
+++ b/src/argaze/ArUcoMarkers/ArUcoMarker.py
@@ -34,7 +34,7 @@ class ArUcoMarker():
"""Estimated 3D corners positions in camera world referential."""
@property
- def center(self, i) -> numpy.array:
+ def center(self) -> numpy.array:
"""Get 2D center position in camera image referential."""
return self.corners[0].mean(axis=0)
diff --git a/src/argaze/utils/tobii_segment_aruco_aoi_edit.py b/src/argaze/utils/tobii_segment_aruco_aoi_edit.py
index 57ac756..2fc1e2b 100644
--- a/src/argaze/utils/tobii_segment_aruco_aoi_edit.py
+++ b/src/argaze/utils/tobii_segment_aruco_aoi_edit.py
@@ -173,7 +173,7 @@ def main():
right_click = pointer
- cv.setMouseCallback(f'Segment {tobii_segment.get_id()} ArUco marker editor', on_mouse_event)
+ cv.setMouseCallback(f'Segment {tobii_segment.id} ArUco marker editor', on_mouse_event)
# Frame selector loop
frame_index = 0
@@ -214,18 +214,18 @@ def main():
visu_frame = video_frame.copy()
# Draw markers and pose estimation
- aruco_tracker.draw(visu_frame.matrix)
+ aruco_tracker.draw_tracked_markers(visu_frame.matrix)
# Project 3D scene on each video frame and the visualisation frame
- if aruco_tracker.markers_number():
+ if len(aruco_tracker.tracked_markers.keys()) > 0:
# Write detected marker ids
- cv.putText(visu_frame.matrix, f'Detected markers: {aruco_tracker.get_markers_ids()}', (20, visu_frame.height - 40), cv.FONT_HERSHEY_SIMPLEX, 1, (255, 255, 255), 1, cv.LINE_AA)
+ cv.putText(visu_frame.matrix, f'Detected markers: {list(aruco_tracker.tracked_markers.keys())}', (20, visu_frame.height - 40), cv.FONT_HERSHEY_SIMPLEX, 1, (255, 255, 255), 1, cv.LINE_AA)
# Update selected marker id by left_clicking on marker
- for (i, marker_id) in enumerate(aruco_tracker.get_markers_ids()):
+ for (marker_id, marker) in aruco_tracker.tracked_markers.items():
- marker_aoi = numpy.array(aruco_tracker.get_marker_corners(i)).view(AOIFeatures.AreaOfInterest)
+ marker_aoi = marker.corners.reshape(4, 2).view(AOIFeatures.AreaOfInterest)
if marker_aoi.looked(left_click):
@@ -238,7 +238,7 @@ def main():
try:
# Retreive marker index
- selected_marker_index = aruco_tracker.get_marker_index(selected_marker_id)
+ selected_marker = aruco_tracker.tracked_markers[selected_marker_id]
if aoi3D_scene == None:
raise UserWarning('No AOI 3D scene')
@@ -249,7 +249,7 @@ def main():
# Edit scene
if aoi3D_scene_edit != None:
- marker_x, marker_y = aruco_tracker.get_marker_center(selected_marker_index)
+ marker_x, marker_y = selected_marker.center
if right_button:
@@ -300,7 +300,7 @@ def main():
# DON'T APPLY CAMERA DISTORSION : it projects points which are far from the frame into it
# This hack isn't realistic but as the gaze will mainly focus on centered AOI, where the distorsion is low, it is acceptable.
- aoi2D_video_scene = aoi3D_scene_edited.project(aruco_tracker.get_marker_translation(selected_marker_index), aruco_tracker.get_marker_rotation(selected_marker_index), aruco_camera.get_K())
+ aoi2D_video_scene = aoi3D_scene_edited.project(selected_marker.translation, selected_marker.rotation, aruco_camera.K)
# Draw aoi scene
aoi2D_video_scene.draw_raycast(visu_frame.matrix, gaze_position)
@@ -310,7 +310,7 @@ def main():
cv.putText(visu_frame.matrix, f'Marker {selected_marker_id}: {e}', (20, 120), cv.FONT_HERSHEY_SIMPLEX, 1, (0, 0, 255), 1, cv.LINE_AA)
- except ValueError:
+ except KeyError:
# Write error
if selected_marker_id >= 0:
@@ -413,7 +413,7 @@ def main():
force_update = True
# Display video
- cv.imshow(f'Segment {tobii_segment.get_id()} ArUco marker editor', visu_frame.matrix)
+ cv.imshow(f'Segment {tobii_segment.id} ArUco marker editor', visu_frame.matrix)
# Wait 1 second
time.sleep(1)