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:

codice:
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[i];

qualcuno sa la soluzione?

grazie mille!!