1134
Commentaire:
|
2312
|
Texte supprimé. | Texte ajouté. |
Ligne 29: | Ligne 29: |
Voilà les grandes lignes : * |
Cette partie n’est donc proposée que pour les plus motivés et autonomes. |
Ligne 32: | Ligne 31: |
Une idée intéressante : écrire un | === Quelques indications pour commencer === Voilà les grandes lignes. Il faut créer un programme Python 2, disons `filtre.py`, qui commence par importer le module `gimpfu`. Le fichier contenant ce programme doit être exécutable, et ranger dans un dossier où le GIMP cherche ses greffons (ça se règle dans les préférences). Votre filtre doit être une fonction python `filtre(image, drawable)`. L’argument `image` est un objet complexe qui représente l’image et toute ses métadonnées (calques, etc.). L’argument `drawable` est la surface (calque ou canal) sur laquelle on dessine. La méthode la plus simple pour modifier l’image est de faire appel aux outils de GIMP. Par exemple, la fonction suivante dessine un point au centre de l’image : {{{ def centre(img,drawable): largeur = drawable.width hauteur = drawable.height xc = largeur//2 yc = hauteur//2 gimp.pdb.gimp_pencil(drawable,2,(xc,yc,xc,yc)) return }}} |
Ligne 36: | Ligne 59: |
Par exemple le programme suivant === Et ensuite ? === Une idée intéressante : écrire un filtre qui génère un nouveau calque affichant en transparence un diagramme de Voronoi. |
Sommaire
Préambule
Ce TP utilise la bibliothèque Pillow : voir les instructions.
Filtres d’image
Cette partie du TP concerne l’algorithmique de l’image. Plus précisément, on manipulera des images matricielles, c’est-à-dire représentées par des tableaux de pixels.
On utilise Pillow pour s’affranchir de la question des formats de fichiers.
Ouverture et enregistrement de fichiers d’image avec Pillow
Application en Tk
Intégration au GIMP
Il est possible d’intégrer vos algorithmes de transformation d’image au GIMP. Il y a un côté satisfaisant à voir tourner son travail dans un programme standard. Il y a cependant deux difficultés :
- le GIMP est seulement compatible avec Python 2 ;
- le modèle d’image en mémoire n’est pas le même que celui de Pillow, donc il faudra modifier un peu vos algorithmes pour les adapter.
Cette partie n’est donc proposée que pour les plus motivés et autonomes.
Quelques indications pour commencer
Voilà les grandes lignes.
Il faut créer un programme Python 2, disons filtre.py, qui commence par importer le module gimpfu. Le fichier contenant ce programme doit être exécutable, et ranger dans un dossier où le GIMP cherche ses greffons (ça se règle dans les préférences).
Votre filtre doit être une fonction python filtre(image, drawable).
L’argument image est un objet complexe qui représente l’image et toute ses métadonnées (calques, etc.). L’argument drawable est la surface (calque ou canal) sur laquelle on dessine. La méthode la plus simple pour modifier l’image est de faire appel aux outils de GIMP.
Par exemple, la fonction suivante dessine un point au centre de l’image :
def centre(img,drawable): largeur = drawable.width hauteur = drawable.height xc = largeur//2 yc = hauteur//2 gimp.pdb.gimp_pencil(drawable,2,(xc,yc,xc,yc)) return
Par exemple le programme suivant
Et ensuite ?
Une idée intéressante : écrire un filtre qui génère un nouveau calque affichant en transparence un diagramme de Voronoi.
On pourra discuter les détails ensemble.