Question

J'ai trouvé un exemple pour accéder à une webcam en C #. L'exemple utilise la bibliothèque DirectShow.NET . J’ai essayé de comprendre le code, mais jusqu’à présent, la seule chose que j’ai pu comprendre, c’est que d’une manière ou d’une autre, usercontrol appelle directshow pour dessiner directement à la surface du contrôle utilisateur.

Je souhaite accéder à chaque image et la placer dans un objet Bitmap. Comment puis-je savoir quand une nouvelle image est arrivée? Comment capturer ce nouveau cadre dans un objet bitmap?

Cela pourrait être simple si vous connaissez bien DirectShow.NET.

Était-ce utile?

La solution

Vous devrez utiliser le ISampleGrabber interface il y a beaucoup d'exemples c ++ sur le net sur la façon de l'utiliser, cela vous donnera les données au format brut RVB que vous pourrez alimenter dans la classe Bitmap.

Il existe également une bibliothèque open source appelée Touchless . Elle comporte un projet dans le code qui prend un site Web. cam et vous donner un rappel à chaque fois qu'un nouveau cadre est arrivé.

Autres conseils

Assurez-vous de consulter cet article - http: // www.codeproject.com/Articles/125478/Versatile-WebCam-C-library ; il est basé sur le composant de capture Touchless WebCam (mais sans autres composants de Touchless SDK).

Si vous avez trouvé Touchless utile, mais souhaitez utiliser le dernier SDK DirectX, essayez de récupérer la dernière source après modification 31008 à http://touchless.codeplex.com/SourceControl/ListDownloadableCommits.aspx

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top