Decouper image avec selection sourie.

Résolu
DAN247 Messages postés 30 Date d'inscription samedi 29 octobre 2016 Statut Membre Dernière intervention 31 mai 2019 - 30 nov. 2018 à 20:29
lugdanum Messages postés 108 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 14 novembre 2021 - 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.

1 réponse

lugdanum Messages postés 108 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 14 novembre 2021
1 déc. 2018 à 13:14
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 ?
0
DAN247 Messages postés 30 Date d'inscription samedi 29 octobre 2016 Statut Membre Dernière intervention 31 mai 2019 2
2 déc. 2018 à 18:18
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
0
lugdanum Messages postés 108 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 14 novembre 2021
2 déc. 2018 à 18:46
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
0
Rejoignez-nous