1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| import Image
im = Image.open("test.png")
pix = im.load()
width, height = im.size
def product(A,B):
# existe déjà dans itertools en Python 3.x
return ((x,y) for x in A for y in B)
for (left,y) in product(xrange(width), xrange(height)):
if pix[left,y] != (255,255,255): break
for (right,y) in product(xrange(width-1,0,-1), xrange(height)):
if pix[right,y] != (255,255,255): break
for (top,x) in product(xrange(height), xrange(width)):
if pix[x,top] != (255,255,255): break
for (bottom,x) in product(xrange(height-1,0,1), xrange(width)):
if pix[x,bottom] != (255,255,255): break
im = im.crop((left,top,right+1,bottom+1))
im.save("test-cropped.png") |
Partager