TIFO: Codage, partie 2 - histogramme Analyse globale de l'image Histogramme
Recense les occurrences de chaque couleur
Donne une information globale sur l'image
Permet la realisation de petits traitement globaux
Peut etre calcule sur une image en couleur
Image Not Showing
Possible Reasons
The image file may be corrupted The server hosting the image is unavailable The image path is incorrect The image format is not supported
Learn More →
Image Not Showing
Possible Reasons
The image file may be corrupted The server hosting the image is unavailable The image path is incorrect The image format is not supported
Learn More →
Calcul de l'histogramme
Code:
histogramme: tableau initalise a 0
image: l'image sour forme d' un vecteur
for ( offset = 0 ; offset < sx* sy; ++ offset)
histogramme[ image[ offset] ] ++
Si une image est sur-exposee
Image Not Showing
Possible Reasons
The image file may be corrupted The server hosting the image is unavailable The image path is incorrect The image format is not supported
Learn More →
Si une image est sous-exposee
Image Not Showing
Possible Reasons
The image file may be corrupted The server hosting the image is unavailable The image path is incorrect The image format is not supported
Learn More →
Si une image manque de contraste
Applications Amelioration du contraste Application: modification du contraste a l'aide de l'histogramme
Image Not Showing
Possible Reasons
The image file may be corrupted The server hosting the image is unavailable The image path is incorrect The image format is not supported
Learn More →
Correction de l'histogramme:
Image Not Showing
Possible Reasons
The image file may be corrupted The server hosting the image is unavailable The image path is incorrect The image format is not supported
Learn More →
Image Not Showing
Possible Reasons
The image file may be corrupted The server hosting the image is unavailable The image path is incorrect The image format is not supported
Learn More →
Etirement du resultat
J'ai bien augmente le contraste
J'ai detruit une partie de l'information
On a sature des pixels, effacant des details
Image Not Showing
Possible Reasons
The image file may be corrupted The server hosting the image is unavailable The image path is incorrect The image format is not supported
Learn More →
Amelioration de l'image Application: modification du contraste a l'aide de l'histogramme
image: l'image sous forme d' un vecteur
for ( offset = 0 ; offset < sx* sy; ++ offset)
image[ offset] = f ( image[ offset] )
Tout depend du choix de f
Fonction
si
,
si
,
L'intervalle des zones sombres est augmentee
Fonction
L'intervalle des zones claires est augmentee
L'image est assombrie
Attention aux plages de valeurs (exp(255) … )
Image Not Showing
Possible Reasons
The image file may be corrupted The server hosting the image is unavailable The image path is incorrect The image format is not supported
Learn More →
Modification des couleurs de l'image Application: calcul du negatif
Image Not Showing
Possible Reasons
The image file may be corrupted The server hosting the image is unavailable The image path is incorrect The image format is not supported
Learn More →
Amelioration du contraste Application: amelioration du contraste a l'aide de l'histogramme cumule
Calcul de l'histogramme cumule
Image Not Showing
Possible Reasons
The image file may be corrupted The server hosting the image is unavailable The image path is incorrect The image format is not supported
Learn More →
Essayer d'uniformiser la repartition des niveaux de gris dans l'histogramme
Cela revient a essayer de rendre l'histogramme cumule lineaire
Resultat:
Image Not Showing
Possible Reasons
The image file may be corrupted The server hosting the image is unavailable The image path is incorrect The image format is not supported
Learn More →
Histogramme et images couleurs
Differentes manieres de calculer
Globale
Image Not Showing
Possible Reasons
The image file may be corrupted The server hosting the image is unavailable The image path is incorrect The image format is not supported
Learn More →
Par plan
Image Not Showing
Possible Reasons
The image file may be corrupted The server hosting the image is unavailable The image path is incorrect The image format is not supported
Learn More →
Traitements:
Independamment sur chaque canal
Changement d'espace et traitement uniquement dans le plan L ou V
Applications Amelioration du contraste
Egalisation d'histogramme de couleur
Effectuer l'egalisation sur chaque canal ?
Donne de mauvais resultats en general (modification des couleurs)
Image Not Showing
Possible Reasons
The image file may be corrupted The server hosting the image is unavailable The image path is incorrect The image format is not supported
Learn More →
Solution:
Changer d'espace de representation
Utilisation de HSV ?
Egalisation uniquement sur la valeur
Image Not Showing
Possible Reasons
The image file may be corrupted The server hosting the image is unavailable The image path is incorrect The image format is not supported
Learn More →
Amelioration de l'image Specification d'histogramme
Imposer la forme de l'histogramme
(comme pour l'egalisation qui donne un histogramme plat)
Indexation
Distance entre histogrammes
Comparaison d'images
Segmentation automatique en plan de sequences
Difference entre images consecutives
Distances
Bin-by-bin distances
Distances de Hellinger Bhattacharyya
…
Cross-bin distances
Diminution du nombre de couleurs
Pourquoi diminuer le nombre de couleurs?
Simplifier l'image
Diminuer l'espace necessaire de stockage
Focaliser sur les elements qui nous interessent
Effet artisitique
Pourquoi plus precsiement passer de la couleur aux niveaux de gris ?
Traitement de la couleur pas toujours aisee
Plusieurs canaux
Pas vraiment de relation d'ordre utilisable avec la couleur
Pourquoi plus precisement passer en noir et blanc ?
Focaliser sur les elements qui nous interessent
Separation fond/forme (O.C.R., … )
Objectif
Reduire le nombre de couleurs utilisees tout en conservant le plus possible une image proche de l'originale
Image Not Showing
Possible Reasons
The image file may be corrupted The server hosting the image is unavailable The image path is incorrect The image format is not supported
Learn More →
Image Not Showing
Possible Reasons
The image file may be corrupted The server hosting the image is unavailable The image path is incorrect The image format is not supported
Learn More →
Algorithme
Mediane cut
Basee sur l'etude de l'histogramme
Diffusion de l'erreur
Adoucit certaines erreurs pour la visualisation
Reduction du nombre de couleurs
Construction de l'histogramme des couleurs
Elimination des extremites vides
Decoupage du prallelepipede restant en 2 sous-blocs contenant autant de points
Pour chaque sous bloc, recommencer jusqu'a avoir autant de sous blocs que de couleurs souhaitees
Trouver pour chaque partie, une couleur representante
Diffusion de l'erreur Le but est de compenser l'erreur commise sur un pixel en propageant cette erreur sur les pixels voisins
Ex: on fait une erreur en substituant le 12 par son representant, on propage la difference entre 12 et son representant sur son voisin 15
On remplace la couleur du pixel considere par le representant
On calcul l'erreur commise par cette substitution en faisant la difference entre la vraie couleur et la couleur de remplacement: on trouve une erreur pour chaque canal.
On repartie l'erreur estimee sur les pixels voisins
Les voisins en haut et a droite participent plus que les voisins en diagonales
Ce dernier tableau etait recommande par FloydSteinberg pour la propagation de l'erreur.
Resultats:
Passage en noir et blanc (binarisation) Binarisation:
Seuil global:
Utilisation de l'histograme
On suppose l'histogramme bi-modal (1 mod pour le fond et 1 pour la forme)
Trouver le niveau de gris a la jonction entre les 2
Seuil global - resultats:
Seuil global - un algorithme simple:
Supposons un seuil T initial
Calculons les moyennes m1 et m2 des ensembles des pixels d'intensite inferieure a T et superieur ou egale a T respectivement
Corriger T avec
Si
continuer en 2
Seuil global - Le critere d'Otsu
On cherche 2 classes
Minimiser la variance intra-classe
Maximisier la variance inter-classe
et
les moyennes des 2 classes formees par le seuil k
la moyenne
et
les probabilites d'occurrence des 2 classes formees par le seuil k
Maximiser la variance inter-classe:
Or
et
Reviens a chercher le k dans l'intervale ou
rel que
est le maximum (si plusieurs max, faire la moyenne)
Seuil global
Rapide et simple
Se calcul directement sur l'hisotgramme
Dans la pratique pas toujours efficace selon le contexte
Resultats Original:
Otsu: