Bonjour a tous,
J'essaie d'améliorer l'affichage de mes résultats.
J'ai comme résultat une matrice contenant des valeurs allant de x à y. J'ai réussi à rescaler l'echelle de 0 à 255 et à afficher le résultat dans une image en niveau de gris. Voici l'image:
J'aimerais maintenant afficher cette image en couleur à la manière d'une colormap comme dans Matlab, mais je n'y arrive pas...
En farfouillant un peu le net, j'ai vu que certains parlent d'utiliser la fonction cvLut. Cependant, je ne comprend pas comment transformer mon échelle (0 à 255) sur un canal à quelque chose en couleur (3 canneaux) allant par exemple du bleu pour la valeur la plus petite au rouge pour la valeur la plus grande.
J'ai essayer de définir quelques couleurs de la manière suivante, puis de diviser ma gamme dynamique en 5 intervalles et d'afficher en bleu toute valeur tombant entre 0 et 255/5, puis en cyan toute valeur allant de 255/5 à 2*255/5, etc, mais j'ai évidemment pas envie de définir 50 couleur comme ça, ce qui serait utile pour une meilleur rendu.
Merci d'avance pour toute idée!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 CvScalar blue = cvScalar(255, 0, 0,128); CvScalar cyan = cvScalar(255, 255, 0,128); CvScalar green = cvScalar(0, 255, 0,128); CvScalar yellow = cvScalar(0, 255, 255,128); CvScalar red = cvScalar(0, 0, 255,128);
Partager