Binarisation d'une image

aidez_moi -  
Char Snipeur Messages postés 9813 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,
j'ai besoin d'aide!!je prepare mon projet de fin d'etude et je dois programmer en matlab!! j''avoue que je ne m y connais pas trop!!
alors le but c'est d'ouvrir une base de donnees dimages et de binariser ces images et de les filtrées!!! si vous savez comment faire j'aimerai bien que vous m'eclairez merci pour votre aide
A voir également:

2 réponses

Char Snipeur Messages postés 9813 Date d'inscription   Statut Contributeur Dernière intervention   1 299
 
Je sais comment faire !
il suffit d'ouvrir l'image avec MATLAB. Il permet d'ouvrir un grand nombre d'images (BMP, jpg etc.) par défaut (fonction imread je crois). Le résultat est mis dans une matrice. Si l'image est en couleur, c'est une matrice à 3 indices si je me souviens bien. Mais supposons que ça soit une image en niveau de gris, tu as une matrice simple de nombres allant de 0 à 255.
Il suffit de définir un critère de binarisation (à voir selon le cas) genre 128, puis tu parcours l'ensemble des cases de la matrice, et si la valeur est supérieur au critère tu met 1, sinon tu mes 0.
Et voila l'image binarisé.
Bien sur, tu peux choisir plus judicieusement ce critère. Par exemple tu peux prendre la moyenne de toute les cases de la matrice.
4
besoin_d'aide
 
merci bcp pour votre aide!!
c bon j ai fait ce qu il y avait a faire!! maintenant j ai fait le contour d une image!! et le but c est de calculer la distance entre differents points!!
je m explique j ai une matrice carree (100 100) elle est binaire c a d y a des 0 partt sauf dans le coutour de l image
il me faut l algorithme pour calculer cette distance!!
je sais que mon message n est pas trop calaire mais si vous savait on si vs avez besoin besoin de plus de precison tenez moi au courrant
merci
0
Char Snipeur Messages postés 9813 Date d'inscription   Statut Contributeur Dernière intervention   1 299
 
là c'est plus compliqué, et je ne voi pas ce que tu veux calculer.
Ce que je ferai : parcourir la matrice et noté dans une nouvelle matrice les coordonnées de chaque point.
Ensuite, une foi fait, il faut calculer toute les distances (là, c'est énorme ! je ne suis pas sur que ça soit ça qu'il faille faire)
si cette matrice est nommer P, tu fait un truc dans le genre :
for i=1:P.length()
for j=i:P.length()
dist=[dist sqrt((P(i,1)-P(j,1))^2+(P(i,2)-P(j,2))^2) ];
end
end
ensuite, max(max(dist)) te donne la plus grande distance.
0