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

Calcul scientifique Python Discussion :

manipulation d'image avec python


Sujet :

Calcul scientifique Python

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2014
    Messages : 4
    Points : 2
    Points
    2
    Par défaut manipulation d'image avec python
    J'aurais une petite question aussi concernant la manipulation d'image avec Python: comment faire la moyenne de 4 pixels chacun avec une intensité (r,v,b)pour en faire un nouveau pixel (dont sa valeur est la moyenne de ces 4 pixels) ?
    Merci

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 381
    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 381
    Points : 36 928
    Points
    36 928
    Par défaut
    Salut,
    Image et pixel ne sont pas des objets de base Python.
    Si vous ne montrez pas avec quoi vous récupérez l'image et un minimum de code, on ne va pas pouvoir vous aider beaucoup.
    - W

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2014
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    je dois diviser la taille d'une image par 2 ou chaque bloc de 2x2 pixels sera remplace par un unique pixel .

    def reduction (image_tab):
    for i in range (len(image_tab)):
    image_tab4=numpy.zeros([len(image_tab)//2,len(image_tab[i])//2,3], dtype=numpy.uint8)
    for j in range (len(image_tab[i])):

    voila le début de mon algorithme mais après je ne sais pas comment donner à image_tab4[i//2][j//2] la valeur des 4 pixels

    sachant que image_tab transforme l'image en un tableau à 2 dimensions.

    J4avais pensé à faire la moyenne de chaque intensité et de diviser par 4 ensuite mais je voulais savoir s'il n'y avait pas une méthode plus rapide

  4. #4
    Expert éminent

    Avatar de deusyss
    Homme Profil pro
    Expert Python
    Inscrit en
    Mars 2010
    Messages
    1 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Expert Python
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2010
    Messages : 1 659
    Points : 8 442
    Points
    8 442
    Par défaut
    Bonjour,

    POur poster du code, il faut utiliser le bouton "#" en haut de la fenetre de post.

    Sinon, pour ce qui est manipulation d'image, utiliser PIL (Python Image Library). Tu pourras ainsi une fois l'image chargé manipuler ses données. Par exemple: ICI

  5. #5
    Expert éminent
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    3 925
    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 : 3 925
    Points : 7 328
    Points
    7 328
    Par défaut
    On peut aller voir du côté du module scipy.ndimage pour les manipulations et les calculs sur des images.

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2014
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Merci pour ces renseignements, ils seront fort utiles !

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2013
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2013
    Messages : 43
    Points : 60
    Points
    60
    Par défaut
    Bonjour,

    Je vais peut être dire une bêtise mais cette manipulation n'est pas automatique lorsque tu réduis une image?

    Si c'est bien le cas il suffit d'utiliser la fonction "thumbnail" de PIL

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    # -*-coding:Latin-1 -*
    import glob
    import Image
     
    im = Image.open("toto.png")
    im.thumbnail([int(im.size[0]*0.5),int(im.size[1]*0.5)])
    im.save("toto2.png","PNG")
    Des rapides testes que j'ai fais la réduction fait bien la moyenne de chaque composant RVB.

    Ou alors je n'ai pas tout compris la subtilité et dans ce cas désolé...

  8. #8
    Expert éminent

    Avatar de deusyss
    Homme Profil pro
    Expert Python
    Inscrit en
    Mars 2010
    Messages
    1 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Expert Python
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2010
    Messages : 1 659
    Points : 8 442
    Points
    8 442
    Par défaut
    Très bonne idée Viand0x.

    Je n'y avait pas pensé, mais effectivement, fabriquer une thumbnail revient à effectuer un moyennage. TU n'a alors plus qu'à lire la valeur de chaque pixel via getpixel.

Discussions similaires

  1. Traitement d'image avec Python sans modules
    Par kevgen dans le forum Général Python
    Réponses: 4
    Dernier message: 23/11/2010, 00h02
  2. Manipulation de paragraphes avec python
    Par Twinings dans le forum Linux
    Réponses: 3
    Dernier message: 28/08/2010, 09h09
  3. Authentification et manipulation d'images avec RoR
    Par leken11 dans le forum Ruby on Rails
    Réponses: 7
    Dernier message: 28/08/2007, 12h21
  4. API Windows pour manipulation d'images avec transparence
    Par Grosbenji dans le forum Windows
    Réponses: 2
    Dernier message: 28/08/2007, 11h51

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