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.




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




  • 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)