Merci pour votre réponse.
Pour le moment je suis parti sur ça.
j'ai mis mon image dans un vecteur
1 2
| vector<int> array
array.assign(image.datastart, image.dataend); |
je fais ça sur mes deux images et ensuite je calcule la distance euclidienne entre les deux vecteurs:
norm(array,array2);
Pour le moment ça marche. Mais je voudrais essayer d'autre algorithme de mesure de distance tel que BHATTACHARYYA et EMD(earth mover distance). J'ai vue que il y a des codes tout fait sur opencv (http://docs.opencv.org/doc/tutorials...omparison.html) le problème c'est que moi je ne veux pas utiliser calhistogram, normalize comme ils font.
Le prototype de comparehist est compareHist(<InputArray H1>, <InputArray H2>, <int method>). J'ai donc directement inséré mes vecteurs comme ceci:
compareHist(array, array2, CV_COMP_BHATTACHARYYA);
Le problème c'est que j'obtiens l'erreur suivante:
Error: Assertion failed (H1.type() == H2.type() && H1.type() == CV_32F)
une idée pour résoudre ce problème ?
Partager