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 :

Modification de Pixels dans un espace d'une image [Python 3.X]


Sujet :

Python

  1. #1
    Membre du Club
    Femme Profil pro
    �tudiant
    Inscrit en
    D�cembre 2019
    Messages
    6
    D�tails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (�le de France)

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : D�cembre 2019
    Messages : 6
    Par d�faut Modification de Pixels dans un espace d'une image
    Bonjour � tous, je voudrais savoir comment modifier la couleur de tout pixel � l'int�rieur d'un intervalle [a,b] o� a et b sont des points de coordonn�es d'une image.

    Par exemple, ici j'aimerais changer tous les pixels dans [a,b] en blanc :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    '''INITIALISATION DE L'IMAGE'''
     
    im = Image.open("/home/jooker/Bureau/Appli/images/scan01.png")
    pixels = im.load()
     
    '''SUPPRESSION TEXTE ORIGINAL'''
     
    (largeur, hauteur) = im.size
     
    for x in range(largeur):            #parcours toutes colonnes
        for y in range(hauteur):       #parcours toutes lignes
    Apr�s parcourir toute l'image avec les 2 boucles, j'ai essay� plusieurs m�thodes mais aucunes ne fonctionnent, je demande alors si vous savez comment faire ?

  2. #2
    Membre Expert
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2013
    Messages
    1 617
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 617
    Par d�faut
    Une petite recherche sur le net permettrait d'avancer pas mal...

  3. #3
    Expert �minent
    Homme Profil pro
    Architecte technique retrait�
    Inscrit en
    Juin 2008
    Messages
    21 775
    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 775
    Par d�faut
    Salut,

    Citation Envoy� par Jooker188 Voir le message
    je demande alors si vous savez comment faire ?
    On ouvre la documentation de la biblioth�que qui d�finit Image pour y chercher une "method" qui permette de modifier tout un "intervalle" et s'il n'y en a pas celles qui permette de modifier un pixel.

    Puis on �crit quelques lignes de code pour s'assurer qu'on arrive bien � faire fonctionner ces "method"s. Si ce n'est pas le cas, on cherche un peu sur Internet...

    Enfin, dans les cas d�sesp�r� on vient poster ici ce qu'on a essay� de faire et demander de l'aide.

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

  4. #4
    Membre du Club
    Femme Profil pro
    �tudiant
    Inscrit en
    D�cembre 2019
    Messages
    6
    D�tails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (�le de France)

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : D�cembre 2019
    Messages : 6
    Par d�faut
    Bonjour, tout d'abord merci de m'avoir r�pondu aussi rapidement.
    Je crois que je me suis mal exprim�, quand je vous demandais si vous saviez comment faire, ce n'est pas parce que je n'ai pas cherch�, c'est parce que j'ai r�ellement besoin d'aide car je ne trouve pas la "method" justement.
    Je ne vous ai pas mis mes diff�rentes exp�rimentations, et je m'en excuse, tenez voici une de mes piste :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
     
    im = Image.open("/home/jooker/Bureau/Appli/images/scan01.png")
    pixels = im.load()
     
    p_haut_gauche = pixels[50,50]
    p_bas_droit = pixels[150,150]
    surface = [p_haut_gauche , p_bas_droit]
    largeur,hauteur = surface
     
    for x in range(largeur):   #parcours toutes colonnes
    	for y in range(hauteur): #parcours toutes lignes
    			im.putpixel((x,y),(255,0,0))
    Je sais tr�s bien comment modifier la couleur d'un pixel par (.putpixel() ou juste image[x,y] = (r,g,b)), ce que je ne trouve pas cependant c'est agir dans un intervalle dans l'image. Je parle d'intervalle de coordonn�es et non intervalle de couleurs, en effet toutes mes recherches sur internet concernant les intervalles portent sur les couleurs..
    J'ai alors pens� a cr�er un intervalle allant du point en haut a gauche jusqu'au point en bas � droite de la surface que je d�sire modifier. Mais je n'arrive pas a l'�crire correctement en python (ou alors c'est juste une mauvaise approche). J'ai aussi proc�d� comme ceci :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
     
    largeur,hauteur = im.size	
     
    for x in range(largeur):   #parcours toutes colonnes
    	for y in range(hauteur): #parcours toutes lignes
    		if x or y in surface:
    			im.putpixel((x,y),(255,0,0))
    Mais peu concluant..
    Je vous demande alors si vous pouvez me mettre sur la piste pour mettre en place ce fameux intervalle ?

  5. #5
    Expert �minent
    Homme Profil pro
    Architecte technique retrait�
    Inscrit en
    Juin 2008
    Messages
    21 775
    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 775
    Par d�faut
    Citation Envoy� par Jooker188 Voir le message
    J'ai alors pens� a cr�er un intervalle allant du point en haut a gauche jusqu'au point en bas � droite de la surface que je d�sire modifier.
    Un intervalle est dans un espace 1D.
    Une image � au moins 2 dimensions. Donc on va avoir une r�gion rectangulaire d�limit�e par la position du point en haut � gauche et celle du point en bas � droite.

    Citation Envoy� par Jooker188 Voir le message
    c'est parce que j'ai r�ellement besoin d'aide car je ne trouve pas la "method" justement.
    Ouvrez la documentation et lisez ce que �� raconte sur paste.

    note: si vous le faites point par point via putpixel vous avez la method � utiliser pour modifier l'image mais vous ne savez pas �crire une boucle qui va de x0 a x1 et de y0 a y1... Pour apprendre � utiliser des constructions de base, la m�thode c'est ouvrir un tuto.

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

  6. #6
    Membre du Club
    Femme Profil pro
    �tudiant
    Inscrit en
    D�cembre 2019
    Messages
    6
    D�tails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (�le de France)

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : D�cembre 2019
    Messages : 6
    Par d�faut
    Merci �norm�ment wiztricks !
    C'est bien .paste() qu'il faut employer, il n'y a m�me pas besoin de faire de boucles.
    Cependant, comment proc�der pour "coller' les pixels en forme de rond et non rectangulaire ?

  7. #7
    Expert �minent
    Homme Profil pro
    Architecte technique retrait�
    Inscrit en
    Juin 2008
    Messages
    21 775
    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 775
    Par d�faut
    Citation Envoy� par Jooker188 Voir le message
    Cependant, comment proc�der pour "coller' les pixels en forme de rond et non rectangulaire ?
    C'est un autre sujet puisqu'on ne parle plus d'intervalle ou de r�gion.

    Un rond n'est pas une image puisqu'une image est une chose qui remplit une r�gion rectangulaire (pouvant contenir un "disque" ou un "cercle".
    Donc si j'ai une image qui contient un "disque" et que je ne veux pas coller les "bords" de ce disque, je peut rendre les pixels de ces "bords" transparents.

    Une autre m�thode est de dessiner un disque via ImageDraw.

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

  8. #8
    Membre du Club
    Femme Profil pro
    �tudiant
    Inscrit en
    D�cembre 2019
    Messages
    6
    D�tails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (�le de France)

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : D�cembre 2019
    Messages : 6
    Par d�faut
    Super merci !!
    Je mets en r�solu la discussion.
    Bonne journ�e

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. [D�butant] calcul nombre pixels dans chaque angle d'une cercle trigonom�trique
    Par rabaamohamed dans le forum Images
    R�ponses: 2
    Dernier message: 18/07/2016, 10h05
  2. D�riv�e dans l'espace d'une surface
    Par gregowy dans le forum MATLAB
    R�ponses: 0
    Dernier message: 04/05/2014, 20h41
  3. [Tableaux] variable dans la source d'une image
    Par theotaki dans le forum Langage
    R�ponses: 3
    Dernier message: 12/04/2007, 23h33
  4. R�ponses: 2
    Dernier message: 10/12/2006, 16h19

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