Decouper image avec selection sourie. [Résolu]

Messages postés
27
Date d'inscription
samedi 29 octobre 2016
Dernière intervention
4 décembre 2018
- - Dernière réponse : lugdanum
Messages postés
30
Date d'inscription
vendredi 13 mai 2005
Dernière intervention
2 décembre 2018
- 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
30
Date d'inscription
vendredi 13 mai 2005
Dernière intervention
2 décembre 2018
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
27
Date d'inscription
samedi 29 octobre 2016
Dernière intervention
4 décembre 2018
-
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
30
Date d'inscription
vendredi 13 mai 2005
Dernière intervention
2 décembre 2018
-
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

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.