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

Programmation multimédia/Jeux Python Discussion :

Module PIL et python 3


Sujet :

Programmation multimédia/Jeux Python

  1. #1
    Membre à l'essai
    Femme Profil pro
    Lycéen
    Inscrit en
    Mars 2012
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2012
    Messages : 38
    Points : 11
    Points
    11
    Par défaut Module PIL et python 3
    Bonjour,

    Dans le cadre d'un projet de stéganographie, je dois utiliser le module PIL, cependant je ne trouve pas la version compatible avec python 3. Faut-il que je repasse à python 2 ? Ou y'a t-il une autre solution ?

    Merci de votre aide.

  2. #2
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 579
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 579
    Points : 56 603
    Points
    56 603
    Billets dans le blog
    40
    Par défaut
    Salut,

    Pour le peu que je m'en suis servi, il ne me semble pas qu'il y ait eu de mise à jour pour Python 3.x, du moins pas officiellement.

    Par contre il y a un fork: Pillow, compatible Python 3.x

  3. #3
    Membre à l'essai
    Femme Profil pro
    Lycéen
    Inscrit en
    Mars 2012
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2012
    Messages : 38
    Points : 11
    Points
    11
    Par défaut
    Salut,

    Merci, ça fonctionne pour le module. J'ai, cependant un problème avec le code... Dois-je créer un nouveau sujet, où rester sur celui-ci ?

  4. #4
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 579
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 579
    Points : 56 603
    Points
    56 603
    Billets dans le blog
    40
    Par défaut
    Si c'est toujours ton pb de stéganographie avec Python3/Pillow, je suppose que tu peux continuer ici.

  5. #5
    Membre à l'essai
    Femme Profil pro
    Lycéen
    Inscrit en
    Mars 2012
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2012
    Messages : 38
    Points : 11
    Points
    11
    Par défaut
    Très bien !

    Ce que je dois faire :Il s'agit de récupérer chaque bits de poids faible d'un pixel (un pixel étant constitué des composantes r, g et b) pour obtenir un binaire final afin d'avoir un mot de passe. L'image est au format BMP.

    Voici mon code :

    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
    from PIL import Image # Module Image Python 'Imaging Library' pour charger et effectuer des opérations sur une image.
     
    img = Image.open('stega.bmp') # On ouvre l'image.
    width, height = img.size # On récupère la taille de l'image en largeur et longueur.
    binary_string = "" # Stockera notre chaîne binaire récupérée. Pour l'instant vide.
    lsb_extracted = "" # Stockera notre lsb récupéré. Pour l'instant vide.
    text = "" # Stockera notre texte récupéré. Pour l'instant vide.
        # On parcourt les pixels de notre image de x en y.
    for x in range(width):
            for y in range(height):
                    r, g, b = img.getpixel((x, y)) # Récupération des valeurs ASCII des composantes r, g et b.
     
                    r = str(bin(r)[2:]).zfill(8) # Conversion de la composante r décimale en binaire.
                    g = str(bin(g)[2:]).zfill(8) # Conversion de la composante g décimale en binaire.
                    b = str(bin(b)[2:]).zfill(8) # Conversion de la composante b décimale en binaire.
     
                    binary_string += r[-1] # Récupération du bit de poids le plus faible de la composante r
                    binary_string += g[-1] # Même chose
                    binary_string += b[-1] # Même chose
     
    lsb_extracted = str([chr(int(binary_string[i:i+8], 2)) for i in range(0, len(binary_string), 8)]) # Conversion binaire par groupe de 8 bits vers décimale. Puis conversion en caractère depuis leur nombre en ASCII, et l'ajoute au texte.
     text = lsb_extracted
    print(text)
    Ce qui me retourne une liste de caractères.. Mais ce n'est pas ce à quoi je m'attendais. Je pensais avoir une phrase parfaitement intelligible. De deux choses l'une : Soit il y a une coquille dans mon code, soit j'ai omis quelque chose ayant un rapport avec le format BMP.

    Merci de votre aide.

Discussions similaires

  1. Probleme module PIL python 3.4
    Par Mima19 dans le forum Général Python
    Réponses: 2
    Dernier message: 23/04/2015, 19h55
  2. Python et le module PIL
    Par figarojuju dans le forum Debian
    Réponses: 2
    Dernier message: 21/04/2008, 09h46
  3. module tarfile avec python 2.2
    Par jhonnyBravo dans le forum Général Python
    Réponses: 4
    Dernier message: 14/05/2007, 14h01
  4. [py2exe] module PIL
    Par jbjweb dans le forum Py2exe
    Réponses: 1
    Dernier message: 26/10/2006, 09h21
  5. module .so pour python... ?!
    Par totoetlititi dans le forum Langages de programmation
    Réponses: 2
    Dernier message: 09/03/2004, 15h51

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