Problème d'allocation mémoire C++ / OpenCV
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:
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:
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