Segmentation d'une image par région en C

cs_Minou09 Messages postés 3 Date d'inscription mercredi 9 mai 2007 Statut Membre Dernière intervention 14 décembre 2010 - 13 déc. 2010 à 17:44
cs_Minou09 Messages postés 3 Date d'inscription mercredi 9 mai 2007 Statut Membre Dernière intervention 14 décembre 2010 - 14 déc. 2010 à 11:51
Bonjour,

J'espère que j'ai créé mon sujet dans la bonne catégorie.
Voila mon problème, je cherche à créer un programme en C permettant de segmenter une image en niveau de gris par région. J'ai déjà fait toute la partie chargement de l'image et réécriture de celle ci ainsi que la transformer en niveau de gris. Plus clairement je charge mon image et j'obtient un tableau de float de la taille de l'image où chaque cellule du tableau représente un pixel en niveau de gris (0 à 255). Le problème maintenant est que je cherche à créer des régions selon un paramètre de différence entre les pixel pour les fusionner. J'ai vus que l'utilisation des structure de donné était conseillé mais étant débutant en C je n'ai pas réussi à cerner le concepte des structure de données. Si vous avez des exemples d'utilisation de structure de donné ou/et des exemples d'algorithme de segmentation d'image par région je suis preneur. J'utilise la bibliothèque libpng et je me suis inspiré du code de io_png.

Merci beaucoup d'avance pour votre aide et vos réponse.

Cordialement.

Minou

5 réponses

Pistol_Pete Messages postés 1053 Date d'inscription samedi 2 octobre 2004 Statut Membre Dernière intervention 9 juillet 2013 7
14 déc. 2010 à 09:03
Bonjour,

Une petite remarque au passage: pourquoi allouer un tableau de float pour stocker des pixels entre 0 et 255! On utilise des unsigned char (8 bits)

Pour tout ce qui est segmentation des images, regarde du coté de mes sources, j'en ai fait plein sur ce sujet
http://www.codes-sources.com/auteur/PISTOLPETE/352018.aspx
A+

____________________________________________________________________________
Logiciel en traitement de l'image gratuit et open source.
0
cs_Minou09 Messages postés 3 Date d'inscription mercredi 9 mai 2007 Statut Membre Dernière intervention 14 décembre 2010
14 déc. 2010 à 10:00
Bonjour et merci pour ta réponse.

Pour avoir mon tableau je me suis aidé du programme de io_png et de la fonction read_png_f32_gray qui retourne automatiquement un tableau de float.


Merci pour ton lien je vais allé y jeter un coup d'oeil.

A+
0
Pistol_Pete Messages postés 1053 Date d'inscription samedi 2 octobre 2004 Statut Membre Dernière intervention 9 juillet 2013 7
14 déc. 2010 à 10:03
Tu devrais alors plutot utiliser la fonction read_png_u8() qui te retourne un unsigned char

Tiens nous au courant de tes progrès.
A+

____________________________________________________________________________
Logiciel en traitement de l'image gratuit et open source.
0
cs_louis14 Messages postés 793 Date d'inscription mardi 8 juillet 2003 Statut Membre Dernière intervention 10 février 2021 8
14 déc. 2010 à 10:24
Bonjour,
voilà un autre article :
http://www.codeproject.com/KB/cs/Image_Histograms.aspx



louis
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Minou09 Messages postés 3 Date d'inscription mercredi 9 mai 2007 Statut Membre Dernière intervention 14 décembre 2010
14 déc. 2010 à 11:51
Merci pour ta réponse louis14. La création de région via l'Histogramme est la deuxième partie de mon projet ^^.

J'ai regardé dans tes programmes Pistol_Pete mais je sais pas si sa peut m'aider car tu as fait tes programme en C++ (sauf si je me trompe) et franchement je ne connais rien au C++ ^^. J'ai vu le programme sur la segmentation de l'image par croissance de région mais mon projet m'impose une fusion des pixels (ou plutôt des régions) en lisant l'image pixel par pixel et avoir la possibilité à la fin de ressortir la région à qui appartient le pixel (c'est possible que je n'est rien compris au concepte de croissance des régions lol^^). Mes professeurs mon conseillé fortement sur les structures de données, le souci c'est que je n'est jamais vue les structure de donné donc je ne sais pas du tout comment sa marche et les topics sur internet me semble flou.
0
Rejoignez-nous