- 20 de febrero de 2013: En respuesta a una pregunta de estudiante Hala Abuhasna si desea utilizar la clase Serial. net, utilice la Convención de nomenclatura "\\\.\\COMn" y reemplazar n por un número > 9 para definir el puerto com para puertos COM sobre 9 como COM10, COM11, etc..
- 23 de marzo de 2012: Aparece en el Blog de Adafruit
- 23 de marzo de 2012: Destacados en diseño interactivo
- 13 de diciembre de 2011: Aparece en seda para la ciencia
Esta guía se mantendrá también en mi blog http://techbitar.blogspot.com/2012/04/face-detection-and-tracking-with.html
INTRODUCCIÓN
En este proyecto que he montado un sistema de detección y seguimiento de cara. Puede ver el video del proyecto final aquí:
Básicamente, la cámara envía fotogramas de vídeo OpenCV corriendo en un PC con Windows. Si OpenCV detecta un rostro se seguimiento y calcular su centro X, Y coordenadas. Las coordenadas entonces pasan a la Arduino a través de una conexión USB serie. Arduino controla el movimiento de la cámara web con la ayuda de dos servos de la cacerola/la inclinación a seguir el rostro detectado.
OpenCV (abrir fuente computadora visión biblioteca: http://opencv.willowgarage.com/wiki/) es una biblioteca de código abierto que incluye varios cientos de algoritmos de visión de computadora en tiempo real. La biblioteca de 2.x de OpenCV es una API de C++.
Se trata de un proyecto de integración entre herramientas de hardware y software. Los ejemplos de código de C++ de procesamiento de imagen cuentan con el openCV biblioteca y todo que hizo fue modificar el código de ejemplo para este proyecto. He quitado algunos de código innecesario y añadido comunicaciones serie a él para que puedan enviar X, Y valores para Arduino.
CRÉDITO
Este proyecto no habría sido posible sin el equipo que desarrolló el OpenCV. También me beneficié de tutorial de Ryan Owens' (http://www.sparkfun.com/tutorials/304) que se basa en el procesamiento, OpenFrameworks y una versión anterior de OpenCV. He intentado instalar el procesamiento y OpenFrameworks sin suerte. Por lo que en su lugar, opté por Microsoft Visual C++ 2010 Express y la última versión de OpenCV que es 2.3.1 sin middleware o envolturas.
HERRAMIENTAS
Software necesario
IDE de Arduino 1.0 para Windows
SuperPack de OpenCV 2.3.1 para Windows
Microsoft Visual C++ 2010 SP1 Express
Serie biblioteca de C++ para Win32 (por Thierry Schneider)
Código necesario
-C++ OpenCV (adjunta) techbitarFaceDetection.cpp (basado en facedetect.cpp de ejemplo de OpenCV)
-Cam_servo.ino (adjunto) Arduino (basado en el ejemplo de Ryan Owens' SerialServoControl.pde)
Hardware requerido
-PC con preferiblemente Windows 7 Service Pack 1. La CPU más rápida mejor.
-Arduino Uno o fuente compatible + energía.
-Servos estándar X 2.
-Interfaz de w/UBS Webcam.
-Protoboard.
-Puente los cables.
-Alambre Hobby para atar de pan/tilt servos y webcam juntos.