Bonjour Tout le monde,

Je suis entrain de réalisé un petit programme ou je charge une image et ensuite j'applique le filtre cvLaplacien() sur cette image. Par la suite je parcours l'image pixel par pixel et j'aimerais détecter le passage par zéro du Laplacien en comparent chaque pixel avec le signe du pixel suivant (horizontalement et verticalement) et c'est exactement là ou je suis bloquer!! Si le pixel subit un changement de signe par rapport au pixel suivant je vais l'enregistrer dans une nouvelle image sauf que je suis bloquer dans l'étape d'avant.

Voici le code que j'ai mis en place :
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
 
 
int main( int argc, char** argv ) {
 
IplImage* img = 0;  
IplImage* img2 = 0; 
 
 
// Charger image originale
img = cvLoadImage( "../Moon.jpg", 0);
 
// create image
img2 = cvCreateImage(cvSize(img->width,img->height), IPL_DEPTH_32F ,1);
 
// Appliquer filtre laplacien 
cvLaplace(img, img2);
 
//Enregistrer l'image
cvSaveImage("../test.jpg",img2);
cout << "Image width  : " << img2->width << "\n"; 
cout << "Image height : " << img2->height << "\n"; 
cout << "-----------------------------------------\n";
 
 // Parcourir l'image pixel par pixel
 CvScalar pixel;
 for(int row = 1; row < ((cvGetSize(img2).height)-1); ++row) {
	 for (int col = 1; col < ((cvGetSize(img2).width)-1); ++col) {
 
		pixel = cvGet2D(img2,row,col);
		if((pixel*cvGet2D(img2,row-1,col))<0) // Je peux pas utiliser l'opérateur * ici et je sais pas pk ??
		{
 
		}
}
 
 // creation de la fenetre
cvNamedWindow("Aprés traitement", CV_WINDOW_AUTOSIZE); 
cvMoveWindow("Aprés traitement", 650, 100);
 
 // show the image
 cvShowImage("Avant traitement", img );
 cvShowImage("Aprés traitement", img2 );
 
// wait for a key
cvWaitKey(0);
 
cvDestroyWindow("Avant traitement");
cvDestroyWindow("Aprés traitement");
cvReleaseImage(&img);
cvReleaseImage(&img2);
 
return 0; 
 
 }
Merci d'avance