Utilizando 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));