Bonjour

j'ai cherché à résoudre mon problème toute la nuit et je ne trouve pas de solution; Voici le message d'erreur :

"Erreur de segmentation (core dumped)"

Voici la fonction qui fait bugger à l'execution.
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
 
Mat BlurringFBA (Mat vfft)
{
int i=0, j=0;
int n = vfft.rows;
int m = vfft.cols;
Mat win(n, m, CV_32FC1);
Mat wout(n, m, CV_32FC1);
 
for (i=0;i<n;i++)
	for (j=0; j<m; j++)
		{
			Vec3b v = vfft.at<Vec3b>(i,j);
			v[0] =1/3*( fabs(v[0]) + fabs(v[1]) + fabs(v[2])) ; 
			win.at<double>(i,j)=v[0];
		}  
double var = min(m,n)/50;
GaussianBlur(win, wout, Size(3,3) , var, var);  
return wout;	
}
cette fonction est appelée plusieurs fois dans le main() mais à l’exécution, elle s'appelle une fois et plante ensuite, avant même d’être rappelée, pour preuve, malgré :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
Mat w1 = BlurringFBA (vfft1);
cout<<"hello"<<endl;
Mat w2 = BlurringFBA (vfft2);
l'affichage de "hello" ne se fait pas sur le terminal.

Quelqu'un peut-il m'expliquer comment éviter ce genre de plantage et me donner une solution dans ce cas précis ?

Merci