from PIL import Image import sys import numpy as np #pour faire des carres de 16 #p est le nb de carres dans la largeur #q est le nb de carres dans la longueur def pixel(l,p,q): for a in range(q): for c in range(p): mo=0 for d in range(16): for b in range(16): mo=mo+l[a*256*p+b*16*p+c*16+d] mo=int(mo/256) for d in range(16): for b in range(16): l[a*256*p+b*16*p+c*16+d]=mo return l def blur_image(): p=32 # 32 carrés en largeur q=32 # 32 carrés en longueur im = Image.open("picc.png") r,g,b=im.split() #transformation de chaque image en liste #et action de la fonction pixel() r=list(r.getdata()) r=pixel(r,p,q) g=list(g.getdata()) g=pixel(g,p,q) b=list(b.getdata()) b=pixel(b,p,q) #création de trois nouvelles images nr = Image.new("L",(16*p,16*q)) nr.putdata(r) ng = Image.new("L",(16*p,16*q)) ng.putdata(g) nb = Image.new("L",(16*p,16*q)) nb.putdata(b) #fusion des trois nouvelles images imgnew = Image.merge('RGB',(nr,ng,nb)) imgnew.save("picc_blurred.png")