Programme de traitement image PGM binaire (tableau2D) - Python - Programmation
Marsh Posté le 09-06-2011 à 21:30:29
Rebonsoir, j'ai jusqu'à demain pour mon projet, je vous re sollicite au cas ou quelqu'un passerai par là et pourrai m'aider
Merci
Marsh Posté le 10-06-2011 à 12:34:08
Salut,
Je ne suis pas assez avancé en python pour pouvoir t'aider vraiment, mais je peux te donner quelques idées (je laisse le soin aux connaisseurs de me corriger si nécessaire )
D'après ce que j'ai lu vite fait sur les docs du site que tu donne, une image pgm est un tableau de nombres séparés par des espaces, donc en gros un fichier texte enregistré en pgm.
Pour le passer en tableau 2D, je pense que tu dois lire ligne par ligne, utiliser la méthode .split pour transformer cette ligne en liste de nombres, et ensuite intégrer cette liste à une liste maîtresse (le tableau 2D). Tu dois bien sur dégager les infos sur la taille et les niveaux de gris du début de fichier.
Pour une image comme ça (un point blanc entouré de 8 pixels noir):
Code :
|
Ton tableau 2D devrait ressembler à ça:
Code :
|
Pour enregistrer l'image, il faut créer un fichier, ou en ouvrir un, et inscrire sur deux lignes sa taille, puis le niveau de gris et ensuite parcourir le tableau 2D et inscrire chaque sous liste sur une ligne différente.
Pour le négatif, tu prends chaque élément du tableau que tu soustrais de la valeur de niveaux de gris.
Voilà, si ça peut t'aider (j'espère ne pas avoir mis de conneries)
Marsh Posté le 11-06-2011 à 21:37:56
Je te remercie pour ces explications Un ami m'a énormément aidé sur le projet dont j'ai du faire la soutenance vendredi matin...
Le programme est loin d'être terminé mais j'ai quelques jours pour le faire.
Encore merci carrion crow de t'être penché sur mon sujet.
A bientôt !
Marsh Posté le 16-06-2011 à 21:09:35
Salut,
Ça avance ?
Mets ton code, quand tu l'auras fini, ça m'intéresse
Marsh Posté le 08-06-2011 à 15:26:26
Bonjour à tous;
Je suis en première année de fac informatique, et pour ce deuxième semestre un projet de programmation en Python nous a été donné.
Il consiste en la réalisation d'un petit programme de traitement d'image PGM en binaire avec Tkinter, avec différents outils tels que la symétrie droite/gauche, ajout de bandes noires sur l'images, effet négatif ... et d'autres.
Mon projet est à rendre pour demain, et je suis bloqué, vraiment bloqué, au début. Autrement dit il nous faut pour traiter l'image, la passer sous un tableau2D... ce que je n'arrive pas du tout à faire malgré les différents fichiers disponibles pour nous aider.
La semaine prochaine sont mes partiels, je suis à fond dans mes révisions et ai du mal à me plonger dans la prog.
Je sais que ce qu'on nous demande n'est pas très compliqué, mais j'avoue n'avoir pas vraiment suivis les différents TD concernant le projet et ai vite été largué.
Je ne pourrai pas faire de miracles pour demain, mais si quelqu'un, habile en Python, pouvait me donner un petit coup de pouce magique afin d'avancer un peu mon projet, je lui en serai très reconnaissant.
Je rappelle que je sais très bien que le forum n'est pas là pour pondre le travail de untel ou untel, je n'ai pas l'habitude de demander tant d'aide, mais je me sens dans la merde et ... voilà. :s
J'ai pour l'instant créé mon canevas, mon petit menu, ma fonction pour ouvrir une image et adapter le canevas, je bloque sur la fonction pour enregistrer l'image, et surtout pour passer cette image sous un tableau2D afin de la traiter.
Pour ça je vous donne ce que j'ai fait pour le moment, et vous transmet les fichiers fournis (type énoncés, modules...) par les enseignants.
[Ici notre support de travail, contenant des "cours", énoncés, et autres fichiers] = http://dept-info.labri.fr/ENSEIGNE [...] pport.html
Dans mon programme, je dispose d'un :
main.py
interface.py (qui contient les callback)
traitement.py (qui contient les fonctions de traitement d'image)
J'ai aussi un fichier :
tableau2D.py (que je n'arrive pas à utiliser)
et pgm.py
Voilà tout, en vous remerciant d'avance.
Matema
Message édité par Matematox le 09-06-2011 à 17:52:16