Spaces:
Running
on
Zero
Running
on
Zero
#!/usr/bin/env python3 | |
# reads in a square image and outputs a rectangular image | |
import sys | |
from PIL import Image | |
def flip_bottom_half_and_attach(img): | |
"takes one 256x256 and returns on 512x128 image with the bottom half reversed and attached on the right" | |
#w, h = 256, 256 | |
h, w = img.size | |
#assert sub_img.size[0] == h and sub_img.size[1] == w | |
new_img = Image.new(img.mode, (w*2, h//2)) | |
new_img.paste(img.crop((0, 0, w, h//2)), (0, 0)) | |
new_img.paste(img.crop((0, h//2, w, h)).transpose(Image.FLIP_LEFT_RIGHT), (w, 0)) | |
return new_img | |
def square_to_rect(img): | |
# just an alias for flip_bottom_half_and_attach | |
return flip_bottom_half_and_attach(img) | |
if __name__ == '__main__': | |
img_filename = sys.argv[1] | |
square_img = Image.open(img_filename) | |
print("Input image dimenions: ", square_img.size) | |
rect_img = square_to_rect(square_img) | |
print("Output image dimenions: ", rect_img.size) | |
out_filename = img_filename.replace('.png', '_rect.png') | |
print("Saving to ", out_filename) | |
rect_img.save(out_filename) | |