订阅眼睛注视数据进行研究

2024-06-01 22:56:20 发布

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

我使用的是Alienware 17 R5笔记本电脑,内置Tobii眼动跟踪器。我正在尝试访问任何数据从内置的眼睛跟踪系统。我使用的代码本质上是相同的demo code from the Tobii research documentation。当我运行代码时,我无法获得要打印到控制台的凝视数据。解释器甚至没有执行回调函数,正如在subscribe_tounsubscribe_from命令中指定的那样。任何关于为什么我不能访问凝视数据的见解都将不胜感激。这是我的密码:

import tobii_research as tr
import time

global_gaze_data = None

found_eyetrackers = tr.find_all_eyetrackers()
print(found_eyetrackers[0])
my_eyetracker = found_eyetrackers[0]
my_eyetracker = tr.EyeTracker(my_eyetracker.address)
# print(my_eyetracker.values)
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)
print("Eyetracking modes: ",my_eyetracker.get_all_eye_tracking_modes())
print("Output frequencies: ",my_eyetracker.get_all_gaze_output_frequencies())


print("Maybe?",tr.EYETRACKER_GAZE_DATA)
print("Type", type(tr.EYETRACKER_GAZE_DATA))

def gaze_data_callback(gaze_data):
    print("Do you get here?")
    global global_gaze_data
    global_gaze_data = gaze_data
    # Print gaze points of left and right eye
    print("Gaze data?:",gaze_data)
    print("Gaze data type:",type(gaze_data))
    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)
print(global_gaze_data)

这是输出。看起来没有执行gaze_data_callback函数,global_gaze_data变量没有分配任何注视数据:

> python test.py
<tobiiresearch.implementation.EyeTracker.EyeTracker object at 0xHEXHERE>
Address: MY-ADDRESS
Model: IS4_Base_DAW_MLK
Name (It's OK if this is empty):
Serial number: MY_SERIAL_NUMBER
Eyetracking modes:  ('Default',)
Output frequencies:  (60.0,)
Maybe? eyetracker_gaze_data
Type <class 'str'>
None

Tags: 数据datamycallbackleftglobaltreye