A simple tool to remove logos/watermarks from images and prepare them for digital displays. Built for recurring monthly use with AI-generated images (Gemini, etc.).
- get_coordinates.py - Interactive tool to click and identify logo coordinates
- remove_logo.py - Main script to remove logos with resizing and conversion options
- requirements.txt - Python dependencies
- SPEC.md - Technical specification and architecture details
- .kiro-context.md - AI assistant context for future modifications
- Create a virtual environment and install dependencies:
cd ~/projects/logo-remover
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txtRun the coordinate picker to identify the logo location:
python get_coordinates.py your_image.pngClick the top-left corner of the logo, then the bottom-right corner. The coordinates will be printed in the terminal.
Use the coordinates to remove the logo:
python remove_logo.py your_image.png --x 1379 --y 2601 --width 96 --height 94Resize for digital display:
python remove_logo.py your_image.png --x 1379 --y 2601 --width 96 --height 94 --resize 1080x1920Convert to JPG at maximum quality:
python remove_logo.py your_image.png --x 1379 --y 2601 --width 96 --height 94 --resize 1080x1920 --jpgAdjust padding around logo (default is 20 pixels):
python remove_logo.py your_image.png --x 1379 --y 2601 --width 96 --height 94 --padding 30Specify custom output filename:
python remove_logo.py your_image.png --x 1379 --y 2601 --width 96 --height 94 --output final.jpg --jpg# Activate virtual environment
source venv/bin/activate
# Get coordinates
python get_coordinates.py island_overload.png
# Remove logo, resize to 1080x1920, and save as JPG
python remove_logo.py island_overload.png --x 1379 --y 2601 --width 96 --height 94 --resize 1080x1920 --jpg- The tool uses content-aware inpainting to blend the removed area with surrounding pixels
- Padding adds extra pixels around the logo region for cleaner removal
- JPG conversion uses 100% quality setting
- Default padding is 20 pixels (increase to 30+ for stubborn logos)
- Target resolution 1080x1920 is for portrait-oriented digital displays
- JPG reduces file size by ~55% compared to PNG while maintaining quality
- SPEC.md - Full technical specification, algorithms, and design decisions
- .kiro-context.md - Context for AI assistants when making future changes
- See these files for implementation details and enhancement ideas
Logo still visible after removal?
- Increase padding:
--padding 30or higher
Inpainting creates artifacts?
- Increase padding to include more surrounding context
- Ensure coordinates accurately cover the entire logo
Need to process multiple images?
- Create a bash script to loop through files (see SPEC.md for future enhancements)
Created: 2026-02-24
- Initial use case: Remove Gemini logo from AI-generated images
- Successfully tested with island_overload.png (logo at x=1379, y=2601, 96x94 pixels)
- File size reduction: 3.3MB PNG → 1.5MB JPG at max quality