Decouper image avec selection sourie. [Résolu]

Messages postés
36
Date d'inscription
samedi 29 octobre 2016
Statut
Membre
Dernière intervention
28 mars 2019
- - Dernière réponse : lugdanum
Messages postés
44
Date d'inscription
vendredi 13 mai 2005
Statut
Membre
Dernière intervention
15 mai 2019
- 2 déc. 2018 à 18:46
Bonjour, À tous.
Mon projet progresse mais j'ai une nouvelle question.
J'ai une image, je veux pouvoir tracer un rectangle sur une partie de cette image, récupérer ses coordonnées et créer ainsi une nouvelle image.
Je suis sous python 3.6 et je souhaiterais le faire avecPIL.
Si je tiens les coordonnées de mon rectangle je pense que je n'aurais pas de difficultés à faire le découpage nécessaire mais comment tracer ce rectangle de façon qu'il soit bien visible sur la photo d'origine.
D'avance merci de votre aide.
Afficher la suite 

Votre réponse

1 réponse

Messages postés
44
Date d'inscription
vendredi 13 mai 2005
Statut
Membre
Dernière intervention
15 mai 2019
0
Merci
hello

Je suis tombé sur cet exemple qui utilise aussi matplotlib...

import numpy as np
import matplotlib.pyplot as plt
from PIL import Image

import matplotlib.widgets as widgets

def onselect(eclick, erelease):
    if eclick.ydata>erelease.ydata:
        eclick.ydata,erelease.ydata=erelease.ydata,eclick.ydata
    if eclick.xdata>erelease.xdata:
        eclick.xdata,erelease.xdata=erelease.xdata,eclick.xdata
    ax.set_ylim(erelease.ydata,eclick.ydata)
    ax.set_xlim(eclick.xdata,erelease.xdata)
    fig.canvas.draw()

fig = plt.figure()
ax = fig.add_subplot(111)
filename="aa.jpg"
im = Image.open(filename)
arr = np.asarray(im)
plt_image=plt.imshow(arr)
rs=widgets.RectangleSelector(
    ax, onselect, drawtype='box',
    rectprops = dict(facecolor='red', edgecolor = 'black', alpha=0.5, fill=True))
plt.show()


Tu vas pouvoir peut être t'en sortir avec ça ?
DAN247
Messages postés
36
Date d'inscription
samedi 29 octobre 2016
Statut
Membre
Dernière intervention
28 mars 2019
-
Bonjour beaucoup lugdanum
c'est exactement ce que je cherchais. !
Par contre j'ai eu pas mal de difficultés pour l'installation des modules nécessaires à ce code et après de nombreuses recherches j'ai opté dans un premier temps pour l'installation de Winpython mais cette tentative a été infructueuse et je suis tombé par hasard sur Edupython qui lui fonctionne parfaitement avec tous les modules nécessaires.
Je ne comprends pas comment il est possible d'installer les modules avecip mais maintenant ça devient une histoire ancienne.
Je vais pouvoir progresser et c'est le principal.
Je te remercie chaleureusement.
A+.
Dan
lugdanum
Messages postés
44
Date d'inscription
vendredi 13 mai 2005
Statut
Membre
Dernière intervention
15 mai 2019
-
Génial, tiens nous au courant de ton projet. Je suis sur Linux et généralement pour installer un module, je passe en ligne de commande dans le terminal et tout se fait tout seul... (du style, pip install xxx) @ Bientôt
Commenter la réponse de lugdanum