Decouper image avec selection sourie. [Résolu]

Signaler
Messages postés
37
Date d'inscription
samedi 29 octobre 2016
Statut
Membre
Dernière intervention
31 mai 2019
-
Messages postés
91
Date d'inscription
vendredi 13 mai 2005
Statut
Membre
Dernière intervention
4 mai 2020
-
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.

1 réponse

Messages postés
91
Date d'inscription
vendredi 13 mai 2005
Statut
Membre
Dernière intervention
4 mai 2020

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 ?
Messages postés
37
Date d'inscription
samedi 29 octobre 2016
Statut
Membre
Dernière intervention
31 mai 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
Messages postés
91
Date d'inscription
vendredi 13 mai 2005
Statut
Membre
Dernière intervention
4 mai 2020

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