Bonjours
je travaille sur le traitement des images binaire et pour cela j utilise la bibliothèque Opencv et la je me suis trouver un peux perdu d une syntaxe qui me provoque une erreur a l exécution voici mon code source /* on generale il fait la mise en echelle de deux image(zoom avant arriere)*/

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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
 
int s1,s2;
img1=cvLoadImage("C:/Users/ATHMANE/Desktop/chien-01.bmp");
img2=cvLoadImage("C:/Users/ATHMANE/Desktop/chien-05.bmp");
float larg1=img1->width;
int haut1=img1->height;
float larg2=img2->width;
int haut2=img2->height;
//On calcul la surface de nos deux images
 
s1=calcul_surf(img1);
s2=calcul_surf(img2);
 
 
cout << s1 << endl;
cout<<endl;
cout << s2 << endl;
 
 
if (s1<s2)
{IplImage *Mimg1= cvCreateImage(cvSize(larg2,(haut1/larg1)*larg2), img1->depth,img1->nChannels);
cvResize(img1,Mimg1, CV_INTER_LINEAR);
s1=calcul_surf(Mimg1);
 
while(s1<s2)
{larg2=larg2+(larg2*0.002);
IplImage *pic= cvCreateImage(cvSize(larg2,(haut1/larg1)*larg2), img1->depth,img1->nChannels);
cvResize(Mimg1,pic, CV_INTER_LINEAR);
s1=calcul_surf(pic);
}
 
if (s1>s2)
{while((s1-s2)>0)
{larg2=larg2-(larg2*0.005);
IplImage *pic= cvCreateImage(cvSize(larg2,(haut1/larg1)*larg2), img1->depth,img1->nChannels);
cvResize(Mimg1,pic, CV_INTER_LINEAR);
s1=calcul_surf(pic);
}
}
 
cout << s1 << endl;
cout<<endl;
}
 
else
{IplImage *Mimg2= cvCreateImage(cvSize(larg1,(haut2/larg2)*larg1), img2->depth,img2->nChannels);
cvResize(img2,Mimg2, CV_INTER_LINEAR);
s2=calcul_surf(Mimg2);
 
while(s2<s1)
{larg1=larg1+(larg1*0.005);
IplImage *pic= cvCreateImage(cvSize(larg1,(haut2/larg2)*larg1), img2->depth,img2->nChannels);
cvResize(Mimg2,pic, CV_INTER_LINEAR);
s2=calcul_surf(pic);
}
 
if (s2>s1)
{while((s2-s1)>0)
{larg1=larg1-(larg1*0.005);
IplImage *pic= cvCreateImage(cvSize(larg1,(haut2/larg2)*larg1), img2->depth,img2->nChannels);
cvResize(Mimg2,pic, CV_INTER_LINEAR);
s2=calcul_surf(pic);
}
}
 
cout << s2 << endl;
cout<<endl;
}
je suppose que le problème est dans la partie de la boucle while car je n en suis pas sur de cette ecriture

cordialement