320px-Eye_tracking_thru_glassUtilizando um conceito similar a  teoria da estimativa de gaze, é possível encontrar as  coordenadas aproximadas em  3 dimensão a  partir de imagens planas.  Teste laboratoriais demonstrou a  eficiência deste conceito matemático. Pretendo elaborar  uma biblioteca para interagir com a libhairCapture utilizando API V4L1/2 e cameras IP baseado no padrão MJPEG  (ISO/IEC 15444-1 e  derivados).

A  seguir a rotina  utilizada  para  o cálculo das coordenadas  no  espaço 3D seguido do  vídeo.

double x1 = r->x*scale; 
double x2 = (r->x+r->width)*scale; 
double angle = (r->width)*scale * horizontalGradesPerPixel * 3.141592654/180; 
double headDist = (headWidth/2) / (tan(angle/2)); //em metros 
double xAngle = ((img->width)/2.0 - ((r->x+r->width*0.5)*scale)) * horizontalGradesPerPixel * 3.141592654/180; 
double headX =  tan(xAngle) * headDist; 
double yAngle = ((img->height)/2.0 -((r->y+r->height*0.5)*scale)) * verticalGradesPerPixel * 3.141592654/180; 
double headY = tan(yAngle) * headDist; 
printf("HeadX = %.4lfm HeadY = %.4lfm HeadZ = %.4lfm pix %lf\n", headX,headY,headDist,(img->width)/2.0 - ((r->x+r->width*0.5)*scale));