Buenas yo he hecho varios proyectos de este tipo en distintos lenguajes y frameworks, lo que puedo decirte es que para este tipo de interaccion siempre se usa la biblioteca OpenCV que tiene wrappers para la mayoria de lenguajes:
http://opencv.org/Aunque pueda parecer lo contrario es bastante simple de usar, la libreria implementa la mayora de aspectos de bajo nivel (configuracion de la camara, deteccion de blobs, etc).
Es un tema bastante interesante y entretenido.