¿Cómo me conecto a una cámara web USB en .NET?

Quiero conectarme a una cámara web USB en .NET, específicamente usando C #. Siendo nuevo en .NET, no sé qué tipo de soporte hay en las bibliotecas estándar para hacerlo. Encontré un ejemplo en la web que copia bitmaps a través del portapapeles, pero parece muy raro (y probablemente lento). ¿Hay una mejor manera?

Tendrá que usar Windows Image Acquisition (WIA) para integrar una cámara web con su aplicación. Hay muchos ejemplos de esto disponible. Aquí hay un control de usuario C Webcam con la fuente.

Aquí hay algunos artículos y publicaciones de blog de personas que buscan resolver el mismo problema:

  • MSDN Coding4Fun: ¡Mírame! Adquisición de imágenes de Windows
  • CodeProject: WIA Scripting y .NET
  • CodeProject: WebCam Fast Image Capture Service utilizando WIA
  • clausn.dk: Control de cámara web desde C # y WIA

Nota interesante, WIA no es compatible con Vista para hacer Capturas de Webcams. Principalmente lo enfocaron hacia Escáneres y tirando imágenes fijas de las cámaras.

Además, los fabricantes más grandes, como Logitech, han abandonado WIA y están a favor de DirectShow.

Aquí hay un buen ejemplo de hacer esto. Está usando DirectShow.Net ( http://directshownet.sourceforge.net/ ), que es mucho mejor que usar “portapapeles”: D.

http://www.codeproject.com/KB/audio-video/WebcamUsingDirectShowNET.aspx

Hay un paquete con funciones con muchas cosas que hacer con los sistemas de visión por computadora llamado AForge. Y tienen una manera fácil de obtener imágenes de cámara web desde una cámara USB si todavía estás buscando.

Solo revisa el código de ejemplo para el código de ejemplo del sensor de movimiento de visión por computadora. Estoy seguro de que puede sacar las llamadas de función que necesita de él como lo hice.

[Lo siento por Necro, pero esto podría ser útil para alguien en el futuro]

En mi computadora, WIA fue minuciosamente lenta … así que decidí probar Windows Multimedia Video Capture .

Puedes encontrar una demostración aquí .

Realmente depende de lo que quieras hacer. WIA es principalmente para capturar imágenes fijas de dispositivos de imágenes, y DirectShow (utilizado a través de directshow.net o DirectX administrado) es para acceder a funciones de video más completas.

La otra opción es crear una aplicación WPF. Tiene una gran cantidad de soporte integrado para video (en la medida en que tener un video clip en bucle como un botón es bastante trivial), y debe ser rápido y fácil de desarrollar.