diff --git a/exp/createsamples.py b/exp/createsamples.py new file mode 100644 --- /dev/null +++ b/exp/createsamples.py @@ -0,0 +1,29 @@ +import sys +sys.path.append("../src") + +import os +import json + +import PIL.Image + +from analyzer.epoint import EPoint +from analyzer.grid import Grid + + +filepath=sys.argv[1] +with open(filepath,mode="rt") as f: + annotations=json.load(f) + +for (filename,data) in annotations.items(): + grid=Grid([EPoint(x,y) for (x,y) in data["corners"]]) + intersections=grid.intersections + img=PIL.Image.open(os.path.join(os.path.dirname(filepath), filename)) + basename=filename.partition(".")[0] + + for (r,row) in enumerate(intersections): + for (c,p) in enumerate(row): + (w,h)=map(int,grid.stoneSizeAt(r,c)) + x=p.x-w//2 + y=p.y-h//2 + cut=img.transform((w,h),PIL.Image.EXTENT,(x,y,x+w,y+h)) + cut.save("/tmp/stones/{0}-{1}-{2}.jpg".format(basename,r,c))