2011-04-21 21 views

Respuesta

4

Suponiendo que la cámara está estacionaria y las imágenes están muy bien, puede encontrar las diferencias entre las dos imágenes utilizando la resta de elementos. El uso de la API C++ de OpenCV, se vería algo como esto (nota: este código no se ha probado):

void FindDifference(cv::Mat src1, cv::Mat src2, cv::Mat &dst, int threshold) { 
    dst = cv::abs(src2 - src1); 
    cv::threshold(dst, dst, threshold, 255, cv::THRESH_BINARY); 
} 

usted puede ajustar el valor de threshold para reducir los falsos positivos causados ​​por el ruido. Si todavía recibe demasiados falsos positivos, debe usar mirar en motion estimation y image registration para alinear las dos imágenes.

No estoy familiarizado con la API de EmuCV, pero debería ser bastante sencillo traducir el código anterior en sus llamadas API.

+0

Muchas gracias. Fue extremadamente fácil de traducir y funcionó más o menos como yo quería. – clcrutch

+0

¿Puede por favor guiarme para el seguimiento ocular y la detección de parpadeo? ¿Cómo usar cv :: findContours para obtener componentes conectados? – Hitesh

+0

Lo siento, pero no tengo ninguna experiencia con el seguimiento ocular. Escuché cosas buenas sobre OpenGaze, pero nunca las he usado. –

Cuestiones relacionadas