Bonjour,

J'aurai besoin d'un petit éclaircissement :3

Pour un pfe je me retrouve fasse à une question que je ne me suis jamais posée, comment créer un histogramme avec des images n'ayant pas le même nombre de canaux?

Je m'explique je pars d'une image hsv et une lbp36(en niveau de gris).
Je m'interesse aux composantes h et s de l'image hsv (la composante v ayant servie au calcul de l'image lbp36) et à la seule composante de l'image lbp.

donc je code ce machin là (c'est pas super propre désolé :3)


void Hist_and_Backproj(Mat hsv, Mat lbp)
{

MatND hist;
int hbins = 36 , vbins = 16 , lbpbins = 36;
int histSize[] ={hbins, vbins, lbpbins} ;
float hranges[]= { 0, 180 };
float sranges[]= { 0, 256 };
float lbpranges[] = { 0, 256 };
const float* ranges[] = { hranges, sranges, lbpranges };
int channels[] = {0, 1};

Mat tabmat[] = {hsv, lbp};
///calcul de l'histo et norma
calcHist( tabmat, 2, channels, Mat(),hist, 32, histSize, ranges);
// plein de trucs
}
Comme vous vous en doutez ça crash en runtime, et je ne vois pas comment faire pour le 3eme paramètre de calcHist...

Je me suis même tenté à dupliquer le canal de l'image lbp pour que ça marche, mais je pense que ça influe sur les résultats.

Donc si quelqu'un à la moindre idée de comment faire :3
==============================================================================================

Ayant rallumé mon cerveau (désolé j'avais pas encore mangé et je devais avoir faim (japon)) j'ai fini par percuter que ce que j'avais a faire était a la fois plus simple et compliqué, et que faire un histo sur une image en grayscale c'était une idée bizarre (le grayscale étant déjà un "histogram").

Même si cela ne me sert plus dans l'immédiat je suis tout de même intrigué sur la possibilité de travailler sur deux images (mettons une HSV et une RGB) et de vouloir faire un histo avec des canaux différents (mettons 0 pour HSV et 2 pour RGB), la doc semble dire que c'est tout à fait possible, mais je n'arrive pas à taper le bon appel de fonction :3
==============================================================================================
EDIT : lien vers la doc

EDIT 2: le 6eme param est bien 2 et non 32 my bad (ça retire une erreur mais crash toujours en rt).