👤

Bonjour pouvez vous m'aidez à compléter s'il vous plaît

from PIL import Image


def encodage(image):

# ouverture de la figure

Figure2=Image.open("visage.png")

# dimensions de la figure

h,l=Figure2.size

# définition des couleurs

blanc=(255,255,255)

noir = (0, 0, 0)

# tableau des résultats

tab=[]

# étude du premier pixel

if Figure2.getpixel((0,0))==blanc:

tab.append(0)

coul=1 # coul vaut 1 si le pixel est blanc

else:

coul=0 # coul vaut 0 si le pixel est noir

# nombre de pixels de chaque sorte

nb_noirs=0

nb_blancs=0

# parcours de l'image

for y in range(...): """ compléter les pointillés """

for x in range(...): """ compléter les pointillés """

if Figure2.getpixel((x,y))==noir: # le pixel est noir

if coul==1: # le précédent était blanc

coul=0

nb_noirs=1

tab.append(nb_blancs)

else:

nb_noirs+=1

else: # le pixel est blanc

""" lignes à compléter """

if coul==1 : #traitement de la dernière série de pixels identiques

""" lignes à compléter """

return ... """ compléter les pointillés """


Bonjour Pouvez Vous Maidez À Compléter Sil Vous Plaît From PIL Import Imagedef Encodageimage Ouverture De La Figure Figure2Imageopenvisagepng Dimensions De La F class=

Répondre :

Bonsoir,

En gras tout ce que j'ai modifié. Je reste tout de même assez perplexe sur le fait qu'on mette ça dans une simple liste en ignorant les changements de ligne.

Donc là le programme renvoie un tableau avec le nombre de pixels blancs puis le nombre de pixels noirs puis le nombre de pixels blancs... en lisant l'image de gauche à droite et de haut en bas. Si tab[0] = 0 alors le premier pixel est noir, si tab[0] != 0 alors le premier pixel est blanc.

from PIL import Image

def encodage(): #Je ne comprends pas l'intérêt du paramètre "image".

   # ouverture de la figure

   Figure2 = Image.open("visage.png")

   # dimensions de la figure

   h, l = Figure2.size

   # définition des couleurs

   blanc = (255, 255, 255)

   noir = (0, 0, 0)

   # tableau des résultats

   tab = []

   # étude du premier pixel

   if Figure2.getpixel((0, 0)) == blanc:

       coul = 1 # coul vaut 1 si le pixel est blanc

   else:

       tab.append(0)

       coul = 0 # coul vaut 0 si le pixel est noir

   # nombre de pixels de chaque sorte

   nb_noirs = 0

   nb_blancs = 0

   # parcours de l'image

   for y in range(h):

       for x in range(l):

           if Figure2.getpixel((x, y)) == noir: # le pixel est noir

               if coul == 1: # le précédent était blanc

                   coul = 0

                   nb_noirs += 1

                   tab.append(nb_blancs)

                   nb_blancs = 0

               else:

                   nb_noirs += 1

           else: # le pixel est blanc

               if coul == 1: # le précédent était blanc

                   nb_blancs += 1

               else:

                   coul = 1

                   nb_blancs += 1

                   tab.append(nb_noirs)

                   nb_noirs = 0

       if coul == 1 : #traitement de la dernière série de pixels identiques

           tab.append(nb_blancs)

       else:

           tab.append(nb_noirs)

   return tab

Bonne soirée.

Merci d'avoir visité notre site, qui traite de Informatique. Nous espérons que les informations partagées vous ont été utiles. N'hésitez pas à nous contacter si vous avez des questions ou besoin d'assistance. À très bientôt, et pensez à ajouter notre site à vos favoris !


Go Class: D'autres questions