IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

dessiner une veine d'énergie sur une image avec PIL


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2018
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 28
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2018
    Messages : 3
    Par défaut dessiner une veine d'énergie sur une image avec PIL
    Bonjour,
    Je ne programme en python que depuis l'an dernier et ne maîtrise pas totalement le langage.
    Je dois, en cours (prépa scientifique) faire un programme afin de redimensionner une image en utilisant le module PIL.
    Jusqu'à présent, j'ai réussi à définir l'énergie d'un pixel (en utilisant l'énergie des pixels environnant) puis à définir une veine.
    ( une veine commence (sur la première ligne) avec le pixel de la colonne i. Elle peut se poursuivre sur la deuxième ligne avec le pixel i, ou i-1 ou i+1 (si les colonnes i-1 et i+1 existent). D'une manière générale, si la veine contient le pixel i à la j ème ligne, elle peut se poursuivre avec le pixel i ou i-1 ou i+1 à la j+1 ème ligne. )

    Voilà mon programme actuel.

    veine.py

    J'ai essayé de définir les lignes et les colonnes de façon à ne pas "dépasser" la taille de l'image... Mais je ne comprends pas pourquoi ma veine ne s'affiche pas sur ma photo.
    Pouvez-vous me donner vos avis ?

    Merci d'avance,

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 753
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 753
    Par défaut
    Salut,

    Citation Envoyé par Anne-Cha Voir le message
    J'ai essayé de définir les lignes et les colonnes de façon à ne pas "dépasser" la taille de l'image... Mais je ne comprends pas pourquoi ma veine ne s'affiche pas sur ma photo.
    Pouvez-vous me donner vos avis ?
    Prenez une image quelconque et essayez d'y tracer une ligne/droite x = y ou x = -y. Si vous n'arrivez pas à faire çà, pas la peine de vous prendre le chou avec des fonctions plus compliquées comme vos veines d'énergie...
    note: oui je sais que c'est pour essayer de visualiser cela que... Mais en programmation il faut décomposer le problème en opérations simples puis les assembler. Et l'opération simple est ici comment modifier les pixels d'une image.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2018
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 28
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2018
    Messages : 3
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    Salut,



    Prenez une image quelconque et essayez d'y tracer une ligne/droite x = y ou x = -y. Si vous n'arrivez pas à faire çà, pas la peine de vous prendre le chou avec des fonctions plus compliquées comme vos veines d'énergie...
    note: oui je sais que c'est pour essayer de visualiser cela que... Mais en programmation il faut décomposer le problème en opérations simples puis les assembler. Et l'opération simple est ici comment modifier les pixels d'une image.

    - W
    C'est bon, j'ai réussi à afficher ma veine !
    Auriez-vous une piste pour m'aider si je veux afficher plusieurs veines sur l'image en même temps ?

  4. #4
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 753
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 753
    Par défaut
    Citation Envoyé par Anne-Cha Voir le message
    Auriez-vous une piste pour m'aider si je veux afficher plusieurs veines sur l'image en même temps ?
    Ben vous rangez précieusement votre code et vous réfléchissez à comment transformer calcul et tracé de la veine en calcul et tracé d'une veine qui puisse devenir calcul et tracé de plusieurs veines.
    Vous pouvez le faire aussi à partir de:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    im=Image.open('photomaison.jpg')
    C, L =im.size
    veine(ColonneMinEnergie(1,C))
    Intuitivement, si im.show() est fait dans "veine", çà ne va pas fonctionner. De même, est ce que le calcul de la veine suivante pourra se faire sur l'image déjà modifiée par le calcul précédent ou faut-il partir de l'original?
    La réponse à ces questions vous amènera peut être à écrire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    original = Image.open('photomaison.jpg')
    resultat = # copie de l'image
    for colonne, ligne in #une liste de colonne, ligne à définir:
         veine(original, (colonne, ligne), resultat)
    resultat.show()
    Et à "aligner" les lignes de codes que vous avez déjà écrites pour prendre en compte ces changements.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  5. #5
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2018
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 28
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2018
    Messages : 3
    Par défaut
    Je ne comprends pas à quoi servirait la nouvelle image. Celle correspondant à la copie.
    Dois-je copier pixel par pixel dedans et incluant les pixels rouges correspondants aux veines ?
    Ou est-ce une image "vide" sur laquelle je ne dois faire apparaître que les veines ?
    Une dernière question... Je n'arrive pas à chercher la veine d'énergie inférieure à la première déjà trouvée...

    Merci pour vos précédentes réponses !

  6. #6
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 753
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 753
    Par défaut
    Citation Envoyé par Anne-Cha Voir le message
    Je ne comprends pas à quoi servirait la nouvelle image. Celle correspondant à la copie.
    Dois-je copier pixel par pixel dedans et incluant les pixels rouges correspondants aux veines ?
    Ou est-ce une image "vide" sur laquelle je ne dois faire apparaître que les veines ?
    C'est une image obtenue en appliquant la méthode .copy() sur l'image originale.
    De toutes façons, ce que vous allez afficher est le résultat d'un calcul sur les points de l'image originale.
    Si vous voulez afficher le résultat de plusieurs calculs, est-il raisonnable de le faire à partir de l'original modifié? Ce que je vous ai suggéré me semble raisonnable. Maintenant, c'est vous qui savez à quoi sert tout çà et... ce qu'il faut (ou pas) faire.

    Une dernière question... Je n'arrive pas à chercher la veine d'énergie inférieure à la première déjà trouvée...
    La vraie question est de savoir ce que vous appelez "niveau d’énergie" et comment rendre compte d'un "niveau inférieur". Et ce n'est pas un forum Python qui va pouvoir vous aider.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

Discussions similaires

  1. Réponses: 1
    Dernier message: 03/05/2009, 06h40
  2. HttpWebRequest fonctionne sur une appli console, pas sur une appli Web
    Par hollywood dans le forum Général Dotnet
    Réponses: 4
    Dernier message: 23/04/2009, 14h34
  3. Réponses: 0
    Dernier message: 03/04/2008, 15h14
  4. Réponses: 0
    Dernier message: 07/12/2007, 13h12
  5. [Access] Requête sur une table et tri sur une autre
    Par VooDooS dans le forum Langage SQL
    Réponses: 2
    Dernier message: 30/08/2006, 15h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo