Bonjour � tous,
je suis en 2�me ann�e de master orient� �lectronique, donc pas un pro du langage C++. Cependant, dans le cadre du projet de fin d'�tude, mon groupe et moi-m�me avons d�cid� de faire du traitement vid�o en C++. Nous poss�dons une camera AXIS 207MW et un programme API du constructeur de la camera. Celle-ci �met en wifi un flux MJPEG que nous arrivons � receuillir avec ce programme. Cependant, pour imposer notre algorythme de d�tection des contours sur la vid�o (d�j� d�velopp� sur le flux d'une webcam quelconque), nous souhaiterions nous cr�er un acc�s � un tableau de pixels.
Voici le bout de programme concern� que nous avons d�velopp�:
-----------------------------------------------------------------------
-----------------------------------------------------------------------
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30 VARIANT Tampon; VARIANT vDataType; VARIANT vType; SAFEARRAYBOUND bounds; long LongueurTampon = 0; this->UpdateData(); // Set the media URL and the media type m_AMC.SetMediaURL("http://" + m_ipText + "/axis-cgi/mjpg/video.cgi"); m_AMC.SetMediaType("mjpeg-unicast"); try { // Starts the download of the mjpeg stream from the Axis camera/video server m_AMC.GetCurrentImage(1, &Tampon, &LongueurTampon); bounds.cElements = LongueurTampon; bounds.lLbound = 0; vDataType.vt = VT_ARRAY |VT_UI1; vDataType.parray = SafeArrayCreate(VT_UI1, 1, &bounds); vType.vt = VT_ARRAY|VT_I4; vType.intVal = 1; void *pDest; SafeArrayAccessData(vDataType.parray, &pDest); BYTE *buffer = new BYTE[LongueurTampon]; memcpy(buffer,(BYTE*) pDest, LongueurTampon); SafeArrayUnaccessData(vDataType.parray); delete [] buffer; m_AMC.Play();
Je n'ai mis l� que le bout de programme essentiel. Le probl�me que nous rencontrons actuellement est que nous ne savons pas comment obtenir notre tableau de pixels (dont nous pouvons r�gler sur 256 valeurs le rouge, vert et bleu) � 2 dimensions.
Etant novice dans ce domaine, je suppose que pas mal d'entre vous avez d�j� exp�riment� ce genre d'application. Si vous pouviez m'aider, me donner une piste ou des bouts de codes, je vous en serais tr�s reconnaissant.
Cordialement,
Crepuscule3
Partager