ISODATA 


Principe 



Trouver un seuil en séparant l'histogramme en deux classes itérativement avec la connaissance a priori des valeurs associées à chaque classe.

Algorithme 



On détermine l'intervalle [min, max] des valeurs non nulles de l'histogramme. Après, on fait une estimation des valeurs moyennes initiales en divisant l'intervalle en deux parties équidistantes et en prenant m1 et m2 comme la moyenne arithmétique de chaque classe si la densité de probabilité était uniforme.

A chaque itération on calcule le seuil T en prenant l'entier le plus proche de la moyenne des deux moyennes : Puis, on met à jour des moyennes en calculant la moyenne statistique pour chaque classe :
 
 
                             
 

On recalcule les seuils et moyennes tant qu'il n'y aura aucun changement, moment ou l'algorithme converge.

Résultats 



Nous avons choisi une premiere image assez facile à binariser, car elle a deux classes tres bien differenciees. Il s'agit d'un texte à plusieurs niveaux de gris.
  Image originale                                                                    Image binarisée