Advanced Image Compressor with Batch Processing
This script provides advanced image compression and resizing features using Python and Pillow.
- Batch processing of multiple images or directories
- Lossy and lossless compression (PNG/WebP)
- Optional JPEG conversion
- Resize by ratio or explicit dimensions
- Preserve or strip metadata (EXIF)
- Custom output directory
- Progress bar using
tqdm
- Detailed logging
Install dependencies:
pip install pillow tqdm
python compress_image.py [options] <input> [<input> ...]
-o
,--output-dir
: Output directory (default: same as input)-q
,--quality
: Compression quality (0-100, default: 85)-r
,--resize-ratio
: Resize ratio (0-1, default: 1.0)-w
,--width
: Output width (requires--height
)-hh
,--height
: Output height (requires--width
)-j
,--to-jpg
: Convert output to JPEG-m
,--no-metadata
: Strip metadata (default: preserve)-l
,--lossless
: Use lossless compression (PNG/WEBP)
python compress_image.py image.jpg -r 0.5 -q 80 -j
python compress_image.py images/ -o output/ -m
python compress_image.py image.png -l
MIT License.