ICRA
Interactive Color Range Analyzer is a Tkinter-based desktop tool for highlighting customised colour ranges in images.
Load a single photo or an entire folder, fine-tune hue/saturation/value sliders, and export overlays complete with quick statistics.
## Features - Two synced previews (original + overlay) - Hue/Sat/Value sliders with presets and image colour picker - Exclusion rectangles or freehand polygons that persist while browsing - Theme toggle (light/dark) with rounded toolbar buttons and accent-aware highlights - Folder support with wrap-around previous/next navigation - Quick overlay export (PNG) with configurable defaults and language settings via `config.toml` ## Requirements - Python 3.11+ (3.10 works with `tomli`) - [uv](https://github.com/astral-sh/uv) for dependency management - Tkinter (install separately on some Linux distros) ## Setup with uv (Windows PowerShell) ```bash git clone https://git.lukasmahler.de/lm/ICRA.git cd ICRA uv venv source .venv/Scripts/activate uv pip install . uv run icra ``` The launcher copies Tcl/Tk resources into the virtualenv on first run, so no manual environment tweaks are needed. On macOS/Linux activate with `source .venv/bin/activate` instead. ## Workflow 1. Load an image (`🖼`) or a folder (`📂`). 2. Pick a colour (`🎨` dialog, `🖱️` image click, or preset swatch). 3. Fine‑tune sliders; watch the overlay update on the right. 4. Toggle freehand mode (`△`) or stick with rectangles and mark areas to exclude (right mouse drag). 5. Move through folder images with `⬅️` / `➡️`; exclusions stay put unless you opt into automatic resets. 6. Save an overlay (`💾`) when ready. ## Project Layout ``` app/ app.py # main app assembly gui/ # UI, theme, picker mixins logic/ # image ops, defaults, config helpers lang/ # localisation TOML files config.toml # optional defaults main.py # entry point ``` ## Localisation - English and German translations ship in `app/lang`. Set the desired language via the top-level `language` key in `config.toml`. ## Development - Quick check: `uv run python -m compileall app main.py` - Contributions welcome; include screenshots for UI tweaks.