cropping a random part of an image
drewes.mil at gmail.com
drewes.mil at gmail.com
Wed Aug 10 08:16:48 EDT 2016
Ok, now it works for me!
Thanks again!
import random, os, time
from PIL import Image
INPATH = ('/home/.../Start/')
OUTPATH = ('/home/.../Ziel/')
dx = dy = 228
tilesPerImage = 25
files = os.listdir(INPATH)
numOfImages = len(files)
print(files)
t = time.time()
for file in files:
im = Image.open(INPATH+file)
for i in range(1, tilesPerImage+1):
newname = file.replace('.', '_{:03d}.'.format(i))
w, h = im.size
x = random.randint(0, w-dx-1)
y = random.randint(0, h-dy-1)
print("Cropping {}: {},{} -> {},{}".format(file, x,y, x+dx, y+dy))
im.crop((x,y, x+dx, y+dy))\
.save(os.path.join(OUTPATH, newname))
t = time.time()-t
print("Done {} images in {:.2f}s".format(numOfImages, t))
print("({:.1f} images per second)".format(numOfImages/t))
print("({:.1f} tiles per second)".format(tilesPerImage*numOfImages/t))
More information about the Python-list
mailing list