La photographie numérique

Corrigés des programmes sur les images

Méthode16 - jocondes

1
size(408,320)
2
img=loadImage("data/joconde.png")
3
for x in range(0,408,102):
4
    for y in range(0,320,80):
5
       image(img,x,y,102,80)

MéthodeEn vert

1
2
def calculindex(x,y):#le calcul de l'index
3
    return x+y*408
4
5
def setup():
6
    size(408,320)# taille de la fenêtre
7
    img=loadImage("data/joconde.png")#chargement de l'image
8
    img2=createImage(408,320,RGB)# création d'une image vide
9
    for x in range(0,408,1):# pour tous les pixels de l'image
10
        for y in range(0,320,1):
11
            index=calculindex(x,y)# calcul de l'index
12
            r=red(img.pixels[index])#composante rouge du pixel de l'image
13
            g=green(img.pixels[index])
14
            b=blue(img.pixels[index])
15
            img2.pixels[index]=color(r,255,b)# remplissage de l'image vide
16
    image(img2,0,0)# affichage des images
17
    image(img,0,0,102,80)

MéthodeNiveau de gris

1
def calculindex(x,y):#le calcul de l'index
2
    return x+y*408
3
4
def setup():
5
    size(408,320)# taille de la fenêtre
6
    img=loadImage("data/joconde.png")#chargement de l'image
7
    img2=createImage(408,320,RGB)# création d'une image vide
8
    for x in range(0,408,1):# pour tous les pixels de l'image
9
        for y in range(0,320,1):
10
            index=calculindex(x,y)# calcul de l'index
11
            r=red(img.pixels[index])#composante rouge du pixel de l'image
12
            g=green(img.pixels[index])
13
            b=blue(img.pixels[index])
14
            c=(r+g+b)/3
15
            img2.pixels[index]=color(c,c,c)# remplissage de l'image vide
16
    image(img2,0,0)# affichage des images
17
    image(img,0,0,102,80)

MéthodeNiveau de gris (EduPython)

1
# Créé par vstep, le 31/01/2019 en Python 3.4
2
from PIL import Image
3
from pylab import *
4
5
# chargement des images
6
img=Image.open("joconde.png")
7
largeur,hauteur=img.size
8
#création d'une image vide
9
img2=Image.new('RGB',(largeur,hauteur))
10
11
#traitement
12
for y in range(hauteur):
13
    for x in range(largeur):
14
        r,v,b,a=img.getpixel((x,y))
15
        c=(v+b+r)//3
16
        img2.putpixel((x,y),(c,c,c))
17
18
#affichage
19
subplot(1,2,1)
20
xticks([]), yticks([])
21
title('La joconde')
22
plt.imshow(img)
23
24
subplot(1,2,2)
25
xticks([]), yticks([])
26
title('La joconde en niveau de gris')
27
plt.imshow(img2)
28
29
show()
30
31

MéthodeNoir et blanc

1
def calculindex(x,y):#le calcul de l'index
2
    return x+y*408
3
4
def setup():
5
    size(408,320)# taille de la fenêtre
6
    img=loadImage("data/joconde.png")#chargement de l'image
7
    img2=createImage(408,320,RGB)# création d'une image vide
8
    for x in range(0,408,1):# pour tous les pixels de l'image
9
        for y in range(0,320,1):
10
            index=calculindex(x,y)# calcul de l'index
11
            r=red(img.pixels[index])#composante rouge du pixel de l'image
12
            g=green(img.pixels[index])
13
            b=blue(img.pixels[index])
14
            c=(r+g+b)/3
15
            if c>127:
16
                c=255
17
            else:
18
                c=0
19
            img2.pixels[index]=color(c,c,c)# remplissage de l'image vide
20
    image(img2,0,0)# affichage des images
21
    image(img,0,0,102,80)
22
23

MéthodeFlou

1
def calculindex(x,y):
2
    return x+y*width
3
4
def setup():
5
    size(408,320)
6
    img=loadImage("data/joconde.png")
7
    img2=createImage(408,320,RGB)
8
    print(red(img.pixels[calculindex(100,100)]))
9
    for x in range(1,407,1):
10
        for y in range(1,319,1):
11
            index1=calculindex(x-1,y-1)
12
            index2=calculindex(x,y-1)
13
            index3=calculindex(x+1,y-1)
14
            index4=calculindex(x-1,y)
15
            index5=calculindex(x,y)
16
            index6=calculindex(x+1,y)
17
            index7=calculindex(x-1,y+1)
18
            index8=calculindex(x,y+1)
19
            index9=calculindex(x+1,y+1)
20
            r=(red(img.pixels[index1])+red(img.pixels[index2])+red(img.pixels[index3])+red(img.pixels[index4])+red(img.pixels[index5])+red(img.pixels[index6])+red(img.pixels[index7])+red(img.pixels[index8])+red(img.pixels[index9]))/9
21
            g=(green(img.pixels[index1])+green(img.pixels[index2])+green(img.pixels[index3])+green(img.pixels[index4])+green(img.pixels[index5])+green(img.pixels[index6])+green(img.pixels[index7])+green(img.pixels[index8])+green(img.pixels[index9]))/9
22
            b=(blue(img.pixels[index1])+blue(img.pixels[index2])+blue(img.pixels[index3])+blue(img.pixels[index4])+blue(img.pixels[index5])+blue(img.pixels[index6])+blue(img.pixels[index7])+blue(img.pixels[index8])+blue(img.pixels[index9]))/9
23
            img2.pixels[index5]=color(r,g,b)
24
    updatePixels()
25
    image(img2,0,0)
26
    image(img,0,0,102,80)   

MéthodeContours

1
def calculindex(x,y):
2
    return x+y*815
3
4
def setup():
5
    size(815,457)
6
    img=loadImage("data/image1.png")
7
    img2=createImage(815,457,RGB)
8
    for x in range(1,814,1):
9
        for y in range(1,456,1):
10
            index1=calculindex(x-1,y-1)
11
            index2=calculindex(x,y-1)
12
            index3=calculindex(x+1,y-1)
13
            index4=calculindex(x-1,y)
14
            index5=calculindex(x,y)
15
            index6=calculindex(x+1,y)
16
            index7=calculindex(x-1,y+1)
17
            index8=calculindex(x,y+1)
18
            index9=calculindex(x+1,y+1)
19
            r=(red(img.pixels[index2])+red(img.pixels[index4])+red(img.pixels[index5])*(-4)+red(img.pixels[index6])+red(img.pixels[index8]))
20
            g=(green(img.pixels[index1])*0+green(img.pixels[index2])*1+green(img.pixels[index3])*0+green(img.pixels[index4])*1+green(img.pixels[index5])*(-4)+green(img.pixels[index6])*1+green(img.pixels[index7])*0+green(img.pixels[index8])*1+green(img.pixels[index9])*0)
21
            b=(blue(img.pixels[index1])*0+blue(img.pixels[index2])*1+blue(img.pixels[index3])*0+blue(img.pixels[index4])*1+blue(img.pixels[index5])*(-4)+blue(img.pixels[index6])*1+blue(img.pixels[index7])*0+blue(img.pixels[index8])*1+blue(img.pixels[index9])*0)
22
            img2.pixels[index5]=color(r,g,b)
23
    image(img2,0,0)
24
    image(img,0,0,102,80)      
PrécédentPrécédentSuivantSuivant
AccueilAccueilImprimerImprimer Stéphan Van Zuijlen Licence de documentation libre GNURéalisé avec Scenari (nouvelle fenêtre)