1) Decouper une image
Enadi men maktbet(PiL) Image
n3arfou el fonction: def decouper_image(image_source, largeur, hauteur):
image_source: el toswira el asliya
largeur: el 3aredh el jedid
hauteur: el toul el jedid
pixels_source = image_source.load() : ya5edh bayanat el toswira w i7otha fi
pixels_source(3ibara 3ala matrice faha el pixels mta3 el toswira)
image_resultat = [Link](image [Link], (largeur, hauteur)) : ya3mel
toswira jdida bnafes mode couleur toswira lawla laken eb 3aredh w toul eli
bina3touhoula(betab3 fargha kan bel largeur w houteur w mode couleur ama
kol pixel ma3endach couleur mo3ayen)
pixels_resultat = image_resultat.load() : ya3mel matrice men image resultat
moula7dha mouhema 3ale5er Load t5alik ta3mel matrice bash testa3melha fel
el code laken el matrice hadhi ga3da marbouta bel toswira ya3ni ay taghyir fel
matrice pixels_resultat ysir automatique fel teswira image_resultat
for y ..(hauteur) for x ..(largeur) : ya3mel parcour 7aseb el hauteur w largeur
pixels_resultat[x, y] = pixels_source[x, y] : y7ot kol pixel men matrice
pixels_source eli faha pixels mta3 toswira el asliya w y7ota fi
matrice pixels_resultat w yen7at fi toswira image resultat(7aseb el moula7dha)
return image_resultat : fi le5er el fonction traja3 iamge_resultat
image = [Link]("[Link]") : y7ot toswira [Link]
fi variable image
image_decoupee = decouper_image(image, 200, 200) : y7ot eli betraj3a
fonction decouper_image fi fi variable image_decoupee
decouper_image(image, 200, 200) : 3atinaha el mo3tayat :
image source = image([Link])
largeur = 200
hauteur = 200
image_decoupee.save("Paysage_Reduit.jpg") : ysajel el image fel
Pc eb esem Paysage_Reduit
2) Filtrer une couleur
image_source : el toswira el asliya
canal : ra9em 9anet el couleur (R, G, B) (0, 1, 2)
largeur, hauteur = image_source.size : .size ta3ti el ab3ad ya3ni
image_source.size ta3ti (337, 450) y7ot 337 fi largeur w 450 fi hauteur
image_source.size traje3 (337, 450) w el type mta3ha tuple
image_resultat = … : 3atenala a7ni eldala el mode couleur ‘RGB’
pixel = list(pixels_source[x, y]) : y7awel el couleur mta3 el pixel eli how 3ibara
3ala type tuple el list w y7ota fi variable pixel
ki ta3mel print(pixels_source[0, 0]) bach tchouf couler awel pixel ye5rejlak
heka (77, 131, 201) type tuple w type tuple mat9edech t3adel 3ala
mo7tawaha 7aka 3lach lazem t7awelha list tabda heka [77, 131, 201] laken
ba3d ma t3adel lazem traj3a el tuple bash t7ota fi toswira 5ater aslan howa
mode RBG ye5dem eb tuple
for i in range(3): ya3mel parcour men 0 lel 2
if i != canal: ki tosel el I mo5talifa lel canal el howa ya 0(R), 1(G), 2(B) a3mel
pixel[i] = 0 : 0 hne mech na7ena el couleur laken kaena 7awelnah aswed
mithal a7ne 3atenah canal = 0 el R y5alaha 77 w G w B y7awelhom 0
pixels_resultat[x, y] = tuple(pixel) : fi blaset kol case mel matrice y7ot kol pixel
bel couleur ejedid betaba3 t7awla tuple 9abel
3) inverser les couleurs
r, g, b = pixels_source[x, y] : r, g, b = (77, 131, 201) kol variable ya5edh el 9ima
el couleur mta3a r = 77, g = 131, b = 201
pixels_source[x, y] = (255 - r, 255 - g, 255 - b) : kifech ye3kes el couleur
i7ot 255 fi mode RGB w yna9es menha el couleur el mawjoud
(255 - r, 255 - g, 255 - b) : couleur RGB jdid (tuple jdida kif ma3moula)
4) Convert en mode Gris
L : mode Gris
gris = int((r + g + b) / 3) : kifech y7awel el mode RGB el Gris
yajma3 el couleur mode RGB w ye9sem 3ala 3 y7awl el entier betaba3
5) Rotation d’une image
expand = True : ki mat7othach may9lebe el toul w l3aredh ya3ni ye9leb el
toswira w y9os menha (mathalan fi 7alet 90 daraja lazem el toul ywali 3aredh
w 3aredh ywali toul)
6) Filtre flou(Blur)
ImageFilter : ki test7ag filter nzido ImageFilter men maketbet PiL
7) Resize d’une image
8) Resize d’une image
9) Detection de Contours
10) Crop une partie d’un image
boite : t7aded el ment9a(fi chakel mostatil wala mouraba3) eli bet9osha mel
toswira ba3d ma dertelha Rotation
11) Ajouter text a image
ImageDraw, ImageFont : ImageDraw bach tged torsem ImageFont testa3mel
khat mou3ayen
draw = [Link](image) ta3amel tabaka to9 el toswira torsem wla
tekteb 3alaha
font = [Link]("[Link]", size=30) t7aded el khat(tged mat7otach)
[Link]((10, 10), texte, fill="white", font=font) yekteb 3ala el toswira
eli dharouri kan [Link]((10, 10), texte) el position w el text