Previous posts

Post 1 - Introduction

Post 2 - Installing OpenCV - Prerequisites

Post 3 - Installing OpenCV

Post 4 - Installing Pygaze

Post 5 - Installing eye tracker

Post 6 - SPI communication

Post 7 - SPI communication in Python

EyeLiner - Post 8 - Getting started with Kinetis

EyeLiner - Post 9 - Mechanical design

EyePrints - Post 10 - Mechanical design: the plotter

 

During these days, I developed the eye tracker  software. You can see a screenshot of the application.

 

Tracker2.png

 

When the pupil is inside the green circle, the plotter stays still. Otherwise, the plotter moves a to a speed that is increases with the distance from the screen center

n the left, the following information are shown

 

Tracker3.png

 

  • pupil color and threshold are values saved during the calibraton process (see EyePrints - Post 5 - Installing eye tracker)
  • pupil position is the coordinates (relative to the image upper left corner) where the pupil has been found
  • pupil rect is the bounding rect of the pupil
  • speed is the speed (along the X and Y axis respectively) that the application has computed based on the pupil position
  • position is the current plotter position. This position is sent to teh NXP Freedom boards through SPI
  • delta is the distance of the pupil from the center of the image

 

The full application is attached to the post. It includes the functions to send out data on SPI interface and to control the plotter servo (obviously these function has not been tested yet)