ACQUISITION VIDEO (WEBCAM, TV CARDS ...)

cs_MAURICIO Messages postés 2106 Date d'inscription mardi 10 décembre 2002 Statut Modérateur Dernière intervention 15 décembre 2014 - 25 mai 2005 à 13:25
defis91 Messages postés 65 Date d'inscription samedi 29 octobre 2005 Statut Membre Dernière intervention 8 août 2011 - 25 avril 2011 à 20:44
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/31585-acquisition-video-webcam-tv-cards

defis91 Messages postés 65 Date d'inscription samedi 29 octobre 2005 Statut Membre Dernière intervention 8 août 2011
25 avril 2011 à 20:44
Salut Kenavo,
5 ans après, la mise à disposition de ton composant bien utile, encore une remarque.
A l'époque je l'avais utilisé pour une détection de mouvement qui fonctionnait parfaitement.
Interfacé à un servo moteur, la caméra suivait les déplacements.
Je reprends ce programme pour le lancer à heure fixe et j'ai un petit problème.
Après avoir fait un capture.disconnect on ne peut pas faire un capture.connect sans le déclanchement d'une erreur fatale.
Une idée ?
Merci
Dom EFIS.
sebnet06 Messages postés 2 Date d'inscription samedi 18 novembre 2000 Statut Membre Dernière intervention 31 mars 2010
31 mars 2010 à 10:05
Merci Kenavo,
Sa marche impeccable.
cs_Kenavo Messages postés 702 Date d'inscription vendredi 21 mars 2003 Statut Membre Dernière intervention 1 octobre 2009 5
30 mars 2010 à 19:03
Salut,

Je crois que tu as des erreurs dans la récupération des valeurs U et V

// calcul des indices
n := (H * W) + ((j div 2) * (W div 2) + (i div 2));
m := (H div 2) * (W div 2) + n;

// Lecture des valeurs
U := pointbyte[n];
V := pointbyte[m];

Amuse-toi bien !

Ken@vo
sebnet06 Messages postés 2 Date d'inscription samedi 18 novembre 2000 Statut Membre Dernière intervention 31 mars 2010
30 mars 2010 à 17:42
Bonjour,

Merci pour ce composant.
J'aimerai copier l'affichage de ma camera sur un bitmap, mon problème est que elle utilise un format (IYUV et I420) et je ne parvient pas a recuperer les bonnes couleurs.

Je fait parcourir i de 0 à (Bitmap.height -1) et j de 0 à (Bitmap.width -1)
J'utilise un Bitmap de 120*160.

Y := pointbyte[i*160+j];
U := pointbyte[(i div 2)*(160 div 2) +j div 2 +(i*j)];
V := pointbyte[(i div 2)*(160 div 2) +j div 2 +(i*j) +(i*j)div 4];

Ensuite j'utilise la formule de conversion de YUV en RGB :

//Red
R := trunc(1.164*(Y - 16) + 1.596*(V - 128));
if R < 16 then R := 0;
if R > 255 then R := 255;

//Green
G := trunc(1.164*(Y - 16) - 0.813*(V - 128) - 0.391*(U - 128));
if G < 0 then G := 0;
if G > 255 then G := 255;

//Blue
B := trunc(1.164*(Y - 16) + 2.018*(U - 128));
if B < 0 then B := 0;
if B > 255 then B := 255;

et j'affiche sur mon bitmap le resultat :

Image1.Picture.Bitmap.canvas.Pixels[j,i] := RGB(R,G,B);

Je pense que je récupère mal mes composant YUV.
Quelqu'un a t' il la solution a mon problème?

Merci.
cs_krzysiu Messages postés 22 Date d'inscription mardi 13 juillet 2004 Statut Membre Dernière intervention 3 septembre 2011
27 févr. 2010 à 08:33
Bonjours,

merci pour ce composant qui fonctionne parfaitement.
J'aurais souhaiter pouvoir récupérer la valeur des couleurs des pixel en RGB dans le flux vidéo, pour pouvoir détecter la présence d'un objet de couleur. Quelqu'un aurait'il un début de piste ? Merci
alex01pernot Messages postés 1 Date d'inscription jeudi 25 juin 2009 Statut Membre Dernière intervention 9 août 2009
9 août 2009 à 09:47
bonjours,
merci pour ce super composant, par contre savez vous comment faire pour forcer un codec lors de l'enregistrement.
on peut utiliser : "capture1.compress;" mais cela ouvre une fenêtre et j'aimerai pouvoir choisir mon codec (xvid par exemple) sans avoir besoin de cliquer dessus dans la fenêtre qui s'est ouverte.

merci d'avance.
cs_aerie Messages postés 1 Date d'inscription lundi 16 mai 2005 Statut Membre Dernière intervention 12 février 2009
12 févr. 2009 à 14:22
Bonjour,

Merci pour ces sources.
Je cherchais à acquérir les images vidéo d'une webcam pour mon projet, et je suis tombée sur ton composant TCapture.
Cela m'a bien aidé.
Cependant, j'aimerais afficher une image, ou un TShape par-dessus le composant, sans incrustation, et ainsi permettre un drag'n drop de cette image ou du shape. J'ai fait hérité le TCapture du TPanel pour avoir en plus les évènements liés au drag'n drop, mais j'ai un problème.
Dès que la vidéo se met en route, l'image ou le shape est alors dissimulé.
En entrant dans le code du TCapture, je n'arrive pas à comprendre comment est affichée la vidéo dans un composant qui dérive du TCustomPanel. Il me semble qu'il n'y a pas de canvas de présent.

Merci d'avance.
brac23 Messages postés 3 Date d'inscription dimanche 2 février 2003 Statut Membre Dernière intervention 2 mai 2007
2 mai 2007 à 09:55
Bonjour,
je ne comprend pas bien pourquoi le composant ne fonction pas sur delphi 2006 :(, puis-je avoir votre soutient, Kenavo?
merci d'avance
Guss_ Messages postés 4 Date d'inscription samedi 29 juillet 2006 Statut Membre Dernière intervention 1 mai 2007
1 mai 2007 à 13:19
Toujours le même problème avec téléchargement avec Opera ou Mozilla, décompressé avec Winrar ou Izarc. Je pense que c'est Delphi qui ne doit pas interprété correctement certain caractère de mise en page.

J'ai enlevé tout les déclaration sur ces label et Bevel, mais je n'ai un souci avec Delphi, le composant installés disparaissent au redemarage de Delphi ???

Merci quand même
cs_Kenavo Messages postés 702 Date d'inscription vendredi 21 mars 2003 Statut Membre Dernière intervention 1 octobre 2009 5
30 avril 2007 à 11:29
Pas de problèmes dans le zip ! Change d'outil, IzArc par exemple, gratuit et multilingue (même breton, basque, catalan, ..... - http://www.izarc.org/index.html )
Guss_ Messages postés 4 Date d'inscription samedi 29 juillet 2006 Statut Membre Dernière intervention 1 mai 2007
29 avril 2007 à 22:00
Je pense avoir trouvé le problème.

Dans le fichier U_DemoCap.dfm
à la ligne 55 il y a pluiseurs lignes dans retour à la ligne entrelèlé de ce genre de caractère : 

Comme si le fichier était éronné.

J'ai retéléchargé le ZIP mais sans résultat.
brac23 Messages postés 3 Date d'inscription dimanche 2 février 2003 Statut Membre Dernière intervention 2 mai 2007
26 avril 2007 à 18:43
Merci @+
brac23 Messages postés 3 Date d'inscription dimanche 2 février 2003 Statut Membre Dernière intervention 2 mai 2007
26 avril 2007 à 18:41
merci Kenavo
je n'ais pas encore testé la demo mais l'effort est important, merci encore une fois et bonne continuation

@+
Guss_ Messages postés 4 Date d'inscription samedi 29 juillet 2006 Statut Membre Dernière intervention 1 mai 2007
25 avril 2007 à 01:53
Merci, la compilation de Bmp2YUV fonctionne avec $A-

Pour le reste je vais voir, peut être que le fait qu'il ne puisse pas créer la feuille a cause de Designsize, fait qu'il ne trouve pas le lbseuil donc ne peut voir la propriété de celuici.

Je vais creuser...

@+
cs_Kenavo Messages postés 702 Date d'inscription vendredi 21 mars 2003 Statut Membre Dernière intervention 1 octobre 2009 5
24 avril 2007 à 17:44
Salut

Pour Delphi 5, il est possible que la propriété DesignSize n'existe pas.
lbSeuil étant un TLabel, je ne comprends pas que la propriété Caption puisse être marquée inexistante.
Pour les directives de compilation de Bmp2YUV, je pense que $A8 ne soit pas reconnu pas Delphi 5. Essaie $A-
Pour les autres directives, essaye de la supprimer une à une jusqu'à ce que ça marche.

Bon courage

Ken@vo
Guss_ Messages postés 4 Date d'inscription samedi 29 juillet 2006 Statut Membre Dernière intervention 1 mai 2007
23 avril 2007 à 23:37
Salut, cette source me parait interessante mais je n'arrive pas à la lancer
J'utilise Delphi 5 Professionel

J'ai installé les composants avicap.pas et capture.pas

A l'ouverture du projet j'ai les erreurs suivantes:
-ne peut trouver les ficher resources ..\DemoCapture.res. Recrée. (Normal)
-Erreur lors de la lecture de DemoForm.designSize: Propriété inexistante.
-Erreur lors de la lecture de lbSeuil.caption :Propriété inexistante.
-Erreur lors de la lecture de LbSeuil
-Erreur lors de la lecture de LbSeuil
-Erreur lors de la lecture de LbSeuillbSeuil.ntrÃ'le d'enregistrement
-Erreur à la création de la fiche Erreur de lecture du flux.


Ensuite en essayant d'executer le programe j'ai ue erreur dans Bmp2YUV.pas
Directive de compilation incorrecte : '$A8,B-,C-,D-,E-,F-,G+,H+,I+,J+,K-,L-,M-,N+,O-,P+,Q+,R+,S-,T-,U-,V+,W-,X+,Y-,Z1'

Si quelqu'un à une idées pour me donné une piste.

J'utilise une camera en FireWire(IEEE1394)
PoulpHunter Messages postés 51 Date d'inscription mercredi 11 mai 2005 Statut Membre Dernière intervention 8 avril 2009
18 janv. 2007 à 19:23
Exact en capture vidéo sa marche nickel (30fps), juste c'est en preview que sa ramme... (chez moi avec un 2800+)
J'ai testé de lancer une capture sans fichier via StartCapture et la hop, sa marche correctement... mais dès que je Stop sa relague... c'est bizzard... bon enfin tant que sa marche...

Je vais essayer de faire une sorte d'Eye-toy, la j'ai déjà réussi à contrôler le volume du PC via cette source c'est franchement top :D
mais j'aimerais vraiment approfondire les capacitées de la cam...
cs_Kenavo Messages postés 702 Date d'inscription vendredi 21 mars 2003 Statut Membre Dernière intervention 1 octobre 2009 5
17 janv. 2007 à 19:02
Salut à tous ! et pardon pour le retard !

@SMIDO : Essaie de repérer la fonction qui pose problème (probablement une ligne dans OnActivate)
@GOLIASSE : Désolé, je ne pourrai pas t'aider (du moins pour le moment) n'ayant pas de carte TV
@PoulpHunter : La fonction GetDriverList(qui m'a été proposée par PHMOSSE) n'est pas indispensable à un fonctionnement basique. 30 FPS semble fonctionner (304 trames en 10,4 secondes en mode capture)
Sur Pentium Dual Core 1.86 Ghz et Logitech 500 pro

@tous : N'oubliez pas qu'il s'agit d'une démo d'un composant sans doute incomplet! Je ne peux pas tester tous les matériels et toutes le configurations !
PoulpHunter Messages postés 51 Date d'inscription mercredi 11 mai 2005 Statut Membre Dernière intervention 8 avril 2009
17 janv. 2007 à 12:06
Salut,!
Super source ! juste c'est ptéte moi, mais j'ai testé sur des PC virtuels n'ayant pas de cam, et sa plante (erreur kernell32.dll)
J'ai testé et après quelques reprises (j'ai viré l'audio car je m'en sert pas aussi) sa serais la fonction :
GetDriverList qui me fesait planter le soft...

j'ai pas eu le temps encore de bien tout analyser mais sinon j'ai matté que cette source me prennait 15-25% de mon CPU contre 30% sur pour la méthode via bitmap
c'est sympa sa !

par contre j'ai toujours pas trouver comment passer en 30 frame par seconde si quelqu'un à une solution (autre que passer sous DirectX) ???
goliasse Messages postés 1 Date d'inscription jeudi 7 octobre 2004 Statut Membre Dernière intervention 13 janvier 2007
13 janv. 2007 à 20:12
Merci Kenavo ;
Le code marche a la perfection avec les webcams mais , y a t'il une soulution pour améliorer le code afin de pouvoir exploiter la carte TV numérique DVB-s , je sais que ça demande un effort mais je suis d'accord.. pour l'aventure...! car tous les prog qui traite le domaine DVB son en C/C++ dû au lots de documentations disponible pour ces languages ...
en attente .....
smido Messages postés 1 Date d'inscription samedi 11 mars 2006 Statut Membre Dernière intervention 16 décembre 2006
16 déc. 2006 à 11:12
Salut,
Merci Kenavo pour ce composant, il est très important.

J'avez un problème: après l'ouverture du programme "DemoCapture" un message d'erreur apparaisse " Indice de liste hors limite (0)"
Comment résoudre ce problème ?
Merci beaucoup,
SMIDO
cincap Messages postés 460 Date d'inscription dimanche 5 décembre 2004 Statut Membre Dernière intervention 6 avril 2009 2
30 oct. 2006 à 09:07
Bonjour Kenavo,

J'ai testé ta source, tout fonctionne correctement. Pour ceux qui veulent choisir la source d'une autre caméra, il suffit de réouvrir une 2ième application et de choisir automatiquement une autre caméra, ce qui pourrait être utile pour faire un ensemble pour 4 caméras sur une seule fiche puisqu'apparemment, le presse papier accepte plusieures images.
Stephane_menard Messages postés 13 Date d'inscription lundi 13 juin 2005 Statut Membre Dernière intervention 11 mai 2006
29 août 2006 à 16:59
Bonjour,

quelques questions subsidiares :
- Comment savoir combien de périphériques d'acquisition sont branchés ?
- Comment connaître le nom du périphérique actuellemnt utilisé ?
- Comment régler contraste et luminosité en direct ?
- Commment faire fonctionner correctement une acquisition avec un temps définit ? (je n'y arrive pas avec l'instruction RecordOnFile)

Merci de vos réponses.
CamTre9 Messages postés 3 Date d'inscription jeudi 27 juillet 2006 Statut Membre Dernière intervention 10 décembre 2010
4 août 2006 à 12:42
Bonjour Kenavo,
Je use le code DemoCapture pour relever le mouvement de les mains, pour déterminé une position x,y moyenne et pour passée au système
mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);
setcursorpos(x,y);
sleep(50);
mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);
pour explorer un quicktime panorama sans le mouse.

J'avez un problème: si je mette le software en icone et le panorama quicktime en ?full screen? le software ne fonction pas, je pense parce que la fenêtre de DemoCapture n'est pas visible et donc la capture de webcam est enfermée.
Avez vous quelque information au regard?

Merci beaucoup,
Camillo

PS : excuse moi pour mon français!
cs_AimLess Messages postés 7 Date d'inscription mercredi 30 avril 2003 Statut Membre Dernière intervention 19 juillet 2007
9 juin 2006 à 14:39
Petite aparté (en espérant que le modérateur ne censure pas ce commentiare) :
Pour les personnes qui ont mis 1/10 à cette source, si je peux encore me permettre (et je le fais ;-) ). Elles sont des truffons (mélanges de truffes et de cons = cons de luxes) :-))))))

Mais bon, nous sommes en démocratie et comme dirait l'autre (Beaumarchais) : "Sans la liberté de blâmer, il n'est point d'éloge flatteur."

Alors encore bravo pour ton source,

Mes repects missiou et peut-être à bientôt sur la toile

Aimless

PS : Bah je suis resté courtois !!! et je suis toujours très zen c'est l'une de mes qualités ;-))))
cs_AimLess Messages postés 7 Date d'inscription mercredi 30 avril 2003 Statut Membre Dernière intervention 19 juillet 2007
9 juin 2006 à 14:27
Bonjour Kenavo,

Si je peux me permettre, je te félicite sur ce source qui m'est d'une grande utilité... Et oui des petits rigolos s'amuse à fracturer les voitures du voisinage, j'ai donc mis sous surveillance électronique mon box.

Merci pour tes travaux et vive l'open source,

Aimless, l'homme qui fait des bugs plus vite que son ombre

PS : pour Kenavo une grande hola !!! holé ;-)
cs_askil2000 Messages postés 92 Date d'inscription lundi 8 mars 2004 Statut Membre Dernière intervention 12 avril 2010
25 avril 2006 à 03:52
Merci Kenavo ! pour cette réponse rapide.
Je n'ai trop cherché j'avoue (manque de temps)
perso j'aurais voulu travailler avec le hcam il est + simple.
//Handle du periph d ela cam
hcam:=capCreateCaptureWindowA('',0,0,0,320,240,handle,0);
//Connection a la cam
sendmessage(hcam,1034,0,0);
etc ...
tu vois de koi je parle.
je pense qu'il existe un sendmessage qui puisse me demander le périf d'entrée video. je m'y connais pas suffisement pour l'affirmer, mais en tout k se serais génial.
http://vdpsys.free.fr/choix.jpg
Merci à tous !
DeltaFX Messages postés 449 Date d'inscription lundi 19 avril 2004 Statut Membre Dernière intervention 8 avril 2009 2
21 avril 2006 à 21:08
Et hop, un lien qui pourrait servir à titiller les neurones codeurs :)

http://rsb.info.nih.gov/ij/index.html
cs_Kenavo Messages postés 702 Date d'inscription vendredi 21 mars 2003 Statut Membre Dernière intervention 1 octobre 2009 5
31 mars 2006 à 11:59
Salut Askil,
Il me semble que c'est la méthode SelectDisplay. Regarde les lignes qui suivent Capture1.Connect, c'est là que sont les dialogues qui apparaissent au début (méthode FormActivate)

Ken@vo
cs_askil2000 Messages postés 92 Date d'inscription lundi 8 mars 2004 Statut Membre Dernière intervention 12 avril 2010
27 mars 2006 à 20:39
Salut Kenavo et tout les programmeurs ;)
Comme j'aime bien être le dernier à ajouter un post sur les sources hard. Voici la question qui tue :
comment afficher la fenetre de selection de la source vidéo
affin de pouvoir choisir :) Elle s'affiche 1 fois lors du lancement du prog puis enregistre (je suppose dans la bdr) le périf video de capture. => http://vdpsys.free.fr/choix.jpg

voilà merci à tous et good luck ...
medelias Messages postés 18 Date d'inscription mardi 28 octobre 2003 Statut Membre Dernière intervention 12 mars 2006
12 févr. 2006 à 15:12
salut tous,

j'ai pas pu même pas ouvrir le source en complet il me donne une erreur de type "List index out of limits (0)", d'où vient ce problème???

CHAAO
GGX91 Messages postés 1 Date d'inscription jeudi 5 janvier 2006 Statut Membre Dernière intervention 5 janvier 2006
5 janv. 2006 à 14:43
Bonjour

Bravo pour le programme !
J'ai cependant un problème avec la Preview. L'acquisition video ou Bitpmap fonctionne bien (fichiers OK), mais la preview reste invariablement noire. De plus, il est impossible de modifier la propriété Preview du composant Capture1 dans le programme de Demo, qui reste invariablement à False.

Auriez-vous une idée ? (J'utilise Delphi 7 pro)
Merci.
Stephane_menard Messages postés 13 Date d'inscription lundi 13 juin 2005 Statut Membre Dernière intervention 11 mai 2006
5 déc. 2005 à 08:58
Bonjour,

Eh bien merci Kenavo, c'est exactement ce que je voulais.
cs_Kenavo Messages postés 702 Date d'inscription vendredi 21 mars 2003 Statut Membre Dernière intervention 1 octobre 2009 5
2 déc. 2005 à 16:42
Salut Stéphane,

Tu peux modifier Capture.pas en rajoutant mmNone dans les modes de fusion :
TMergeMode = (mmNone,mmOr, mmAnd, mmMask, mmPixelMask); (reconstruire le paquet où il est installé)

En choisissant mmNone (dans l'inspecteur d'objet par exemple) tu feras que rien ne sera fait dans la procédure MaskMerge, mmNone n'étant pas référencée dans le case ... of

Je pense que celà devrait suffire
Stephane_menard Messages postés 13 Date d'inscription lundi 13 juin 2005 Statut Membre Dernière intervention 11 mai 2006
2 déc. 2005 à 14:24
Salut,

N'y a-t-il pas un moyen simple de désactiver l'incrustation pour avoir une simple capture et ainsi pouvoir capturer à des vitesses correctes sur des machines lentes ?

Merci pour tout conseil.
asmaeber Messages postés 5 Date d'inscription mardi 5 juillet 2005 Statut Membre Dernière intervention 23 novembre 2005
23 nov. 2005 à 19:45
SaLuT tous le monde.

Je voudrai realiser un serveur qui lit un flux webcam et qui l'envoie par reseau, et un client qui lit le flux envoyé.

Est ce que quelqu'un peut m'aider sur comment réaliser cela?
je me suis dis que je peux utiliser le code source d'acquisistion video et essayer d'envoyer le flux recuperé par reseau.

Merci de m'aider!!!
39mich59 Messages postés 2 Date d'inscription vendredi 3 novembre 2000 Statut Membre Dernière intervention 2 novembre 2005
2 nov. 2005 à 11:59
hum, desolé, je viens de trouver.. pour ceux que ca interesse, cela se passe dans le mergemode:=mmMask;
desolé pour la pagaille
39mich59 Messages postés 2 Date d'inscription vendredi 3 novembre 2000 Statut Membre Dernière intervention 2 novembre 2005
2 nov. 2005 à 11:03
salut,
Je fais une petite demande. Le composant marche niquel, j'ai modifié pour faire apparaitre un rectangle rouge. Mais il disparait quand l'image de la camera devient blanche. Comment faire pour garder le rectangle toujours visible? Merci.

(seul les bords du rectangle sont rouges, l'interieur est transparent)
mIch°°
astropierrot Messages postés 2 Date d'inscription lundi 5 septembre 2005 Statut Membre Dernière intervention 8 septembre 2005
8 sept. 2005 à 18:48
Je rehitere ma demande..... :-))
Je voudrais utiliser le "composant video"

Ce que j'ai comme probleme (copie d'aun autre message).

Si je double-clique sur 'DemoCapture.dpr', je rencontre un premier message d'erreur :
'Impossible de trouver le fichier ressources DemoCapture.res. Recrée.'

après avoir cliqué sur 'OK', j'en ai un deuxième :
"Erreur de lecture de la fiche"
'Classe TCapture non trouvée. Ignorer l'erreur et continuer ?'
'Remarque : ceci peut provoquer la suppression de composants'
'ou la perte de valeurs de propriétés.'

Si je clique sur 'Ignorer', j'ai accès au code et au formulaire graphique, mais je ne peux pas compiler le programme sans erreur et l'affichage ne fonctionne pas dans le composant TCapture.

Si je clique sur 'Annuler', un troisième message d'erreur apparaît :
'Erreur à la création de la fiche classe TCapture non trouvée'
Là, je peux compiler et modifier le code. La capture marche, mais je n'ai pas accès au formulaire graphique.

J'ai tenté d'installer le composant en vain dans un autre projet.


Comment faire pour faire fonctionner la démonstration correctement ?

URGENT URGENT suis presque debutant, merci de m'aider !!

cordialement

ASTROPIERROT
Ludolpif Messages postés 138 Date d'inscription samedi 11 mai 2002 Statut Membre Dernière intervention 17 mai 2007
5 sept. 2005 à 15:34
en réponse au problème de stéphane... mais ça peut servir à d'autres ;)
ah oui... j'suis, j'ai pas pensé à te dire... regardes un coup les $ID DEF ;)
Suivant les versions de Delphi, il charge un truc... en fait si C la version 5, alros il met Pointer au lieu de IDirectDrawSurface à une certaine variable (je te di ça de tête, dc C 1 peu cho pr moa ;)), parce que le cr"ateur avait constaté qu'il devait mêtre son type bizarre pour delphi 4, seulement évidement il pa pensé aux versions supérieures ;) Alros si tu veux faire propre, voit comment tu peux arranger les IF Def pour que ç définisse en pointer, autrement, vire les iddef et met Pointer à la place de IDirectDrawSurface ;)
Si t'y arrives pa, renvoi moi 1 msg, je te dirai + précisément, parce que j'ai pa tro de temps ce soir ;)
astropierrot Messages postés 2 Date d'inscription lundi 5 septembre 2005 Statut Membre Dernière intervention 8 septembre 2005
5 sept. 2005 à 15:18
bONJOUR

i am happy !!
Je suis inscris depuis 10mn, mais j'ai le meme probleme que certains.
a ca tu reponds:
c'est normal puisque je n'ai pas mis le fichier DemCapture.res dans le zip
On fait quoi dans ce cas là :-)))

Merci pour l'info; je bous (du verbe bouillir, et pas bouder !) d'impatience !
A+
AstroPierrot
Stephane_menard Messages postés 13 Date d'inscription lundi 13 juin 2005 Statut Membre Dernière intervention 11 mai 2006
26 août 2005 à 11:14
Salut,

LUDOLPIF, tout d'abord, merci de ton aide.

J'ai téléchargé l'exemple dont tu m'as donné le lien, et il me sort une erreur dans l'unité 'DirectDraw' sur la ligne :
lpDDSZBufferDest : PDirectDrawSurface; // Surface to use as Z buffer for dest


l'erreur est la suivante :
[Erreur] DirectDraw.pas(176): Le type 'IDirectDrawSurface' nécessite une finalisation - non autorisé dans enregistrement variant

Que faire ?

J'utilise Delphi 7, est ce que ça vient de là ?

Merci.
Ludolpif Messages postés 138 Date d'inscription samedi 11 mai 2002 Statut Membre Dernière intervention 17 mai 2007
26 août 2005 à 10:44
je crois tout simplement qu'il vaut mieux changer de fusil d'épuale de ne pas utiliser cette #%µ$$¨% de dll ;) En OLE et avec DirectX, ça devrais marcher bien mieux ! J'ai trouvé une super source ailleurs qu'ici, mais j'ai plus le lien... je cherche... humhum... je galère... ;) Ah ! Je trouve ;)
Perso, j'suis en train de développer un prog basé la dessus
http://www.torry.net/authorsmore.php?id=3310
voilà voilà ;)
Stephane_menard Messages postés 13 Date d'inscription lundi 13 juin 2005 Statut Membre Dernière intervention 11 mai 2006
26 août 2005 à 08:39
Bonjour,

j'ai un problème avec le composant TCapture.

J'ai un boitier d'acquisition vidéo analogique branché sur le port USB. C'est un 'Instant VideoMPX' de chez 'ADS Tech'. Il permet d'acquérir de la vidéo analogique en Composite ou SVideo.

Le format d'acquisition est 'UYVY', en diverses tailles d'image(640x480, 352x240,...), en 30 ou 60 images par secondes. Cela devrait donc fonctionner, mais au lieu de ça, l'application rame comme c'est pas possible et j'obtient une image verte.

Bien sûr, je ne peux pas acquérir.

AU SECOURS !!!!

Si quelqu'un peux m'aider !!!
phmosse Messages postés 1 Date d'inscription lundi 20 novembre 2000 Statut Membre Dernière intervention 16 août 2005
16 août 2005 à 11:12
Très bien ton Objet il serait bon d'ajouter la méthode suivante qui permet de retourner la liste des sources vidéo et affecter l'indice de la liste au Device (Capture.Device:=Combo.itemIndex):

function TCapture.GetDriverList: TStrings;
var
i: integer;
name: array[0..80] of char;
ver: array[0..80] of char;
begin
result := TStringList.Create;
for i := 0 to 9 do
if capGetDriverDescription(i, name, 80, ver, 80) then
result.Add(StrPas(name) + ' ' + strpas(ver))
else
Break;
end;

Si ça Peu Aider

Philippe à Bientot
Ludolpif Messages postés 138 Date d'inscription samedi 11 mai 2002 Statut Membre Dernière intervention 17 mai 2007
18 juil. 2005 à 18:27
Perso, je suis parti sur une autre piste : DirectX et l'OLE... Je suis tombé sur un composant tout prêt qui marche pas mal... Je ne sais pass'il est possible de gérer plusieurs webcam avec... Quand j'aurai 1 peu plus avancé, je vous ferai signe ;)
Le composant s'appelle TCapture... J'ai pas le temps ed recherche le lien, mais je vous le donnerai ;)
Nicolas___ Messages postés 992 Date d'inscription jeudi 2 novembre 2000 Statut Membre Dernière intervention 24 avril 2013 1
15 juil. 2005 à 19:44
Bon je sais que je suis un peu a la bourre pour te le dire mais voila vaut mieux tard que jamais

Donc ::=>

Ton prog et ton compo , ils sont vraiment excellents vraiment ce que je voulais voir,
Je dis simplement Chapeau et Meric Bcp pour Ta source

Slt
Nico
@+
cs_Kenavo Messages postés 702 Date d'inscription vendredi 21 mars 2003 Statut Membre Dernière intervention 1 octobre 2009 5
9 juil. 2005 à 08:18
Salut,

N'ayant qu'un périph, je n'ai pas fait d'essais. Je pensais que la propriété Device servait à ça, mais effectivement, elle ne sert qu'à sélectionner le Driver. Je se sais pas comment contourner le dialogue de sélection de source. Désolé !

Ken@vo
Ludolpif Messages postés 138 Date d'inscription samedi 11 mai 2002 Statut Membre Dernière intervention 17 mai 2007
6 juil. 2005 à 11:16
J'ai beau fouiller... Je ne voit pas comment SELECTIONNER un périphérique dans le cas où il n'est pas unique...
Exemple de cas concret bien enbêtant :
J'ai 1 carte WinTV, et une webcam... Et par défaut, je risque de choper la télé... Je compte pas afficher à chaque fois que je lance le prog la dialog box générique Micr$oft pour changer la source vidéo quoi...
Si quelqu'un a l'info, ça serai cool car vaut mieux 1 qui sait en informatique que 10 qui cherchent !
NB : J'ai regardé sur MSDN mais j'ai pas trouvé...
Je sais séldectoinner le DRIVER avant de m'y connecter desus...Seulement, dans mon cas, c'est un seul driver qui gère mes deux sources...
Stephane_menard Messages postés 13 Date d'inscription lundi 13 juin 2005 Statut Membre Dernière intervention 11 mai 2006
4 juil. 2005 à 08:33
Re-salut,

Avant qu'on ne me pose la question, le message d'erreur que je reçois est le suivant :

Violation d'accès à l'adresse 00456680 dans le module 'DemoCapture.exe'. Lecture de l'adresse 00B20000.

Merci de votre aide,

Stéphane.
Stephane_menard Messages postés 13 Date d'inscription lundi 13 juin 2005 Statut Membre Dernière intervention 11 mai 2006
4 juil. 2005 à 08:06
Salut Ken@vo,

La capture fonctionne bien avec une webcam 'Philips ToUCam Pro 2', en USB ; par contre je n'y arrive pas avec une camera 'Panasonic NV-GS11' que ce soit en USB ou en FireWire. Ca fonctionne quand même si je mets la camera en mode webcam, mais c'est pas le but.

Une idée ?
cs_Kenavo Messages postés 702 Date d'inscription vendredi 21 mars 2003 Statut Membre Dernière intervention 1 octobre 2009 5
17 juin 2005 à 15:43
Sans doute un problème de reconnaissance du format vidéo.
TCapture.VideoFormat retourne une chaine donnant une info sur le format. Vu mon matériel, je n'ai testé que 'RGB', 'UYVY' et 'YUY2'. Si tu as un autre format (YUV ou autre) il peut y avoir un problème.
Le composant lui-même n'a pas beaucoup changé (juste la propiété VideoFormat et la fonction GetVideoFormat)
Le programme de démo précédent devrait tourner de la même façon

Ken@vo
Stephane_menard Messages postés 13 Date d'inscription lundi 13 juin 2005 Statut Membre Dernière intervention 11 mai 2006
17 juin 2005 à 14:49
Salut,

Ben euh depuis la mise à jour j'ai une image rose ???

Si quelqu'un a une idée, je suis preneur !

Merci.

Stéphane.
Stephane_menard Messages postés 13 Date d'inscription lundi 13 juin 2005 Statut Membre Dernière intervention 11 mai 2006
16 juin 2005 à 08:36
Merci de votre aide.

Ca fontionne maintenant, et c'est vraiment un beau composant !

Encore merci.
Stephane_menard Messages postés 13 Date d'inscription lundi 13 juin 2005 Statut Membre Dernière intervention 11 mai 2006
14 juin 2005 à 12:57
bonjour,

je travaille avec delphi 7 edition professionlle et je rencontre des problèmes avec la démonstration du composant d'acquisition video.

Si je double-clique sur 'DemoCapture.dpr', je rencontre un premier message d'erreur :
'Impossible de trouver le fichier ressources DemoCapture.res. Recrée.'

après avoir cliqué sur 'OK', j'en ai un deuxième :
"Erreur de lecture de la fiche"
'Classe TCapture non trouvée. Ignorer l'erreur et continuer ?'
'Remarque : ceci peut provoquer la suppression de composants'
'ou la perte de valeurs de propriétés.'

Si je clique sur 'Ignorer', j'ai accès au code et au formulaire graphique, mais je ne peux pas compiler le programme sans erreur et l'affichage ne fonctionne pas dans le composant TCapture.

Si je clique sur 'Annuler', un troisième message d'erreur apparaît :
'Erreur à la création de la fiche classe TCapture non trouvée'
Là, je peux compiler et modifier le code. La capture marche, mais je n'ai pas accès au formulaire graphique.

J'ai tenté d'installer le composant en vain dans un autre projet.


Comment faire pour faire fonctionner la démonstration correctement ?

Comment faire pour pouvoir utiliser le composant dans un autre programme Delphi ? Comment l'installer correctement?
JLF26 Messages postés 2 Date d'inscription mardi 7 juin 2005 Statut Membre Dernière intervention 11 juin 2005
11 juin 2005 à 23:53
Excellent travail pour ce composant de capture pour delphi.

Encore bravo.
jmp77 Messages postés 1119 Date d'inscription lundi 4 février 2002 Statut Membre Dernière intervention 4 octobre 2006 7
6 juin 2005 à 13:33
Hello tous le monde,

Bravo Kenavo c'est une très bonne source.

Pour ma part je ne suis pas connaisseur du traitement d'image ou video avec delphi et c'est super interessant.

Merci à toi.

Ca merite un bon 9/10 pour moi.

Bonne continuation et bon Chouchen !!!!
cs_Ralpho Messages postés 10 Date d'inscription dimanche 18 avril 2004 Statut Membre Dernière intervention 30 août 2007
1 juin 2005 à 17:32
Demat,
Bravo pour ta source, trugarez kenavo
cs_MAURICIO Messages postés 2106 Date d'inscription mardi 10 décembre 2002 Statut Modérateur Dernière intervention 15 décembre 2014 5
27 mai 2005 à 11:25
Merci Kenavo pour ce link. Je viens de telecharger un compo avec sa source :)
Je suis désolé de t' avoir découragé ... Par contre, je verrai bien l' exploitation de ton source pour faire un prog. pour manipuler les fenetres de windows à la "minority Report". Ça doit pas être dûr pour toi je pense. Et puis apres tout: rien ne se crée, tout se transforme, non?
cs_Kenavo Messages postés 702 Date d'inscription vendredi 21 mars 2003 Statut Membre Dernière intervention 1 octobre 2009 5
25 mai 2005 à 22:34
Mauricio > Je connaissais pas Eye-Toy, et maintenant que j'ai vu, je suis totalement découragé ! Je bosse pour améliorer la reconnaissance de mouvement (plusieurs zones, vitesse et direction ...), mais là ! Je te remercie pour m'avoir fait entrevoir la profondeur de ma médiocrité ;-)
Pour ton Pb de scan : http://www.torry.net/quicksearchd.php?String=twain&Title=Yes

WhiteHippo > Le phénomène d'incrustation dont tu parles doit être du à un flux vidéo orignal compressé. Il faut configurer la caméra en RVB 24 bits si possible. Car non content d'être compressé, il y a en plus l'ordre des lignes qui est inversé. Mais à la fin du chouchen le problème n'est plus trop visible ! :-))

Ken@vo
WhiteHippo Messages postés 1154 Date d'inscription samedi 14 août 2004 Statut Membre Dernière intervention 5 avril 2012 3
25 mai 2005 à 20:01
Chez moi, j'ai le texte d'incrustation qui pose problème. C'est comme si on avait effectué une symetrie horizontale sur ce texte, qui se retrouve en haut et non tête bêche. Bref, c'est plutot bizarre.... J'ai pas le temps de chercher maintenant pour savoir si cela viens de mes paramètres de caméra, mais je vérifierais plus tard.
Je jetterais également un coup d'oeil au code.

N.B. Y'a du taf là dessous Kenavo, elle doit être belle la bouteille de chouchen :P

Cordialement.
cs_MAURICIO Messages postés 2106 Date d'inscription mardi 10 décembre 2002 Statut Modérateur Dernière intervention 15 décembre 2014 5
25 mai 2005 à 13:25
Oui Z vu la capture de la capture de la capture.
Malheureusement, je pourrai tester ce prog. que chez moi :(
Mais je te felicite de te jeter sur un tel compo!
Vu ta passion pour les jeux, quand est-ce que tu nous fait un jeu "Eye-toy" comme sur la Playstation?
Je cherche un compo (avec source) pour scanneriser, tu sais po où trouver ça?
Rejoignez-nous