2009-05-07 11 views
6

J'ai trouvé un example pour accéder à une webcam en C#. L'exemple utilise la bibliothèque DirectShow.NET. J'ai essayé de comprendre le code, mais jusqu'ici la seule chose que j'ai pu comprendre est que d'une manière ou d'une autre l'usercontrol appelle DirectShow pour dessiner directement à la surface du contrôle de l'utilisateur.C# + DirectShow.NET = Accès WebCam simple?

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

Cela peut être simple de répondre si vous connaissez votre chemin DirectShow.NET.

+0

Aujourd'hui, DirectShow.NET est un projet mort. Désolé ... –

Répondre

5

Vous aurez besoin d'utiliser l'interface ISampleGrabber il y a beaucoup de c de Exemples sur le net sur la façon de l'utiliser, il vous donnera les données les au format RGB brut que vous pouvez nourrir dans la classe Bitmap.

Il existe également une bibliothèque open source appelée Touchless qui a un projet en code qui prend une web cam et vous rappelle à chaque fois qu'une nouvelle trame arrive.

+0

Pouvez-vous me dire où puis-je trouver le qedit.h nécessaire à la compilation de WebCamLib sans contact? J'ai téléchargé à la fois les fenêtres sdk et le directx sdk, mais je ne l'ai trouvé nulle part. – George

+2

connaître le problème, vous avez besoin d'un vieux SDK DirectX d'août 2007. http://www.microsoft.com/downloads/details.aspx?familyid=529F03BE-1339-48C4-BD5A-8506E5ACF571&displaylang=en –

+0

J'ai installé le SDK d'août 2007, mais je n'ai pas trouvé le qedit.h dans l'include dir ou anywere autre. – George