This script is designed to automatically trim the background from an image, focusing on the primary subject. It utilizes the Python Imaging Library (PIL), specifically the Image
and ImageChops
modules, to perform image manipulation tasks. The script is particularly useful for processing images where the subject is surrounded by a uniform background.
- Python 3.x
- Pillow library
- Ensure Python 3.x is installed on your system.
- Install the Pillow library using pip:
pip install Pillow
- Place the script in a directory with the images you wish to process.
- Replace
"iphone14.jpg"
with the name of your image file in the script. - Run the script:
python script_name.py
- Image Trimming (
trim
function): Removes the uniform background from an image, leaving only the primary subject. This is achieved by comparing the image with a background of the same size and the same color as the pixel at (0,0). It then calculates the difference, enhances it, and finds the bounding box that tightly wraps around the subject. Finally, it crops the image to this bounding box. - Displaying the Result: After trimming, the new image is displayed using the default image viewer on your system.
- The script assumes the background is uniform and matches the color of the top-left pixel (0,0).
- If the entire image is uniform (i.e., the subject does not differ in color from the background), the script will not perform any cropping.
- The effectiveness of the cropping depends on the contrast between the subject and the background.
- You can modify the script to process multiple images in a directory, adjusting the file path and names accordingly.
- Adjust the parameters in the
ImageChops.add
method to change the sensitivity of the background subtraction.