Domanda

Ho trovato un esempio per accedere a una webcam in C #. L'esempio utilizza la libreria DirectShow.NET . Ho cercato di capire il codice, ma finora l'unica cosa che ho potuto capire è che in qualche modo il controllo utente chiama directshow per attirare direttamente sulla superficie del controllo utente.

Voglio accedere a ciascun frame e inserirlo in un oggetto Bitmap. Come posso sapere quando è arrivato un nuovo frame? Come posso catturare questo nuovo frame in un oggetto Bitmap?

Potrebbe essere semplice rispondere a questa domanda se conosci la modalità DirectShow.NET.

È stato utile?

Soluzione

Dovrai utilizzare ISampleGrabber interfaccia ci sono molti esempi di c ++ in rete su come usarlo, ti darà i dati in formato raw RGB che puoi alimentare nella classe Bitmap.

Esiste anche una libreria open source chiamata Touchless ha un progetto in codice che utilizza un web cam e ti richiamano ogni volta che arriva un nuovo frame.

Altri suggerimenti

Assicurati di dare un'occhiata a questo articolo - http: // www.codeproject.com/Articles/125478/Versatile-WebCam-C-library ; si basa sul componente di acquisizione Touchless WebCam (ma senza altre parti di Touchless SDK).

Se hai trovato utile Touchless, ma desideri utilizzare l'ultimo SDK DirectX, prova a ottenere l'ultima fonte dopo la modifica 31008 in http://touchless.codeplex.com/SourceControl/ListDownloadableCommits.aspx

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top