Faire du traitement vidéo...

cs_Crepuscule3 Messages postés 24 Date d'inscription samedi 13 octobre 2007 Statut Membre Dernière intervention 25 novembre 2008 - 27 nov. 2007 à 16:40
cs_Crepuscule3 Messages postés 24 Date d'inscription samedi 13 octobre 2007 Statut Membre Dernière intervention 25 novembre 2008 - 12 févr. 2008 à 12:11
Bonjour à tous,


   je suis étudiant de master en électronique et je souhaite
faire du traitement vidéo sur un flux vidéo MJPEG. Pour cela j'utilise
une camera IP : AXIS 207MW.

Afin d'acquérir la vidéo, j'utilise le programme délivré par AXIS.
C'est un programme en C++, faisant appel à des control ActiveX pour
prendre la vidéo sur le serveur IP d'où elle vient.

Je souhaiterais maintenant faire un traitement vidéo sur ce flux
capturé, mais je n'arrive pas à avoir accès aux pixels de chaque image.

Si certains ont déjà travailler là dessus, pourriez vous m'aider?

Actuellement, je tente d'utiliser la fonction GetCurrentImage afin
d'avoir en retour une image JPEG en buffer, mais je ne sais pas comment
l'utiliser.

Ensuite, je recherche un code source (fonctionnant sous visual C++ pro 2005) permettant :

   - soit, de faire directement un traitement dessus (détection de contours)

   - soit, de convertir une image jpeg en bmp (sachant que
cette dernière image n'est pas enregistrée dans un fichier mais dans un
buffer).


Please... HELP!!!


Crepuscule3

3 réponses

cs_rt15 Messages postés 3874 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 7 novembre 2014 13
27 nov. 2007 à 18:16
Salut,


Déjà, voici un petit exemple en vb, pour se fixer les idées (Récupéré de cette doc):
Dim b As Variant

Dim Size As Variant

Dim a() As Byte

Call CamImage1.GetCurrentImage(b, Size)

a() = b

Open "C:/Test.jpg" For Binary Access Write As #1

Put #1, , a()

Close #1


Bon, tu à l'air de récupérer les octets de ta jpeg... Bon y a de l'OLE qui doit foutre le boxon, m'enfin...


Avec CxImage, tu doit pouvoir convertir ces octets en quelque chose de plus comestible.

On remarque en effet ce code (Intitulé decode an image from memory):
CxImage image((BYTE*)buffer,size,image_type);

3ème année en ecole d'ingé d'info cherche stage de 4 mois à partir du 01/04/08
0
cs_karim1681 Messages postés 3 Date d'inscription mardi 27 novembre 2007 Statut Membre Dernière intervention 6 décembre 2007
3 déc. 2007 à 18:01
Bonjour,
J'ai presque le même problème que vous, en effet, je suis nouveau en traitement d'image je travail sur des videos et je cherche un code source qui permet de faire la detection de contour d'une personne filmée sur un fond vert.
Savez-vous comment faire SVP ?.
Merci d'avance.
A bientôt
0
cs_Crepuscule3 Messages postés 24 Date d'inscription samedi 13 octobre 2007 Statut Membre Dernière intervention 25 novembre 2008
12 févr. 2008 à 12:11
Bonjour,

   je suis désolé de ne répondre que maintenant, cela fait pas mal de temps que je ne suis pas venu sur le site et comme je n'ai pas reçu de mail pour m'avertir de votre question je ne pouvais pas savoir que vous attendiez une réponse.

   Quoiqu'il en soit, pour votre problème d'obtenir les contours sur une image avec un fond vert, si c'est toujours d'actualité, je peux éventuellement vous mettre sur une piste, mais j'aurais besoin d'en savoir plus. Par exemple, avec quel logiciel programmez vous ce code source?

Quelques pistes sinon : cherchez du côté des algorithmes de sobel, Kirch. Perso j'ai travaillé récemment sur un algorithme par voisinage, c'est pas mal je trouve. Après, je ne suis pas sûr que se soit le plus performant pour faire de la vidéo temps réel. Sinon, je ne sais pas sur quel format d'image vous travaillez. Cela est très important. Le plus pratique et facile est de travailler avec des image bitmap (c'est ce que j'ai réussis à utiliser pour mon projet de traitement vidéo en temps réel), car vous obtenez un tableau à 2 dimensions correspondant à vos pixels (ce qui n'est pas le cas avec du JPEG par exemple). Par ailleurs, il me serait utile de connaitre le résultat que vous souhaitez obtenir, car si vous travaillez avec un fond vert, je suppose que c'est pour faire un film. Un traitement de sobel pourrait être plutôt moche dans ce cas, mais tout dépend du résultat que vous souhaitez.

Enfin voilà, n'hésitez pas à m'écrire, j'essairai de regarder ce message de temps en temps si je ne reçois pas d'avertissement par mail.

Cordialement

Crepuscule3
0
Rejoignez-nous