Bonsoir,

Voila mon petit soucis, j'ai une méthode qui à chaque pixel de mon image en format HSV me renvoi un tableau avec le nombre de H de chaque couleur que l'image contient. Or à l'exécution de celle-ci mon programme plante et je ne comprends pas pourquoi

Voici le contenu de ma méthode:

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
std::vector<int> revoyerH (IplImage* rgb_image) {
IplImage* hsv_image = cvCreateImage (cvGetSize (rgb_image), rgb_image->depth, 3);
    std::vector<int> hues (180, 0);
 
    cvCvtColor (rgb_image, hsv_image, CV_BGR2HSV);
    for (int row=0;row<hsv_image->width;row++)
    {
        for (int col=0;col<hsv_image->height;col++)
        {
            CvScalar hsvValues = cvGet2D (hsv_image, col, row);
 
            hues[(int)hsvValues.val[0]]++;
        }
    }
    cvReleaseImage (&hsv_image);
 
    return hues;
}
Et en testant petit à petit j'ai pu voir que la ligne qui pose problème est:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
hues[(int)hsvValues.val[0]]++;
Hors je ne vois vraiment pas pourquoi

Si quelqu'un à une idée je l'en remercie beaucoup d'avance