# vr_overlay_compose.py - lay the model's silhouette outline (magenta) over a reference render. # usage: python vr_overlay_compose.py [crop x0 y0 x1 y1] import sys from PIL import Image, ImageChops, ImageFilter ref = Image.open(sys.argv[1]).convert("RGB") mask = Image.open(sys.argv[2]).convert("RGBA").split()[3].resize(ref.size) edge = ImageChops.subtract(mask.filter(ImageFilter.MaxFilter(5)), mask.filter(ImageFilter.MinFilter(3))) edge = edge.point(lambda v: 255 if v > 40 else 0) out = ref.copy() tint = Image.new("RGB", ref.size, (255, 0, 255)) out = Image.composite(tint, out, edge) fill = Image.new("RGB", ref.size, (0, 220, 255)) out = Image.composite(fill, out, mask.point(lambda v: 55 if v > 128 else 0)) if len(sys.argv) > 4: out = out.crop(tuple(int(v) for v in sys.argv[4:8])) out.save(sys.argv[3])