A Python tool to crop multiple regions from an image in a single step.
For example if you want to digitize your photos. Instead of scanning every photo one by one, you can just place as many photos on the flatbed scanner as possible and use the tool to cut out the individual photos.
Cropping can already be done with many other tools but you usually just crop down the original image and would have to repeat the process multiple times and export the cropped version after every image. This script allows you to create as many selections as you need and save all selections as separate images with a single key press.
Disclaimer: I just wanted a quick script for this use-case, so I did a few prompts to create it with ChatGPT.
- Start the script via 
python multicrop.py, it will open a file selector to select an image - Drag to add selections
 - Enter: Save selections (they will be saved with name of the original image and appended number in the same directory)
 - C: Clear all selections
 - Backspace: Undo last selection
 - Space: Open next image
 - ESC / Q: Exit
 
- Python 3.8+
 opencv-pythonscreeninfotkinter(usually included in standard Python installation)
Install dependencies:
pip install -r requirements.txt