cropping a random part of an image

drewes.mil at gmail.com drewes.mil at gmail.com
Wed Aug 10 08:13:05 EDT 2016


Ok, did it :)
import random, os, time
from PIL import Image
INPATH = ('/home/sdrewes/Desktop/Portaits/Bilder/Test/')
OUTPATH = ('/home/sdrewes/Desktop/Portaits/Bilder/Gut_Crop/')
dx = dy = 228
tilesPerImage = 100
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

AltStyle によって変換されたページ (->オリジナル) /