Gestion caméra

Résolu
magic_Nono Messages postés 1878 Date d'inscription jeudi 16 octobre 2003 Statut Membre Dernière intervention 16 mars 2011 - 6 sept. 2004 à 10:54
magic_Nono Messages postés 1878 Date d'inscription jeudi 16 octobre 2003 Statut Membre Dernière intervention 16 mars 2011 - 12 mai 2007 à 16:14
Ceci n'est pas une question mais une réponse à un mail envoyé directement...

la question:

salut,
j'ai vu que tu avais des connaissances sur l'acquisition d'image! cela m'interesse voila:

Nous avons conçu un petit programme de traitement d'images ( seuillage, etiquetage etc...) sous MFC visual c++. Ce logiciel traite des images .bmp ou .jpg pré-enregistrées sur le PC. Le logiciel comprend plusieurs icones qui éxecute les fonctions de traitement d'images.

Possédant maintenant une carte d'acquisition video et une caméra, on souhaiterai ajouter un icone qui lance automatiquement une acquisition image plus un enregistrement. Est-il possible sous visual c++ MFC de programmer des lignes de code qui commande la carte d'acquisition.(acquisition images + enregistrement).
si non que dois t-on utiliser afin de pouvoir commander a l'aide d'un programme l'acquisition d'images et l'enregistrement d'images?

on nous conseille sdk, dirct shows! mais nous ne sommes pas des pro de la logistique informatique! on a telechargé directx9 sur le net mais que doit on faire avec! nous ne comprenons pas ce que direct show va nous permettre de faire. comment programmer l'acquisition? on le fait ds visual et il faut créer des repertoires dans visualc++ qui ira chercher les infos dans directshow? quelqu'un pourrait nous eclairer et nous guider!

nous aimerions que le traitement et l'acqui fonctionne sous visual c++

help me merci beaucouuuuuuuuuuup

_________________________

la réponse:

Bj

ds le cadre de mon stage, G créé une appli VC++6

gérant des caméras 1394

et G testé deux librairies afin de faciliter l'utilisation:
IS & Carnegie Mellon

IS utilise les DirectX et les stl et c'est celle retenue pour les appli de la boite ou je suis

cependant, sa période d'essai est limitée ds le tps

la bibli de Carnegie Mellon est libre mais plus bas niveau

URLs:
Librairies
Matrox : Matrox Imaging library : Ancienne librairie
Imaging Source : http://www.1394imaging.com : librairie choisie
Carnegie Mellon University (CMU) : Bibli libre - "CMU 1394 Digital Camera Device"
cbaker+iwan1394@cs.cmu.edu .
TODO : URL ou les télécharger ou site ou HET
http://www-2.cs.cmu.edu/~iwan/1394

après, je ne connais ni le type de caméra que vous voulez utiliser ni votre budget
alors voici déjà de quoi démarrer....

Magic Nono: l'informagicien! 8-)

32 réponses

magic_Nono Messages postés 1878 Date d'inscription jeudi 16 octobre 2003 Statut Membre Dernière intervention 16 mars 2011
6 sept. 2004 à 11:07
Inventé par Apple et normalisé par l'IEEE sous la référence 1394, Le standard 13-94, High Speed FireWire IEEE 1394 est maintenant très répandu dans le monde PC et dans le multimédia , en particulier grâce aux caméscopes et autres caméras.

Le firewire (norme IEEE 1394) concurrence la norme usb ...

L'USB 2.0 sera donc un bon choix, quand as une utilisation classique :
imprimante, scanner, modem, disque dur externe
Le firewire, un peu plus cher se contentera du travail de "gros":
acquisition vidéo, réseaux IEEE 1394b, gros chaînage de HD externe firewire etc...

Actuellement, l'USB est le plus répandu, cependant, il est à noter que le firewire consomme moins en ressources que l'USB et, même s'il n'est pas encore présent sur toutes les cartes mères, il tend à se diffuser de plus en plus.

En outre, par rapport à l'USB, Firewire présente l'avantage de permettre les communications de périphérique à périphérique sans la présence nécessaire d'un maître (donc deux caméscopes peuvent échanger de la vidéo sans nécessairement la présence d'un micro-ordinateur).

(ça se voit que je suis en train de rédiger mon rapport??)
++

Magic Nono: l'informagicien! 8-)
3
magic_Nono Messages postés 1878 Date d'inscription jeudi 16 octobre 2003 Statut Membre Dernière intervention 16 mars 2011
9 mars 2005 à 08:56
Imaging Sources


une société allemande assez réactive qui a produit des librairies....




http://www.1394imaging.com



++

PS je ne gagne rien à leur faire de la pub....

mais ils sont pro et réactif, j'ai pu apprécié ceci :

quelques jour, après leur avoir signalé un bug, il l'ont résolu et nous ont envoyé les nouveaux fichiers....
3
samuelbrie Messages postés 35 Date d'inscription lundi 4 octobre 2004 Statut Membre Dernière intervention 20 avril 2005
15 avril 2005 à 12:58
La copie d'écran ne donnera pas la qualité maximum, uniquement, si la
visualisation n'est pas à 100%. Si tu n'as pas de traitement à faire
sur l'image, je sais pas si c'est utile de récupérer le pointeur sur
l'image, d'écrire l'entete du fichier et de le mettre en forme (C'est
que quelques lignes, mais si tu ne l'as jamais fait, se sera
long...mais pas inintéressant.



Pour Nono : J'ai contacté 1394Imaging, c'est clair, ils sont pro, les
moins cher du marché, mais ils m'annoncent 3 semaines pour la livraison!
3
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
6 sept. 2004 à 11:04
des caméras 1394, tu veux dire des cameras connectées sur un port firewire ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
6 sept. 2004 à 11:10
ouai ouai
0
cs_eRoZion Messages postés 241 Date d'inscription vendredi 23 mai 2003 Statut Membre Dernière intervention 8 octobre 2007 1
7 sept. 2004 à 02:37
lol
En tous cas ça a le mérite d'être clair. ;)
0
magic_Nono Messages postés 1878 Date d'inscription jeudi 16 octobre 2003 Statut Membre Dernière intervention 16 mars 2011
7 sept. 2004 à 08:57
;)

Magic Nono: l'informagicien! 8-)
0
cs_LordBob Messages postés 2865 Date d'inscription samedi 2 novembre 2002 Statut Membre Dernière intervention 11 mai 2009 9
7 sept. 2004 à 21:25
salut, moi je cherche des librairies, mais pour camera USB...
Bob...

"La chance accorde ses faveur aux esprits avertis..."
0
samuelbrie Messages postés 35 Date d'inscription lundi 4 octobre 2004 Statut Membre Dernière intervention 20 avril 2005
4 mars 2005 à 20:31
Salut,

Je suis en stage et je vais acheter une caméra
industrielle 1394 (AVT Marlin pour ceux qui commaissent). Par contre je
vais la trigger avec un capteur (au passage de ma pièce) et je se sais
pas comment je vais faire pour récupérer l'image à cet instant et pas à
un autre. Je sais pas si le callback va se déclencher quand il faut.



Je ne trouve pas la library qu'il faut utiliser.

Help me please,



Samuel
0
magic_Nono Messages postés 1878 Date d'inscription jeudi 16 octobre 2003 Statut Membre Dernière intervention 16 mars 2011
8 mars 2005 à 09:29
Essaie donc avec IS...



rien de promis, car le mode trigger n'a pas été testé au cours de ce stage...



Bon courage

++

Nono.
0
homerde Messages postés 16 Date d'inscription samedi 2 octobre 2004 Statut Membre Dernière intervention 6 juillet 2007
9 mars 2005 à 00:17
salut , c est quoi "IS...."?
0
martinbrochet Messages postés 33 Date d'inscription jeudi 24 avril 2003 Statut Membre Dernière intervention 25 mai 2005
14 avril 2005 à 18:56
bonjour pour le moment moi j'arrive à afficher le flux venant d'une
webam vers un picture controle ceci grace à une lib qui gere diférente
source mais je voudrai capture l'image a l'aide d'un petit bouon Ok (le
tout sous MFC) une idee??? un conseil?????



merci si vous voulez la lib la voilou http://codeguru.com/Cpp/G-M/directx/directshow/article.php/c7243/



Merci


Martin B
0
samuelbrie Messages postés 35 Date d'inscription lundi 4 octobre 2004 Statut Membre Dernière intervention 20 avril 2005
14 avril 2005 à 19:07
Tu peux utiliser une copie d'écran, cela est disposur le site, mais je sais pas trop ou. Bon courage
pour la suite, car l'image, c'est pas une partie de plaisir
0
martinbrochet Messages postés 33 Date d'inscription jeudi 24 avril 2003 Statut Membre Dernière intervention 25 mai 2005
15 avril 2005 à 10:02
merci pour l'idee je la garderai en roue de secours car la copie
d'ecran c'est peut etre un peu cra cra ??? ou alors on peut
selectionner un handle ??? si tl est le cas c'est moins cra cra



d'autre zidé ?

Martin B
0
magic_Nono Messages postés 1878 Date d'inscription jeudi 16 octobre 2003 Statut Membre Dernière intervention 16 mars 2011
15 avril 2005 à 10:11
tu peux directement récupérer l'image en faisant une copie du buffer interface à l'instant t.

(bloc le en écriture le tps de le copier)


après utilisation de lib pr en générer l'image au format désiré



Sam> copier l'écran nuierai fortement la qualité à mon avis



Bonne prog
___________________________________________________________
Magicalement
Nono
0
martinbrochet Messages postés 33 Date d'inscription jeudi 24 avril 2003 Statut Membre Dernière intervention 25 mai 2005
15 avril 2005 à 10:16
il me reste à trouver où taper



merci beaucoup et je confirme la copie d'ecran donnerai un resultat pas
top et je doit avoir un beau et jolie jpg je vous tien au courant

Martin B
0
martinbrochet Messages postés 33 Date d'inscription jeudi 24 avril 2003 Statut Membre Dernière intervention 25 mai 2005
15 avril 2005 à 15:04
tu pourrais m'expliquer un peu plus a koi il ressemble le pointeur interface ???



pour GetVideoSize de la class IBasicVideo j'ai droit à une superbe erreur à l'exe vous avez une idee ??



Exception non gérée à 0x7046c700 dans CER.exe:0xC0000005: Violation d'accès lors de la lecture de l'emplacement 0x7046c700.






// Stop previewing data

long buffersize;

long *pdibimage;

pdibimage=NULL;

long Width=0, Height=0;



m_pBSMoniker->GetCurrentImage (&buffersize,pdibimage);



j'ai essayé avec cette fonction idem

m_pBSMoniker->GetVideoSize(&Width,&Height);



la release elle passe

Release();



a oui sachant que je n'y connais rien en directshow et que j'ai ca avant





// Obtain interfaces for media control and Video Window

hr = m_pFilterGraph->QueryInterface(IID_IMediaControl,(LPVOID *) &m_pMCMoniker);

if (FAILED(hr))

return hr;

//j'ai rajouté ca par rapport à la lib d'origine

hr = m_pFilterGraph->QueryInterface(IID_IMediaControl,(LPVOID *) &m_pBSMoniker);

if (FAILED(hr))

return hr;



hr = m_pFilterGraph->QueryInterface(IID_IVideoWindow, (LPVOID *) &m_pVWMoniker);

if (FAILED(hr))

return hr;



hr = m_pFilterGraph->QueryInterface(IID_IMediaEvent, (LPVOID *) &m_pMEMoniker);

if (FAILED(hr))

return hr;







une idée peut etre ....






Martin B
0
samuelbrie Messages postés 35 Date d'inscription lundi 4 octobre 2004 Statut Membre Dernière intervention 20 avril 2005
15 avril 2005 à 16:55
Tu as un problème de taille de pointeur, il faut que tu test avec le
debugueur en mode pas à pas pour trouver la vrai taille de ton image.
Sinon moi pas connaitre DirectX pour l'instant...
0
martinbrochet Messages postés 33 Date d'inscription jeudi 24 avril 2003 Statut Membre Dernière intervention 25 mai 2005
15 avril 2005 à 17:28
ben oui mais dans le genre boite noire tu fait pas mieux je peux entre
dans la fonction pour essayer de comprendre ce qui se passe donc je
suis un peu beuacoup dans la merde j'ai une autre question j'ai
l'impression que je n'ai pas bien init mes graph est ce que quelqu'un
qui si connais pourrais regarder ca merci

a oui en faite cette fonction tu l'appelle avec la taille à null elle
te renvoie la taille et tu init ton buffer et tu la rappelle et la oh
miracle le buffer contient une belle photo, ca c'est la belle théorie
de msdn mais dans la réalité c moins rigolot

en fin je v bien finir par trouve un moyen de récupérer ce buffer



merci encore


Martin B
0
martinbrochet Messages postés 33 Date d'inscription jeudi 24 avril 2003 Statut Membre Dernière intervention 25 mai 2005
15 avril 2005 à 19:07
allo allo j'essaye ta capture d'ecran en desewspoire de cause et elle
me parait pas mal mais je récupère une image noir pourquoi?? tu a une
idée??? peut faire une pause

Martin B
0
Rejoignez-nous