CAPTURER UNE IMAGE DEPUIS UNE WEBCAM

Messages postés
356
Date d'inscription
samedi 30 octobre 2004
Statut
Membre
Dernière intervention
14 avril 2009
- - Dernière réponse :  naruthomas41 - 23 avril 2017 à 09:21
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/43236-capturer-une-image-depuis-une-webcam

Afficher la suite 
olivierbalagizi
Messages postés
40
Date d'inscription
samedi 19 mars 2005
Statut
Membre
Dernière intervention
10 février 2011
-
salut.
Un petit problème que je rencontre en utilisant cette source: chaque fois que je lance l'application pour la première fois, tout fonctionne correctement. si j'arrête le programme et le redemarre, je suis obligé de débrancher ma webcam et de la reconnecter sinon un message d'erreur "Values does not fall within the expected range" apparait. Comment corriger ce problème?

merci d'avance
Shad78
Messages postés
10
Date d'inscription
mardi 13 mars 2007
Statut
Membre
Dernière intervention
31 juillet 2008
-
Salut,
j'ai eu ce petit probleme également en changeant de configurations pendant l'execution du programme, c'est pourquoi j'ai verouillé l'acces au combobox une fois les configurations choisies. En revanche je n'ai pas (encore) eu le meme probleme que toi. Alors probleme dans la dll ou dans mon code, je ne sais pas encore, mais je vais regarder ca, merci de ton commentaire.
angel_of_tower
Messages postés
23
Date d'inscription
lundi 1 novembre 2004
Statut
Membre
Dernière intervention
17 novembre 2007
-
Bonne source
je m'en suis servis pour faire un détecteur de mouvement
mais l'image est inversé
peut être il y à une solution
si il y a une astuce je suis preneur
merci @+.
cs_sourdingue
Messages postés
1
Date d'inscription
vendredi 23 mars 2007
Statut
Membre
Dernière intervention
21 février 2008
-
Je remercie celui qui a fait cela car c'est exactement ce que je voulais... pour un mini executable que j'ai en tête. Ca me facilitera le traitement et recherche image...Merci.
C'est vrai que l'image est inversée (simple capture d'image) mais dans mon cas cela ne me gène pas.
Le source marche très bien avec moi: je n'ai pas eu de soucis d'image comme avec d'autres sources récupéré sur des projets de cours.

Merci. @+
econs
Messages postés
4030
Date d'inscription
mardi 13 mai 2003
Statut
Modérateur
Dernière intervention
23 décembre 2008
19 -
Pour ceux qui voudraient inverser l'image, voici une solution :

J'ai modifié la méthode ci-dessous :

void CaptureInfo_FrameCaptureComplete(PictureBox Frame)
{

Graphics g = Graphics.FromImage(pictureBox2.Image);

Matrix mm1 = new Matrix();
mm1 = new Matrix(-1, 0, 0, -1, 0, 0);

GraphicsPath gp = new GraphicsPath();

Image imgpic = (Image)Frame.Image.Clone();
mm1.Translate(imgpic.Width, imgpic.Height, MatrixOrder.Append);

gp.AddPolygon(new Point[] { new Point(0, imgpic.Height), new Point(imgpic.Width, imgpic.Height), new Point(0, 0) });
gp.Transform(mm1);

PointF[] pts = gp.PathPoints;
g.DrawImage(imgpic, pts);

pictureBox2.Refresh();

}

avec les using qui vont bien :

using System.Drawing.Drawing2D;
using System.Drawing.Imaging;

Quelques explications ici :
http://www.codeproject.com/KB/GDI-plus/matrix_transformation.aspx
http://msdn2.microsoft.com/en-us/library/8667dchf.aspx

L'image est tout d'abord inversée horizontalement, puis translatée en X et en Y.

--> A noter (petit défaut pour l'instant), que pictureBox1.Image et pictureBox2.Image ne doivent pas être null en démarrant la procédure, sinon, badaboum. Mais çà s'arrange très facilement.