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.
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
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; }
l'affichage de "hello" ne se fait pas sur le terminal.
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);
Quelqu'un peut-il m'expliquer comment éviter ce genre de plantage et me donner une solution dans ce cas précis ?
Merci
Partager