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