Advertisement
Guest User

Untitled

a guest
Mar 28th, 2017
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.09 KB | None | 0 0
  1. #sudo apt install libimage-exiftool-perl
  2. from __future__ import print_function
  3. from PIL import Image
  4. import sys
  5. import os
  6.  
  7. if __name__ == "__main__":
  8. if len(sys.argv) < 4:
  9. print ("Usage: {} src_folder dst_folder target_size".format(sys.argv[0]))
  10. exit(0)
  11.  
  12. targetMaxDim = int(sys.argv[3])
  13.  
  14. for fina in os.listdir(sys.argv[1]):
  15. srcImgFina = os.path.join(sys.argv[1], fina)
  16. img = Image.open(srcImgFina)
  17. print (fina, img.size)
  18.  
  19. finaSplit = os.path.splitext(fina)
  20. targetSize = img.size
  21. if targetSize[0] > targetMaxDim:
  22. ratio = targetMaxDim / targetSize[0]
  23. targetSize = [int(round(dim * ratio)) for dim in targetSize]
  24. if targetSize[1] > targetMaxDim:
  25. ratio = targetMaxDim / targetSize[1]
  26. targetSize = [int(round(dim * ratio)) for dim in targetSize]
  27.  
  28. img = img.resize(targetSize)
  29.  
  30. if not os.path.exists(sys.argv[2]):
  31. os.makedirs(sys.argv[2])
  32.  
  33. dstImgFina = os.path.join(sys.argv[2], fina)
  34. img.save(dstImgFina)
  35.  
  36. if finaSplit[1].lower() in [".jpg", ".jpeg"]:
  37. os.system('exiftool -overwrite_original -TagsFromFile {} "-all:all>all:all" {}'.format(srcImgFina, dstImgFina))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement