def diff(data,vsize,hsize,n):
if (n%hsize == 0):
return(0)
if (n%hsize == hsize-1):
return(0)
else:
if (n<vsize or n>=vsize*(hsize-1)):
return(0)
else:
return(abs(data[n+1][0]-data[n-1][0])+abs(data[n+1][1]-data[n-1][1])+abs(data[n+1][2]-data[n-1][2]) + abs(data[n+hsize][0]-data[n-hsize][0])+abs(data[n+hsize][1]-data[n-hsize][1])+abs(data[n+hsize][2]-data[n-hsize][2]))
def maxList(l):
tmp = 0
for i in l:
if l[i]>tmp:
tmp = l[i]
return(tmp)
def modifierImage(image, seuil):
im = Image.open(image)
print im.size
(im_largeur, im_longueur) = im.size
data = list(im.getdata())
output = Image.new("RGB",im.size)
print data[1]
cdata = []
for i in range (0,im_longueur):
for j in range (0,im_largeur):
cdata.append(diff(data,im_longueur,im_largeur,200*i+j))
print "%d "%diff(data,im_longueur,im_largeur,200*i+j),
max = maxList(cdata)
print "Le maximum est : %d"%max
print "Exemple de valeur : %d"%(cdata[100]*255/max)
for i in range (0,im_longueur):
for j in range (0,im_largeur):
if cdata[200*i+j] < seuil*max/100 :
output.putpixel((j,i),(255-0*255/max,255-0*255/max,255-0*255/max)
else:
output.putpixel((j,i),(255-diff(data,im_longueur,im_largeur,i*200+j)*255/max,255-diff(data,im_longueur,im_largeur,i*200+j)*255/max,255-diff(data,im_longueur,im_largeur,i*200+j)*255/max))
output.save("CHAT2.png",format="PNG")
print "\n Selection : 1\n"
nom_image=raw_input("Veuillez rentrer le nom de l'image a traiter : \n=> ")
seuil=input("Veuillez rentrer le seuil (0 et 100 en pourcentage): \n=> ")
modifierImage("macbook.png", seuil)
BONJOUR, quelqu'un pourrais bien m'aider à comprendre en détail ce programme svp c'est URGENT MERCI!
Partager