Algorithme et morphologie

dadou846 Messages postés 11 Date d'inscription vendredi 21 novembre 2008 Statut Membre Dernière intervention 26 mai 2014 - 28 janv. 2009 à 18:33
BunoCS Messages postés 15472 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 25 mars 2024 - 2 févr. 2009 à 11:52
bonçoir à tous :
j'ai une image en niveau de gris et je dois appliquer les opérateurs de la morphologie mais j'arrive pas a commencer,j'ai pas trouvé sur le net des algorithme d'erosion et dilatation...je sais pas quoi faire, je veux comprendre comment je doit transformé l'image en une fonction ou est ce que je dois la transformé en une matrice de pixels.en fait je comprends pas le traitement d'image svp si quelqu'un peut m'aider n'hésiter pas j'en ai trop besoin.
merci

3 réponses

BunoCS Messages postés 15472 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 25 mars 2024 103
28 janv. 2009 à 22:47
Hello,
Qu'est-ce que tu n'as pas compris? Cette page, qui contient des explications, ne te suffit pas?
Ton image, tu peux la voir comme une matrice de pixels, sur laquelle tu peux appliquer des filtres, opération qui revient à une multiplication de matrices

@+
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
0
dadou846 Messages postés 11 Date d'inscription vendredi 21 novembre 2008 Statut Membre Dernière intervention 26 mai 2014
1 févr. 2009 à 23:34
salut: cette page ne contient pas ni algorithme ni un code en c++, c'est juste des formules mathématiques. je veux savoir comment je peux transformer l'image en une matrice en c++ pour que je puisse appliquer les opérateurs de la morphologie mathématique.merci
0
BunoCS Messages postés 15472 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 25 mars 2024 103
2 févr. 2009 à 11:52
Bon, on va pas jouer sur les mots, ça sert à rien...
Pour répondre à ta question "comment je peux transformer l'image en une matrice en c++" --> ça, ça dépend de la lib d'images que tu utilises. Dans ma source, je vais lire moi-même le fichier image et je le stocke dans un tableau, que tu peux considérer comme une matrice.

Ensuite, pour ce qui est de la dilation par exemple, je lis sur la page: "Pour chaque position de B sur l'image X, si un, au moins, des pixels de B
fait partie de X, alors l'origine de B appartient à l'image générée". J'en déduis quoi:
- je déplaces B sur la matrice X
- pour chaque position de B
  - je regarde si au moins un pixel de B (1 pixel de valeur 1 et non 0) a un correspondant dans la matrice X
  - si oui, dans l'image résultat, je mets le pixel correspondant à l'origine de B à 1
  - si non, je déplaces B

Tu remarqueras que cet algo ne prend pas en compte les bords. Il y a alors 2 possibilités:
- soit tu répètes les lignes de bord
- soit tu "boucles" ton image (la 1ère ligne du haut est reliée à la dernière ligne du bas)

Est-ce que c'est un peu plus clair?

@+
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
0
Rejoignez-nous