表示している画像のどこを見ているか、視線トラッキングデバイスを用いて情報を取得したいです。
以下のコードでは画像が正しく表示されず、グレーのウィンドウが立ち上がるだけです。
どうしたら正しく表示できるでしょうか。
環境はWin10で、Atom上で動かしています。
python
1import tobii_research as tr 2import heatmap 3import time 4import sys 5import numpy as np 6import matplotlib.pyplot as plt 7import matplotlib.cm as cm 8from scipy.ndimage.filters import gaussian_filter 9import cv2 10 11found_eyetrackers = tr.find_all_eyetrackers() 12my_eyetracker = found_eyetrackers[0] 13 14#視線情報を取り出す関数 15def gaze_data_callback(gaze_data): 16 # Print gaze points of left and right eye 17 with open(f"eyetrack_data_{i}.txt", "a", encoding='utf-8') as file: 18 file.write("{gaze_left_eye},{gaze_right_eye}\n".format( 19 gaze_left_eye=gaze_data['left_gaze_point_on_display_area'], 20 gaze_right_eye=gaze_data['right_gaze_point_on_display_area'])) 21 22#画面いっぱいに表示する関数 23def imshow_fullscreen(winname, img): 24 cv2.namedWindow(winname, cv2.WINDOW_NORMAL) 25 cv2.setWindowProperty(winname, cv2.WND_PROP_FULLSCREEN, cv2.WINDOW_FULLSCREEN) 26 cv2.imshow(winname, img) 27 28 29for i in range(1): 30 31 #画面いっぱいに表示する画像 32 img = cv2.imread(f'test{i}.jpg') 33 imshow_fullscreen('screen', img) 34 #視線情報を取得する部分 35 my_eyetracker.subscribe_to(tr.EYETRACKER_GAZE_DATA, gaze_data_callback, as_dictionary=True) 36 time.sleep(3) 37 my_eyetracker.unsubscribe_from(tr.EYETRACKER_GAZE_DATA, gaze_data_callback)
あなたの回答
tips
プレビュー