Informatique

Question

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 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) # dim

1 Réponse

  • 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.