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 et 8bits/32bits sur format png


Sujet :

Python

  1. #1
    Membre confirmé Avatar de memento80
    Homme Profil pro
    Boulot : ne rentre pas dans une case
    Inscrit en
    Novembre 2004
    Messages
    163
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Boulot : ne rentre pas dans une case
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2004
    Messages : 163
    Par défaut PIL et 8bits/32bits sur format png
    Bonjour tout le monde,

    J'ai un problème faisant suite à une précédente discussion que j'avais ouverte :
    http://www.developpez.net/forums/d12...ux-images-png/

    Je voulais comparer 2 images en png et noter les différences. Bien, je ne reviens pas là-dessus car ça fonctionne très bien... à un détail près.

    Les images que je dois comparer sont uploadées via un site web par les utilisateurs.
    Le problème vient que, ne connaissant pas, je n'ai pas pris en compte qu'il existait différents "formats" .png réagissant différemment.
    En effet, je m'étais basé sur des images "32bits" alors que certains utilisateurs m'envoient des images "8bits" et le programme de comparaison (du précédent lien) plante car la commande suivante ne donne pas le même résultat en fonction de l'image "8bits" ou "32bits".
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    couleurImgValid = imgValid.getpixel(position) # Prendre la couleur sur le pixel de l'image
    En "8bits", j'obtiens un integer. En "32bits", j'obtiens bien la liste [r,g,b,a] correspondant aux 3 couleurs + la transparence. Et bien entendu, je ne peux comparer les 2.

    J'ai bien essayer de convertir (Method "convert") mais il ne veut pas convertir un mode "P" en "RGBA" (voir mode : http://www.pythonware.com/library/pi...k/concepts.htm) ou d'ré-enregistrer l'image "8bits" de l'utilisateur en "32bits" avant d'essayer de la faire comparer mais elle reste désespérément en 8bits et inexploitable.

    code essayé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    imgATester.save(img, "png", bits=32) # Sauvegarde de l'image
    Si vous avez quelques pistes, je vous en serai reconnaissant.
    Merci.

  2. #2
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 111
    Par défaut
    Bonjour,

    Avez-vous essayé cette option avec PIL?

  3. #3
    Membre confirmé Avatar de memento80
    Homme Profil pro
    Boulot : ne rentre pas dans une case
    Inscrit en
    Novembre 2004
    Messages
    163
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Boulot : ne rentre pas dans une case
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2004
    Messages : 163
    Par défaut
    Bonsoir,

    Non, je ne connaissais pas. Merci, c'est intéressant.

    Néanmoins, de ce que je comprends (à cette heure, je ne comprends peut-être plus très bien), c'est pour comparer deux images et voir si elles sont identiques ou non. Moi, j'avais besoin vraiment de ressortir les pixels qui étaient différent dans des zones bien précises de l'image.
    En gros, un utilisateur avait le droit d'avoir une image différente mais que sur certaines zones de l'image seulement (pour effectuer le coloriage d'une zone par exemple). Et de sortir en erreur si des pixels "interdits" avaient été modifiés (voir mon précédent post).

    Je vois que ImageChops permet aussi pas mal de trucs que je ne connaissais pas. Encore des possibilités supplémentaires peut-être. Pffiouuuuu ! J'ai l'impression d'être en quête du Graal dans toutes ces fonctions, methods and co.. toutes plus ou moins connues. Même si c'est intéressant, je m'y perds dans tout ça.

    D'où mon appel à l'aide d'ailleurs..

  4. #4
    Membre Expert Avatar de plxpy
    Homme Profil pro
    Ingénieur géographe
    Inscrit en
    Janvier 2009
    Messages
    792
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur géographe
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2009
    Messages : 792
    Par défaut
    Bonjour

    est-ce que dans l'image de référence, celle que "colorient" les utilisateurs avant d'uploader le résultat, il existe des pixels autres que :
    • des pixels transparents (a == 0 et r, g et b quelconques)
    • des pixels avec r == g == b ?


    Est-ce que, comme dans l'exemple de l'ancienne discussion, la composante a vaut soit 0 soit 255 ?

  5. #5
    Membre confirmé Avatar de memento80
    Homme Profil pro
    Boulot : ne rentre pas dans une case
    Inscrit en
    Novembre 2004
    Messages
    163
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Boulot : ne rentre pas dans une case
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2004
    Messages : 163
    Par défaut
    Hola,

    Voici en PJ l'image de référence.

    Les utilisateurs doivent colorier les pixels blancs et ne pas toucher, ni aux pixels déjà colorés, ni aux pixels transparents.

    Ce sujet avait été brillamment résolu lors de mon précédent sujet.

    Depuis, j'ai été confronté à 2 problèmes :
    Le premier, c'est qu'en fonction du logiciel de retouche d'image, certains gardent bien les pixels transparents, d'autres (comme le bête Paint) trompent l'utilisateur en remplaçant à l'enregistrement les pixels transparents par des pixels blancs.
    Du coup, j'ai modifié mon programme pour que lorsque je vérifie la transparence du pixel, s'il est transparent, super ! je fais rien... mais s'il est blanc, alors je le remets transparent.
    Problème résolu.

    Mon deuxième soucis plus récent, est donc qu'un utilisateur peut enregistrer, toujours sans le savoir, en 8bits... et visiblement, l'image perd sa notion de rgba et mon programme du sujet précédent ne fonctionne plus pour la raison cité au début :
    En "8bits", j'obtiens un integer. En "32bits", j'obtiens bien la liste [r,g,b,a] correspondant aux 3 couleurs + la transparence. Et bien entendu, je ne peux comparer les 2.
    D'où mon idée de convertir l'image 8bits avant de la traiter ou de la ré-enregistrer en 32bits (un logiciel de retouche d'image sait bien le faire.. alors pourquoi pas en Python, non ?).
    Ou une autre idée peut-être ? Peut-être détecter si c'est du 8 ou 32 bits et traiter l'image différemment ? Mais c'est un peu lourd, surtout si on prend en compte encore d'autres format et un traitement différent pour chaque format..
    Images attachées Images attachées  

  6. #6
    Membre Expert Avatar de plxpy
    Homme Profil pro
    Ingénieur géographe
    Inscrit en
    Janvier 2009
    Messages
    792
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur géographe
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2009
    Messages : 792
    Par défaut
    Citation Envoyé par memento80
    J'ai bien essayer de convertir (Method "convert") mais il ne veut pas convertir un mode "P" en "RGBA"
    Et pour cause : ça reviendrait à passer d'un niveau de gris (mode P) à une couleur (triple RGB). Déjà qu'il n'y a pas de consensus pour passer d'un triplet RGB à un niveau de gris, alors le chemin inverse... Et quand bien même : n'oublie pas que P c'est 256 valeurs alors quee RGB c'est 256*256*256 (plus de 16 millions de valeurs) : à partir d'un niveau de gris, tu ne peux pas remonter au triplet (r,g,b) initial et plusieurs triplets (r,g,b) donnent le même niveau de gris. Quelle que soit la loi de transformation choisie.

    Bref, si tu proposes une image de référence en couleur + transparence (rgba) et qu'on te fournit une image noir et blanc, tu ne peux pas comparer les pixels "non libres" (à ne pas colorier). Tu peux, au mieux, en te basant sur TON image référence, aller chercher (fonction de la position dans l'image) les pixels "coloriés" dans l'image qu'on te livre et modifier ton image référence.

    Ou proposer une image référence en noir et blanc. Mais rien n'empêchera un utilisateur d'utiliser l'image référence couleur et te renvoyer une image noir et blanc.

  7. #7
    Membre confirmé Avatar de memento80
    Homme Profil pro
    Boulot : ne rentre pas dans une case
    Inscrit en
    Novembre 2004
    Messages
    163
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Boulot : ne rentre pas dans une case
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2004
    Messages : 163
    Par défaut
    Ca ne me choque pas vraiment que la conversion ne fonctionne pas, surtout dans ce sens.. C'était surtout pour expliquer mon approche.
    Et encore, je ne m'y connais pas du tout d'une manière générale dans le traitement d'image mais, on pourrait penser naïvement, qu'une couleur d'un mode "P" à une couleur d'un mode "RGBA" reste avant tout... une couleur. Et même si le panel de couleur n'est pas comparable, on aurait pu envisager une conversion de la couleur de type "P" à une couleur de type "RGBA". Et d'ailleurs vu que le panel est plus étendu en "RGBA", ça aurait pu être plus facile finalement de convertir un "P" en "RGBA" que l'inverse.
    Mais bon, c'était surement naïf/simpliste dans ce que j'imaginais.

    Citation Envoyé par plxpy
    Bref, si tu proposes une image de référence en couleur + transparence (rgba) et qu'on te fournit une image noir et blanc, tu ne peux pas comparer les pixels "non libres" (à ne pas colorier). Tu peux, au mieux, en te basant sur TON image référence, aller chercher (fonction de la position dans l'image) les pixels "coloriés" dans l'image qu'on te livre et modifier ton image référence.
    Euh... oui mais pour aller chercher l'image qu'on me livre et modifier mon image de référence, il faut bien que je convertisse les pixels de l'image qu'on me livre pour les appliquer à mon image de référence.. ?

  8. #8
    Membre Expert Avatar de plxpy
    Homme Profil pro
    Ingénieur géographe
    Inscrit en
    Janvier 2009
    Messages
    792
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur géographe
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2009
    Messages : 792
    Par défaut
    Citation Envoyé par memento80
    Et d'ailleurs vu que le panel est plus étendu en "RGBA", ça aurait pu être plus facile finalement de convertir un "P" en "RGBA" que l'inverse.
    plus facile == il y a (plein) de choix/possibilités
    Et, justement, si tu construis une comparaison sur un choix que tu ne maitrises pas...


    Citation Envoyé par memento80
    on pourrait penser naïvement, qu'une couleur d'un mode "P" à une couleur d'un mode "RGBA" reste avant tout... une couleur.
    mode P <==> dimension 1 <==> niveau de gris
    mode RGB <==> dimension 3 <==> 3 valeurs, une rouge, une verte, une bleue

    Et quand j'écrivais dans un post précédent que plusieurs triplets RGB sont transformés en une seule et même valeur de niveau de gris, il ne faut pas imaginer qu'ils (les triplets RGB) correspondent forcément à des triplets très proches (à des valeurs visuelles très proches).

    A la suite, je suis parti d'une image (RGBA) du cercle chromatique trouvée sur le web. J'ai pris une loi de transformation (r,g,b) => niveau de gris (adresse indiquée dans le source).

    Pour ne pas qu'il y ait trop d'images tout en restant "visuellement" intéressant, j'ai découpé l'espace [0,255] en 8 plages (images) de 32 niveaux : [0,31], [32,63], ... [224,255].

    Pour chaque plage, j'ai noirci les pixels qui ont une valeur de niveau de gris dans la plage traitée et ai créé une nouvelle image.

    Tu vois bien que ça peut énormément varier : une couleur à forte dominante ROUGE et une couleur à forte dominante BLEUE peuvent avoir un rendu assez semblable en noir et blanc :

    l'image de départ




    en noir, les pixels qui ont une valeur panchro entre 0 et 31
    (il y en a 6 ... dur à voir)



    entre 32 et 63



    entre 64 et 95



    entre 96 et 127



    entre 128 et 159



    entre 160 et 191



    entre 192 et 223



    entre 224 et 255




    le source correspondant


    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
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    # -*- coding:utf-8 -*-
     
    from PIL import Image
     
     
    # loi utilisée pour passer d'un triple RGB à un niveau de gris
    # (voir http://bech.free.fr/docs/colorim.htm) :
    #
    # [...] Les proportions : 2 / 7eme de rouge, 4 / 7eme de vert et 1 / 7eme de bleu
    # sont plus réalistes. En télévision, on prend (aux décimales près) 30 % de rouge,
    # 59 % de vert et 11 % de bleu. [...]
     
     
    panchro = lambda rgba: int(float(30*rgba[0]+59*rgba[1]+11*rgba[2])/100.+0.5)
     
     
     
    # 256 = 8 (images) * 32 (niveaux de gris)
     
     
    def main():
     
        # ma référence
        # c'est du mode RGBA
        cercle = Image.open('cerclechromatique.png')
        pixels = tuple(cercle.getdata())
     
        for i in range(8):
     
            # plage recherchée [mini,maxi] en niveau de gris
            # nombre de pixels du cercle chromatique qui sont concernées
            mini, maxi, changements = i*32, (i+1)*32-1, 0
     
            # je crée un nouvelle image et une liste de nouveaux pixels
            new = Image.new(cercle.mode,cercle.size)
            new_pixels = list()
     
            for pixel in pixels:
     
                # pixel transparent : on se fout des valeurs RGB
                if pixel[-1] == 0:
                    new_pixels.append(pixel)
     
                else:
                    # quel niveau de gris selon la loi "panchro pour la télévision"
                    val = panchro(pixel)
     
                    # on est dans la plage recherchée
                    # je mets un pixel noir (0,0,0) avec la transparence initiale
                    # pour bien localiser sur le cercle chromatique
                    if mini <= val <= maxi:
                        changements += 1
                        new_pixels.append((0,0,0)+(pixel[-1],))
     
                    # on n'y touche pas
                    else:
                        new_pixels.append(pixel)
     
            # je sauegarde la nouvelle image correspondante
            new.putdata(new_pixels)
            new.save('panchro_entre_%03d_et_%03d.png' % (mini,maxi))
     
            print "entre %d et %d, %d pixels ont été modifiés" % (mini,maxi,changements)


    Donc...

    Si tu veux vraiment vérifier que l'utilisateur ne "déborde" pas, tu es mal. Tu vas devoir changer d'approche pour traiter les images panchromatiques (noir et blanc).

    Sinon, sers toi de ton image référence comme d'un masque, vas chercher uniquement les valeurs (noir et blanc ou couleurs selon ce qu'on te donne) et construis l'image résultat. Pour ne pas accepter n'importe quelle image, tu peux, au minimum, vérifier que les dimensions de l'image que tu reçois sont les mêmes que celles de ton image modèle.

    [EDIT]
    même phénomène - plages regroupées dans une même image noir et blanc. Les pixels transparents originaux sont en blanc (255)


  9. #9
    Membre confirmé Avatar de memento80
    Homme Profil pro
    Boulot : ne rentre pas dans une case
    Inscrit en
    Novembre 2004
    Messages
    163
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Boulot : ne rentre pas dans une case
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2004
    Messages : 163
    Par défaut
    Merci beaucoup pour cette réponse illustrée.

    Ce que je ne cernais pas et qui m'induisais en erreur aussi, c'est qu'on arrive à avoir un notion de transparence en 8bit. Mais d'après ce que j'ai lu, c'est possible. La transparence ne peut juste, apparemment, pas avoir de nuance.

    Sinon, j'ai vu en furetant à droite à gauche qu'il y avait des moyens de conversion avec des outils genre OpenCV et Cie. Mais bon, ça m'a l'air pas mal complexe et, si c'est faisable, c'est peut-être "écraser une mouche avec un bulldozer".

    Citation Envoyé par plxpy
    Si tu veux vraiment vérifier que l'utilisateur ne "déborde" pas, tu es mal. Tu vas devoir changer d'approche pour traiter les images panchromatiques (noir et blanc).
    Ca aurait été possible mais mes images sont réutilisés ensuite pour d'autres choses et je vais me générer des problèmes en cascade en conservant des images 8bit.

    Citation Envoyé par plxpy
    Sinon, sers toi de ton image référence comme d'un masque, vas chercher uniquement les valeurs (noir et blanc ou couleurs selon ce qu'on te donne) et construis l'image résultat. Pour ne pas accepter n'importe quelle image, tu peux, au minimum, vérifier que les dimensions de l'image que tu reçois sont les mêmes que celles de ton image modèle.
    Tu veux dire, qu'au final, conserver une image 8bit "reconstruite" ? Si c'est le cas, c'est faisable mais même soucis que précédemment.

    Pour les dimensions, je les vérifie déjà mais bon.. pour le coup, ça serait "écraser un éléphant avec une tapette à mouche" : pas suffisant (même en tapant très fort).

    Je fournis une image modèle RGBA, on va dire que j'en attends une RGBA en retour et que je refuse les autres en attendant de trouver mieux comme solution.. ouep, c'est pas terrible non plus mais ça me fera pas planter mon traitement pour l'instant... dans l'attente de trouver une autre solution.

  10. #10
    Membre Expert Avatar de plxpy
    Homme Profil pro
    Ingénieur géographe
    Inscrit en
    Janvier 2009
    Messages
    792
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur géographe
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2009
    Messages : 792
    Par défaut
    Je me suis planté sur la signification du mode 'P' : c'est P pour palette et non panchro (déformation professionnelle). Ce que j'ai raconté après c'est vrai mais ça ne concerne pas tes images.

    Pourrais-tu poster quelques exemples d'images coloriées en mode 'P' ? Il doit y avoir moyen de remonter aux triplets RGB

  11. #11
    Membre confirmé Avatar de memento80
    Homme Profil pro
    Boulot : ne rentre pas dans une case
    Inscrit en
    Novembre 2004
    Messages
    163
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Boulot : ne rentre pas dans une case
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2004
    Messages : 163
    Par défaut
    Ok.
    Si je ne me suis pas trompé dans les manipulations, voila 2 images toutes simples.

    Une en 32bit, l'autre, visuellement identique en 8bit.
    Comment pouvoir les comparer pour dire qu'elles sont "identiques", par exemple ?

    Edit : Les comparer sans dégrader celle en 32bit évidemment... car c'est celle que je veux garder en référence.
    Enfin bon, restons sur ce que je disais avant : "comment convertir la couleur du pixel 8bit en 32bit ?".
    Images attachées Images attachées   

  12. #12
    Membre Expert Avatar de plxpy
    Homme Profil pro
    Ingénieur géographe
    Inscrit en
    Janvier 2009
    Messages
    792
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur géographe
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2009
    Messages : 792
    Par défaut
    euh ...

    J'ai bien essayer de convertir (Method "convert") mais il ne veut pas convertir un mode "P" en "RGBA"
    tu as vraiment essayé ? sur une autre image ? parce qu'avec les derniers exemples, c'est OK :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    >>> rgba = Image.open('CasqueRGBA.png')
    >>> p = Image.open('CasqueP.png')
    >>> converti = p.convert('RGBA')
    >>> 
    >>> tuple(rgba.getdata()) == tuple(converti.getdata())
    True

  13. #13
    Membre confirmé Avatar de memento80
    Homme Profil pro
    Boulot : ne rentre pas dans une case
    Inscrit en
    Novembre 2004
    Messages
    163
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Boulot : ne rentre pas dans une case
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2004
    Messages : 163
    Par défaut


    [CENSURE] Effectivement.... ça marche.
    J'ai retrouvé le code que j'avais essayé (merci le CTRL+Z de Notepad) et j'avais mis RGBA....... en minuscule.
    Ce qui me donnait l'erreur suivante (pour ceux qui tomberait sur ce post en recherchant) :
    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
    Traceback (most recent call last):
      File "C:\Python32\lib\site-packages\PIL\Image.py", line 702, in convert
        im = self.im.convert(mode, dither)
    ValueError: conversion not supported
     
    During handling of the above exception, another exception occurred:
     
    Traceback (most recent call last):
      File "J:\Developpement\sf100\python\script\Trt_ValidImages.py", line 263, in <module>
        fctVerifImg("casque", "imc", imgCasqOrig, repCibleCasq, dictImgCasqTraitee, dictImgCasqValidee, 99)
      File "J:\Developpement\sf100\python\script\Trt_ValidImages.py", line 70, in fctVerifImg
        imgATester.convert('rgba') # Sauvegarde de l'image
      File "C:\Python32\lib\site-packages\PIL\Image.py", line 707, in convert
        im = im.convert(mode, dither)
    ValueError: conversion from RGB to rgba not supported
    Ca + plus des infos que j'avais bêtement trouvé sur le net (dont notemment le mode "RGBA" en minuscule) et j'en ai déduit qu'on ne pouvait pas convertir dans ce sens.

    J'arrive bien du coup à la convertir et l'enregistrer en 32bit.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    imgATester = imgATester.convert('RGBA') # Conversion de l'image
    imgATester.save(nomRepFic, "png", bits=32) # Sauvegarde de l'image
    Désolé de t'avoir fait perdre du temps.
    En lot de consolation, nous avons eu droit à un cours de "panchromatique".

    Merci encore.

  14. #14
    Membre Expert Avatar de plxpy
    Homme Profil pro
    Ingénieur géographe
    Inscrit en
    Janvier 2009
    Messages
    792
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur géographe
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2009
    Messages : 792
    Par défaut
    ton gage : me trouver un casque correspondant à mon vanvan K9 "fushia !" rapport à mon totem avatar.

  15. #15
    Membre confirmé Avatar de memento80
    Homme Profil pro
    Boulot : ne rentre pas dans une case
    Inscrit en
    Novembre 2004
    Messages
    163
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Boulot : ne rentre pas dans une case
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2004
    Messages : 163
    Par défaut


    Euh.. J'ai bon ?
    Ou je peux te le colorier en python si tu veux..
    Images attachées Images attachées  

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

Discussions similaires

  1. Image format png
    Par JlouisI dans le forum Delphi
    Réponses: 8
    Dernier message: 28/06/2006, 19h12
  2. algorithme de compression des data en format PNG
    Par vbany dans le forum Autres éditeurs
    Réponses: 2
    Dernier message: 07/04/2006, 14h08
  3. Problème sur format
    Par G.D.O dans le forum ASP
    Réponses: 1
    Dernier message: 02/12/2005, 14h49
  4. Recherche de documentation sur format jpg
    Par LinkII dans le forum Algorithmes et structures de données
    Réponses: 11
    Dernier message: 16/07/2005, 10h47
  5. Utilisation d'images au format png
    Par chtiot dans le forum Langage
    Réponses: 2
    Dernier message: 24/10/2003, 15h56

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