C # + DirectShow.NET = Accesso alla WebCam semplice?
-
08-07-2019 - |
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.
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