Vous êtes sur la page 1sur 4

Exercice supplémentaire

Solution

Exercice 1:
Ecrire un programme qui retire une couleur rouge d’une image couleur.

from PIL import Image


import numpy as np

img=Image.open("/Volumes/Stockage /Cours/Python/TPs/TP/TPS/mounalisa
modifier.png")
l,h=img.size

for i in range(l):
for j in range(h):
color=img.getpixel((i,j))
#le test sur la couleur (255, 0,0) elle sera remplacer par (255,255,255)
if(color[0]==255 and color[1]==0 and color[2]==0):
img.putpixel((i,j),(255,255,255))
img.show()
Exercice 2:
Réaliser un programme qui permet d'avoir l'image négative de l'image
précédente (rendre une image négatif revient à soustraire le max d’intensité par
l’actuelle).
from PIL import Image
import numpy as np

img=Image.open("/Volumes/Stockage /Cours/Python/TPs/TP/TPS/mounalisa
modifier.png")
l,h=img.size
#fonction de calcule des valeurs max des deux couleurs RGB
def max_color(img):
color_R=0
color_G=0
color_B=0
for i in range(l):
for j in range(h):
color=img.getpixel((i,j))
if(color[0]>color_R):
color_R=color[0]
if(color[1]>color_G):
color_G=color[1]
if(color[2]>color_B):
color_B=color[2]

return color_R, color_G, color_B


# cacluer les valeurs max des couleurs
color_R, color_G, color_B=max_color(img)
print(color_R, color_G, color_B)
for i in range(l):
for j in range(h):
color=img.getpixel((i,j))
img.putpixel((i,j),(color_R-color[0],color_G-color[1],color_B-color[2]))

img.show()

Exercice 3:
Ecrier un programme qui permet de visualiser un texte cacher dans l’image ci
joint (voir l’image ci attacher).

from PIL import Image


import numpy as np

img=Image.open("/Volumes/Stockage /Cours/Python/TPs/TP/TPS/
message_cache.bmp")
l,h=img.size
mat=np.array(img)
print(mat.shape)

for i in range(l):
for j in range(h):
color=img.getpixel((i,j))

if(color[0]==0 and color[1]==0 and color[2]==0):


img.putpixel((i,j),(255,0,0))
img.show()

Exercice 4:
Réaliser un programme qui permet d’afficher la partie circulaire d’une image
couleur.
from PIL import Image

def main():
img=Image.open("/ Users/hichamamakdouf/
Desktop/birdsN.png")
#color=(0,0,0) la couleur de la partie exteruer du cercle
img2=Image.new("RGB",img.size,color=(0,0,0))
l,c=img.size
r=l//2
for i in range(l):
for j in range(c):
if(((i-r)**2+(j-r)**2)<r**2):
color=img.getpixel((i,j))
img2.putpixel((i,j),color)
img2.show()
return
main()
Exercice 5:
Réaliser un programme qui permet d’afficher la partie lozenge d’une image
couleur.

from PIL import Image


import numpy as np
import math
from PIL import Image
def main():
#l'ouverture de l'image
img = Image.open("/Users/hichamamakdouf/Desktop/
birdsN.png")
#(1255,255,255) representre la couleur du fond de la partie
exterieur du lesange
img2=Image.new(img.mode,img.size,(255,255,255))
size = img.size
r=int(size[0]/2)
for j in range(int(size[0]/2)):
for i in range(r-j,r+j):
R=img.getpixel((j,i))
img2.putpixel((j,i),R)
R=img.getpixel((2*r-j,2*r-i))
img2.putpixel((2*r-j,2*r-i),R)

img2.show()
return

main()

Vous aimerez peut-être aussi