Estimer la luminosité d'une image Opencv
J'ai essayé d'obtenir la luminosité de l'image dans Opencv, et jusqu'à présent j'ai utilisé calcHist et considéré comme la moyenne de l'histogramme des valeurs. Cependant, je crois que ce n'est pas exact, car il ne fait pas de déterminer la luminosité d'une image. J'ai effectué calcHist sur une échelle de gris de l'image, et essayé de faire la différence entre le avergae valeurs obtenues à partir d'images lumineuses, plus que modérée. Je n'ai pas été couronnée de succès jusqu'à présent. Pourriez-vous m'aider avec une méthode ou un algorithme, qui peuvent être réalisées par le biais d'OpenCv, pour estimer la luminosité d'une image? Merci à l'avance.
source d'informationauteur Lakshmi Narayanan
Vous devez vous connecter pour publier un commentaire.
Je suppose, que HSV modèle de couleur seront utiles dans votre problème, où le canal V est la Valeur de:
"Est la valeur de luminosité de la couleur et varie avec la saturation des couleurs. Il va de 0 à 100%. Lorsque la valeur est " 0 " pour l'espace de couleurs est totalement noir. Avec l'augmentation de la valeur, de l'espace de couleurs la luminosité et montre diverses couleurs."
Donc utiliser OpenCV méthode cvCvtColor(const CvArr* src, CvArr* dst, int code), qui convertit une image à partir d'un espace colorimétrique à un autre. Dans votre cas code = CV_BGR2HSV.De calculer l'histogramme de la troisième canal V.
J'étais sur le point de demander la même chose, mais alors que la même question a pas donné de réponses satisfaisantes. Toutes les réponses que j'ai trouvé sur AFIN de traiter avec l'observation de l'homme d'un seul pixel RVB vs HSV.
De mes observations, le caractère subjectif de la luminosité d'une image dépend aussi fortement sur le motif. Une étoile dans un ciel sombre peut regarder de plus lumineux que d'un ciel nuageux par jour, alors que la moyenne de la valeur de pixel de la première image sera beaucoup plus petite.
Les images que j'utilise sont gris à l'échelle de la cellule-les images produites par un microscope. Les formes varient considérablement. Parfois, ils sont de petits points brillants sur fond très noir, parfois moins lumineux des zones plus larges, sur les pas si sombre arrière-plan.
Mon approche est la suivante:
Le ratio de 2/3 pourrait aussi être augmenté à 3/4 (ce qui réduit la gamme de pixels considéré comme brillant).
L'approche fonctionne très bien, que les différentes cellules avec des motifs à même de titrage produire une luminosité similaire.
P. S.: Ce que je voulais demander, c'est de savoir s'il existe une fonction similaire pour ce calcul dans OpenCV ou SimpleCV. Merci beaucoup pour tous les commentaires!