9
submitted 1 year ago* (last edited 1 year ago) by Shady_Shiroe@lemmy.world to c/python@programming.dev

I am assisting in making a wiki for an old game, and we ripped the avatar GIFs from the games shop and want to have a catalog of them. What I need to do is to crop all the borders which are identical from 3,170 GIFs and maybe make background transparent.

I haven't used python in years, but I managed to cobble up something that almost works as a single image test, only issue is that it crops and outputs only the first frame:

from PIL import Image

if __name__ == "__main__":
    input_loc = "AvatarShopImages/80001.gif"
    output_loc = "Output/80001.gif"
    im = Image.open(input_loc)
    im = im.crop((4, 4, 94, 94))
    im.save(output_loc)

If it looks weird, it is because I copy/pasted some code and edited a lot out of it.

you are viewing a single comment's thread
view the rest of the comments
[-] Shady_Shiroe@lemmy.world 3 points 1 year ago

Let me clarify, there are 3 THOUSAND GIFs that need to be cropped

[-] agitated_judge@sh.itjust.works 7 points 1 year ago

for i in $( ls *.gif ); do fmpeg -i $i -vf "crop=w:h:x:y" cropped_$i; done

This runs on Linux/Mac or on WSL on windows Make sure there are no spaces in the filenames.

this post was submitted on 14 Sep 2023
9 points (100.0% liked)

Python

6284 readers
61 users here now

Welcome to the Python community on the programming.dev Lemmy instance!

📅 Events

PastNovember 2023

October 2023

July 2023

August 2023

September 2023

🐍 Python project:
💓 Python Community:
✨ Python Ecosystem:
🌌 Fediverse
Communities
Projects
Feeds

founded 1 year ago
MODERATORS