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 :

[PIL] Modification image, tuples


Sujet :

Python

  1. #1
    Membre averti
    Homme Profil pro
    terminale S
    Inscrit en
    Juillet 2012
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : terminale S

    Informations forums :
    Inscription : Juillet 2012
    Messages : 27
    Par défaut [PIL] Modification image, tuples
    Bonjour, désolé pour le titre pas très explicite, mais je ne trouvai rien.
    Je suis en trin de faire un petit programme qui augmente les contraste d'une image :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    from PIL import Image
     
     
    im=Image.open("Moustique.jpeg")
    #im.show()
    w,h=im.size
    im2 = Image.new("RGB", (w,h))
     
    for y in range (h):
     
        for x in range(w):
            p = im.getpixel((x,y))
     
            for i in range (0,3):
                if p[i]<30:
                    p[i]=0
                if p[i]>225:
                    p[i]=255
                else :
                    p[i] = int((255.0 / 195.0) * (p[i] - 30) + 0.5)
     
     
            im2.putpixel((x,y),(p[0],p[1],p[2]))
     
     
            #endif
        #endfor
    #endfor
     
    im2.save("im_contrast.jpg")
    im2.show()
    J'ai trouvé les formules inférieur a 30, supérieur a 225 et le calcul sur ce site : http://www.apprendre-en-ligne.net/in...ges/index.html

    Donc je lance le programme et j'obtient :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    http://www.apprendre-en-ligne.net/info/codage/images/index.html


    Pourtant je ne modifie pas mon tuple directement, mais chacune de ses composantes une à une.
    Alors si quelqu'un pouvait m’éclaircir un peu, ça serait très gentil

  2. #2
    Expert confirmé
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 486
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 486
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    Je viens d'essayer ton code, et ça a l'air de fonctionner: la nouvelle photo est effectivement plus contrastée.

    Par contre, j'ai eu une erreur à "p[i]=0" parce que p est un tuple. Mais il suffit de convertir p en list: "p = list(im.getpixel((x,y)))".

    Peux-tu préciser ton problème?

  3. #3
    Membre averti
    Homme Profil pro
    terminale S
    Inscrit en
    Juillet 2012
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : terminale S

    Informations forums :
    Inscription : Juillet 2012
    Messages : 27
    Par défaut
    Ah oui effectivement, j'ai oublié de mettre l'erreur que j'obtient !
    La voici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Traceback (most recent call last):
      File "C:\python\isnprojetbac\Filtres_Cameleon\filtre_contrast.py", line 31, in <module>
        p[i] = int((255.0 / 195.0) * (p[i] - 30) + 0.5)
    TypeError: 'tuple' object does not support item assignment
    Je vais essayer de convertir p en liste, merci de votre réponse.

  4. #4
    Membre averti
    Homme Profil pro
    terminale S
    Inscrit en
    Juillet 2012
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : terminale S

    Informations forums :
    Inscription : Juillet 2012
    Messages : 27
    Par défaut
    Cela marche, merci beaucoup !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [PIL] save image
    Par jhonnyBravo dans le forum Calcul scientifique
    Réponses: 8
    Dernier message: 12/05/2007, 12h48
  2. Sur survole modification image précédente
    Par 12_darte_12 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 01/12/2006, 16h02
  3. Réponses: 2
    Dernier message: 27/07/2006, 09h14
  4. [PIL] Librairie Image
    Par Corpio dans le forum Calcul scientifique
    Réponses: 2
    Dernier message: 13/04/2006, 17h40
  5. [Tkinter et PIL] L'image disparait.......
    Par airod dans le forum Tkinter
    Réponses: 3
    Dernier message: 20/01/2006, 20h44

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