oo7jb5
Messages postés45Date d'inscriptionjeudi 8 mars 2007StatutMembreDernière intervention 3 mars 2010
-
22 févr. 2008 à 19:29
oo7jb5
Messages postés45Date d'inscriptionjeudi 8 mars 2007StatutMembreDernière intervention 3 mars 2010
-
17 mars 2008 à 15:04
Bonjour,
Je souhaite réaliser une application en C# et pour cela j'ai besoin d'un algorithme me permettant de capturer toutes les X secondes une image provenant d'une webcam afin de pouvoir la traiter par la suite. Mon but est donc de pouvoir traiter des images provenant d'une webcam et cela en continu dans le temps.
J'ai réussit à capturer une seule image et à la traiter mais le problème vient de la capture de plusieurs images...
J'ai donc recherché sur le forum, des exemples pouvant correspondre à ce que je souhaite faire. J'ai donc choisi d'utiliser un timer qui était dans un sujet que j'ai trouvé sur ce site :
System.Timers.Timer t = new System.Timers.Timer(10000);
t.Elapsed += new ElapsedEventHandler(OnTimedEvent);
t.Interval = 2000;
t.Enabled = true;
mais j'ai un problème quand je veux faire la capture de l'image et son traitement dans la fonction OnTimedEvent, je n'y arrive pas... J'ai des problèmes dans la fonction OnTimeEvent à laquelle je n'arive donc pas à intégrer mes deux lignes de codes!!!
Lutinore
Messages postés3246Date d'inscriptionlundi 25 avril 2005StatutMembreDernière intervention27 octobre 201241 23 févr. 2008 à 08:58
Salut, si tu travailles avec une Form, tu peux utiliser la classe System.Windows.Forms.Timer qui est plus simple et plus appopriée. Tu ne dois surtout pas t'inscrire à l'évènement FrameCaptureComplete dans le gestionnaire d'évènement du timer, mais avant.
oo7jb5
Messages postés45Date d'inscriptionjeudi 8 mars 2007StatutMembreDernière intervention 3 mars 2010 23 févr. 2008 à 10:23
Bonjour et merci pour ton aide.
Cependant j'ai toujours un problème, j'ai essayé d'utiliser un System.Windows.Forms.Timer mais je n'arrive toujours pas à comprendre comment je peux faire pour que mon programme fonctionne. Je ne sais pas si j'ai bien organiser mon programme. Voici un morceau de code, permettant de mieux comprendre ce que je fais.. Lorsque je clique sur un bouton, la fonction configure est appelée.
Bitmap aa = new Bitmap(Frame.Image);
Testligne(aa);// fonction pour traiter l'image
}
Est ce que j'aurai fait une erreur en mettant TestLigne() dans cette fonction, dans ce cas je devrai la mettre dans la boucle while(exitFlag == false) et alors comment récupérer mon image par la suite, j'avoue que là je suis un peu perdu.
Merci d'avance pour votre aide.
Vous n’avez pas trouvé la réponse que vous recherchez ?
oo7jb5
Messages postés45Date d'inscriptionjeudi 8 mars 2007StatutMembreDernière intervention 3 mars 2010 23 févr. 2008 à 11:34
Merci.
C'est sûr mon disque dur va pas tenir longtemps.... J'utilise la librairie DirectX Capture et DShowNET.
Mais comment faire pour que CaptureInfo.CaptureFrame() soit reconnue car j'ai des problèmes à ce niveau , pourtant j'ai déclaré CaptureInfo en variable de classe. J'ai l'erreur suivante :
Erreur 1 Une référence d'objet est requise pour la propriété, la méthode ou le champ non statique 'Project1.Webcam.CaptureInfo'
oo7jb5
Messages postés45Date d'inscriptionjeudi 8 mars 2007StatutMembreDernière intervention 3 mars 2010 23 févr. 2008 à 13:52
Oui, mais le problème maintenant est que j'ai déjà crée mon CaptureInfo( un peu plus haut), c'est une variable de classe.
Je pense l'avoir créé correctement : this.CaptureInfo = new Capture(this.VideoInput, this.AudioInput);
Donc je devrais créer une autre CaptureInfo qui serait créée dans TimerEventProcessor ? Je suis désolé mais sur ce coup là, j'ai un peu de mal à comprendre pourquoi cela ne fonctionne pas. Merci encore pour ton aide.
Lutinore
Messages postés3246Date d'inscriptionlundi 25 avril 2005StatutMembreDernière intervention27 octobre 201241 23 févr. 2008 à 16:08
J'ai écrit exactement l'inverse :
à créer une seule fois, pas dans while ni dans TimerEventProcessor.
Ne met pas de majuscule au nom des variables ça pose des problèmes pour comprendre ton code, seule les types doivent commencer par une majuscule. Je ne connais pas la librairie que tu utilises je ne peux pas deviner comment elle marche. Il doit manquer le chemin complet qlq chose comme ça :
oo7jb5
Messages postés45Date d'inscriptionjeudi 8 mars 2007StatutMembreDernière intervention 3 mars 2010 23 févr. 2008 à 16:44
Désolé, j'avais mal compris.
Je vais penser de changer le nom des variables comme tu le dit, cela sera plus simple et c'est vrai que pourtant d'habitude je le fais mais là...
J'ai déjà essayé de nombreux chemin mais cela ne marche pas, je vais continuer merci de ton aide.