Kristel60
Messages postés10Date d'inscriptionvendredi 30 avril 2004StatutMembreDernière intervention 8 février 2011 8 févr. 2011 à 23:08
tres bon code,
juste une chose : chemin du system32 en dur dans le code
Nicolas___
Messages postés992Date d'inscriptionjeudi 2 novembre 2000StatutMembreDernière intervention24 avril 20131 28 mai 2008 à 16:36
@foxi : bon c'est sur le code est pas mal pourri , comme presque tous les codes que j'ai posté d'ailleurs vu que ce sont des codes que j'ai écrit avant de faire info et qu'a l'époque je n'avais pas beaucoup de structure , n'y de rigueur
(rien qu'en regardant les variables ... )
Faudrait 1 jour que je m'amuse a tt reprendre mais je pense que je n'aurais pas le courage !
f0xi
Messages postés4205Date d'inscriptionsamedi 16 octobre 2004StatutModérateurDernière intervention12 mars 202235 27 mai 2008 à 22:26
Correction de la source en cas d'alerte virus par Avast 4.8! (ou pas) :
Déclarez capCreateCaptureWindowA comme ceci :
function capCreateCaptureWindowA(
lpszWindowName : LPCSTR;
dwStyle, X, Y, nWidth, nHeight : integer;
hwndParent : hwnd;
nID : integer): HWND; stdcall;
implementation
{$R *.dfm}
function capCreateCaptureWindowA; external 'avicap32.dll'name 'capCreateCaptureWindowA';
par contre le code est vraiment mal ecrit. c'est dommage.
calibanproject
Messages postés4Date d'inscriptionsamedi 2 décembre 2006StatutMembreDernière intervention 6 février 2009 13 févr. 2007 à 23:54
bonjour,
C'est vraiment un code superbe !!! Quekqu'un saurait-il comment capturer "simultanément" des images provenant de 2 webcam diférentes (pour faire de la triangulation). Merci d'avance de vos réponses...
jlen100
Messages postés1606Date d'inscriptionsamedi 10 juillet 2004StatutMembreDernière intervention25 juillet 201413 11 juil. 2006 à 18:33
sauvegarder à 10 images/seconde en mémoire n'est pas un problème (dans mon programme je l'ai tester à 25 images/s sur 4 caméras) ensuite ne surveillance il n'y a aucun intérêt à controler à 10 image/s à moins de vouloir pièger Speedy Gonzales à 2/3 images/seconde c'est bien suffisant.
quant à se déplacer suffisament doucement pour tromper la surveillance à moins d'être une tortue il faut pas trop y penser d'autant que si tu t'introduis dans uen pièce sans y être inviter je doute que tu y traine trop et que si tu ne peux pas bouger sans de faire prendre tu déguerpiras à grandes enjambées.
Tu peux faire l'essai avec mon prog et je te garantis que tu vas attraper des crampes avant d'avoir quiter le champ de la caméra
@+
jlen
Nicolas___
Messages postés992Date d'inscriptionjeudi 2 novembre 2000StatutMembreDernière intervention24 avril 20131 11 juil. 2006 à 18:33
d'accord avec ti , euh lire toi !!!
Nicolas___
Messages postés992Date d'inscriptionjeudi 2 novembre 2000StatutMembreDernière intervention24 avril 20131 11 juil. 2006 à 18:32
Maurico , d'accord avec ti et c'etait pour ca que je n'avais pas fait ca !
Bon ca fait vachement infiltration quand meme mais j'avais essayer et il y avait moyen !
ciao
cs_MAURICIO
Messages postés2106Date d'inscriptionmardi 10 décembre 2002StatutModérateurDernière intervention15 décembre 20145 11 juil. 2006 à 18:19
Salut Nico!
C' est pour cela qu' il faut prendre plusieurs pixels à traiter, c' est à cause de la qualité!
JLen100:
Le problème est que si tu traites 10 images toutes les secondes, tu vas sauvegarder 10 fois comme image de référence.
Donc, si tu apparais très doucement (ok, ça fait un peu Splinter Cell mais c' est l' idée, mdr), tu peux tromper ton programme!!!
Qu' en pensez vous les gars?
A+
jlen100
Messages postés1606Date d'inscriptionsamedi 10 juillet 2004StatutMembreDernière intervention25 juillet 201413 11 juil. 2006 à 18:15
ton image de référence ça peut être l'image précédente Tu peux ainsi éliminé la varation si elle est lente.
@+
jlen
Nicolas___
Messages postés992Date d'inscriptionjeudi 2 novembre 2000StatutMembreDernière intervention24 avril 20131 11 juil. 2006 à 18:04
C'est tres clair Maurico mais il y a un autre probleme et pas n'importe lequel : la qualite de la webcam.
Tu peux faire le test si tu en a une, tu mets ton image par defaut = image de la webcam
normalement tu a zero pourcent de difference, or chez moi j'ai a peu pres 10% de difference !
Je n'ai jamais dis que cette methode etait la plus fiable , elle est juste differentes de celle sur DelphiFR et voila pourquoi je l'ai postée.
pour l'histoire d'actualiser l'image tt les X minutes j'y avais pensé ...
Je vais faire ce que tu m'as demandé pour voir , Merci
ciao
cs_MAURICIO
Messages postés2106Date d'inscriptionmardi 10 décembre 2002StatutModérateurDernière intervention15 décembre 20145 11 juil. 2006 à 15:10
Salut à tous!
Détecter un changement entre 2 images n' est pas si difficile que ça ...
Le problème majeur est biensûr l' éclairage qui change dans la journée.
Il suffirait d' actualiser l' image de comparaison de la scène toutes les minutes par exemple (s' il n' y a pas de mouvement détecté, ça va de soi) ...
Autre problème: disons qu' un nuage passe assez rapidement (mdr).
Voilà un procédé qui pourrait marcher :
calculer une moyenne en % pour le Rouge, Vert et Bleu tous les 3 pixels horizontaux et verticaux (par ex...) de l' image car un % permet déjà de contourner le problème de la luminosité (le % de RGB ne change pas selon la luminausité, enfin pas trop).
Ça nous donne donc une moyenne sur 9 pixels pour le RGB comme suit par exemple:
Rouge: 10%
Vert: 30%
Bleu: 60%
On compare ces pourcentages entre la scène gardée avec celui de la scène actuelle.
On fait ça tous les 3 pixels donc...
On se donne une tolérance de changement entre ces 3 pourcentages (% rouge, vert et bleu) entre les 2 scènes entre 0 et 100% (0 de tolérence veut dire que les 3 pourcentages doivent être égaux dans les 2 scènes), c' est une variable donc que l' utilisateur peut définir.
Si on constate par exemple que 10% des résultats ne répondent pas à la tolérence, il y a mouvement dans la scène !!!
J' ai essayé d' expliquer au mieux, j' espère que cela va te donner des idées?!!
A+
Nicolas___
Messages postés992Date d'inscriptionjeudi 2 novembre 2000StatutMembreDernière intervention24 avril 20131 11 juil. 2006 à 13:18
Oxyde 84 je ne comprend pas je viens d'essayer et tout marche nickel ( j'utilise Ultimate Zip)
Ciao
Nicolas___
Messages postés992Date d'inscriptionjeudi 2 novembre 2000StatutMembreDernière intervention24 avril 20131 11 juil. 2006 à 13:17
Merci beaucoup
Et merci pour la note
delphinait
Messages postés78Date d'inscriptionlundi 23 août 2004StatutMembreDernière intervention19 novembre 2008 8 juil. 2006 à 17:46
tres tres bonne source , 10 / 10 .
delphinait
oxyde84
Messages postés23Date d'inscriptionsamedi 27 mai 2006StatutMembreDernière intervention15 avril 2009 7 juil. 2006 à 10:29
ca ne marche pas
une fois le zip telechargé je n'arrive pas a l'ouvrir
fm12
Messages postés1Date d'inscriptionlundi 26 juin 2006StatutMembreDernière intervention 7 juillet 2006 7 juil. 2006 à 10:19
je voudrai savoir si il ya un logiciel qui peut allumer une webcam d'un autre pc
j'attend vos suggestions
merci
jlen100
Messages postés1606Date d'inscriptionsamedi 10 juillet 2004StatutMembreDernière intervention25 juillet 201413 7 juil. 2006 à 07:47
salut,
c'est une autre façon de détecter un mouvement mais tu devrais jeter un oeil sur le composant TMED qui m'as servi à la détection ( détection multizone à sensibilité réglable par zone)
Nicolas___
Messages postés992Date d'inscriptionjeudi 2 novembre 2000StatutMembreDernière intervention24 avril 20131 6 juil. 2006 à 23:40
ce prog, ca faisait deja longtemps que je voulais le mettre (depuis une question dans le forum au sujet de comment on peut detecter un mouvement, je ne sais plus quand ni plus qui l'avait posée) mais j'ai eu des probs avec le pc ( virus, trojan et NORTON(criont le bien fort )
8 févr. 2011 à 23:08
juste une chose : chemin du system32 en dur dans le code
28 mai 2008 à 16:36
(rien qu'en regardant les variables ... )
Faudrait 1 jour que je m'amuse a tt reprendre mais je pense que je n'aurais pas le courage !
27 mai 2008 à 22:26
Déclarez capCreateCaptureWindowA comme ceci :
function capCreateCaptureWindowA(
lpszWindowName : LPCSTR;
dwStyle, X, Y, nWidth, nHeight : integer;
hwndParent : hwnd;
nID : integer): HWND; stdcall;
implementation
{$R *.dfm}
function capCreateCaptureWindowA; external 'avicap32.dll'name 'capCreateCaptureWindowA';
par contre le code est vraiment mal ecrit. c'est dommage.
13 févr. 2007 à 23:54
C'est vraiment un code superbe !!! Quekqu'un saurait-il comment capturer "simultanément" des images provenant de 2 webcam diférentes (pour faire de la triangulation). Merci d'avance de vos réponses...
11 juil. 2006 à 18:33
quant à se déplacer suffisament doucement pour tromper la surveillance à moins d'être une tortue il faut pas trop y penser d'autant que si tu t'introduis dans uen pièce sans y être inviter je doute que tu y traine trop et que si tu ne peux pas bouger sans de faire prendre tu déguerpiras à grandes enjambées.
Tu peux faire l'essai avec mon prog et je te garantis que tu vas attraper des crampes avant d'avoir quiter le champ de la caméra
@+
jlen
11 juil. 2006 à 18:33
11 juil. 2006 à 18:32
Bon ca fait vachement infiltration quand meme mais j'avais essayer et il y avait moyen !
ciao
11 juil. 2006 à 18:19
C' est pour cela qu' il faut prendre plusieurs pixels à traiter, c' est à cause de la qualité!
JLen100:
Le problème est que si tu traites 10 images toutes les secondes, tu vas sauvegarder 10 fois comme image de référence.
Donc, si tu apparais très doucement (ok, ça fait un peu Splinter Cell mais c' est l' idée, mdr), tu peux tromper ton programme!!!
Qu' en pensez vous les gars?
A+
11 juil. 2006 à 18:15
@+
jlen
11 juil. 2006 à 18:04
Tu peux faire le test si tu en a une, tu mets ton image par defaut = image de la webcam
normalement tu a zero pourcent de difference, or chez moi j'ai a peu pres 10% de difference !
Je n'ai jamais dis que cette methode etait la plus fiable , elle est juste differentes de celle sur DelphiFR et voila pourquoi je l'ai postée.
pour l'histoire d'actualiser l'image tt les X minutes j'y avais pensé ...
Je vais faire ce que tu m'as demandé pour voir , Merci
ciao
11 juil. 2006 à 15:10
Détecter un changement entre 2 images n' est pas si difficile que ça ...
Le problème majeur est biensûr l' éclairage qui change dans la journée.
Il suffirait d' actualiser l' image de comparaison de la scène toutes les minutes par exemple (s' il n' y a pas de mouvement détecté, ça va de soi) ...
Autre problème: disons qu' un nuage passe assez rapidement (mdr).
Voilà un procédé qui pourrait marcher :
calculer une moyenne en % pour le Rouge, Vert et Bleu tous les 3 pixels horizontaux et verticaux (par ex...) de l' image car un % permet déjà de contourner le problème de la luminosité (le % de RGB ne change pas selon la luminausité, enfin pas trop).
Ça nous donne donc une moyenne sur 9 pixels pour le RGB comme suit par exemple:
Rouge: 10%
Vert: 30%
Bleu: 60%
On compare ces pourcentages entre la scène gardée avec celui de la scène actuelle.
On fait ça tous les 3 pixels donc...
On se donne une tolérance de changement entre ces 3 pourcentages (% rouge, vert et bleu) entre les 2 scènes entre 0 et 100% (0 de tolérence veut dire que les 3 pourcentages doivent être égaux dans les 2 scènes), c' est une variable donc que l' utilisateur peut définir.
Si on constate par exemple que 10% des résultats ne répondent pas à la tolérence, il y a mouvement dans la scène !!!
J' ai essayé d' expliquer au mieux, j' espère que cela va te donner des idées?!!
A+
11 juil. 2006 à 13:18
Ciao
11 juil. 2006 à 13:17
Et merci pour la note
8 juil. 2006 à 17:46
delphinait
7 juil. 2006 à 10:29
une fois le zip telechargé je n'arrive pas a l'ouvrir
7 juil. 2006 à 10:19
j'attend vos suggestions
merci
7 juil. 2006 à 07:47
c'est une autre façon de détecter un mouvement mais tu devrais jeter un oeil sur le composant TMED qui m'as servi à la détection ( détection multizone à sensibilité réglable par zone)
6 juil. 2006 à 23:40