2009-08-11 30 views
20

Quiero acceder a la cámara web para poder hacer algo de precesión en las imágenes, como rastrear una luz, pero no puedo encontrar la manera de acceder a la cámara web. Busqué en Google pero me confundí.acceso a la cámara web en C++

¿Puede indicarme una biblioteca que puede hacer eso (Windows)? y tal vez también proporcione un ejemplo?

Necesitaría obtener periódicamente un mapa de píxeles de la imagen, aproximadamente 20 veces por segundo más o menos si fuera posible.

+0

Debe aceptar una de estas respuestas. –

Respuesta

9

Pago OpenCV. Es un SDK de visión por computadora multiplataforma y tiene módulos para capturar imágenes de la cámara web. Quizás también sea rico en funciones para ti, pero vale la pena echarle un vistazo.

14

Necesita DirectShow. Este es un marco de Windows para reproducción y captura de video.

Se incluye en Windows SDK y hay muchas muestras para la captura de entrada de video incluidas.

Pero, como mencionó Vijay, también puedes probar usar OpenCV ya que no solo abstrae la API de captura de video específica de la plataforma, también incluye muchos algoritmos de procesamiento de imágenes que podrías usar para rastrear la luz en tu proyecto.

+0

ICaptureGraphBuilder2 es tu amigo ... – Goz

2

Puede usar DirectShow: here

4

Si se dirige a Windows Vista (o siete), está la nueva Medios Fundación SDK, que es un poco más fácil de manipular y más rica en características, y más importante, será mejor apoyado por Microsoft en el futuro.

Lo puedes encontrar en here.

Y sobre la captura de video específicamente here.

12

Hay un contenedor para DirectMedia/DirectShow llamado Extremely Simple Capture API o ESCAPI. Si no necesita hacer nada complicado, ESCAPI podría ser una buena apuesta.

+0

¡esta lib es increíble, fácil de usar! – Valerij

+1

Me gustaría agregar una nota que acabo de utilizar ESCAPI para un proyecto que exigía la captura de video y para el cual quería usar GLUT (en lugar de diez páginas de llamadas de Windows) y estoy muy contento con él. –

+0

He intentado usarlo pero no funcionó. Aparentemente, mi cámara web usaba codificación MJPG solo admite codificaciones sin comprimir. – kalugny