使用python的TobiiEyetracker,无法打印凝视数据

2024-06-25 23:29:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在做一个项目,需要在屏幕上的用户眼睛的位置。我遵循了tobii sdk文档,该文档帮助创建了一个非常基本的程序,可以从我的眼动跟踪器中打印凝视数据。然而,当我运行代码时,凝视数据不会打印出来,我不知道为什么

import time import tobii_research as tr found_eyetrackers = tr.find_all_eyetrackers() my_eyetracker = found_eyetrackers[0] print("Address: " + my_eyetracker.address) print("Model: " + my_eyetracker.model) print("Name (It's OK if this is empty): " + my_eyetracker.device_name) print("Serial number: " + my_eyetracker.serial_number) def gaze_data_callback(gaze_data): # Print gaze points of left and right eye print("Left eye: ({gaze_left_eye}) \t Right eye: ({gaze_right_eye})".format( gaze_left_eye=gaze_data['left_gaze_point_on_display_area'], gaze_right_eye=gaze_data['right_gaze_point_on_display_area'])) my_eyetracker.subscribe_to(tr.EYETRACKER_GAZE_DATA, gaze_data_callback, as_dictionary=True) time.sleep(5) my_eyetracker.unsubscribe_from(tr.EYETRACKER_GAZE_DATA, gaze_data_callback)

我得到的结果是:

Address: MY-ADDRESS Model: IS4_Large_Peripheral Name (It's OK if this is empty): Serial number: MY-SERIAL NUMBER

Tags: 数据文档rightnumberdatamycallbackleft
1条回答
网友
1楼 · 发布于 2024-06-25 23:29:40

使用此回调函数时:

def gazeDataCallback(self,startGazeData):
    print(startGazeData)

我使用以下格式获得输出:

{'device_time_stamp': 1623291632673972, 'system_time_stamp': 34428318423, 
'left_gaze_point_on_display_area': (nan, nan), 
'left_gaze_point_in_user_coordinate_system': (nan, nan, nan), 
'left_gaze_point_validity': 0, 'left_pupil_diameter': nan,    
'left_pupil_validity': 0, 
'left_gaze_origin_in_user_coordinate_system': (nan, nan, nan), 
'left_gaze_origin_in_trackbox_coordinate_system': (nan, nan, nan), 
'left_gaze_origin_validity': 0, 
'right_gaze_point_on_display_area': (nan, nan), 
'right_gaze_point_in_user_coordinate_system': (nan, nan, nan), 
'right_gaze_point_validity': 0, 
'right_pupil_diameter': nan, 
'right_pupil_validity': 0, 
'right_gaze_origin_in_user_coordinate_system': (nan, nan, nan), 
'right_gaze_origin_in_trackbox_coordinate_system': (nan, nan, nan), 
'right_gaze_origin_validity': 0}

我想你需要做的是用正确的键查字典

print(gaze_data['left_gaze_point_on_display_area'])

而不是

print({gaze_left_eye})

相关问题 更多 >