Segmentation fault

di il
1 risposte

Segmentation fault

Ciao a tutti!

sto lavorando su un programma che sfrutta opencv una libreria c++ per l elaborazione delle immagini...ho un problema quando vado a fare una funzione mi da un errore di segmentation fault...

il codice è il seguente:
int count=0;
    double X;
    double Y;
    double Z; 
    std::vector<KeyPoint> key_filtered;
    
    printf("mi preparo al for \n");
	for( int i=0; i<(int)keypoints.size(); i++)
	{
           // printf("dentro il for di keyfiltered");
            double x = keypoints[i].pt.x, y = keypoints[i].pt.y;
            Z = 1./(inv.data[6]*x + inv.data[7]*y + inv.data[8]);
            X = (inv.data[0]*x + inv.data[1]*y + inv.data[2])*Z;
            Y = (inv.data[3]*x + inv.data[4]*y + inv.data[5])*Z;
           
            if((X >= corner[0].x && X <= corner[1].x) && (Y >= corner[0].y && Y <= corner[2].y)){
                  key_filtered[count]=keypoints[i];
                   count++;
            }
        }
    return(key_filtered);

il problema me lo da l istruzione :

key_filtered[count]=keypoints;

qualcuno sa la soluzione?

grazie mille!!

1 Risposte

  • Re: Segmentation fault

    Non conosco c++ però il segmentation fault succede quando tenti di accedere ad un'area di memoria non allocata, non a caso l'errore è in quella riga. Secondo me hai fatto un pò di confusione con gli indici. Controlla che i valori degli indici non escano dai limiti.
Devi accedere o registrarti per scrivere nel forum
1 risposte