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 to ignore regions - Theme toggle (light/dark) with rounded toolbar buttons - Folder support with previous/next navigation - Quick overlay export (PNG) and optional defaults 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 replace the activate step with `source .venv/bin/activate`. ## 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. Move through folder images with `⬅️` / `➡️`. 5. Draw exclusions with right drag; reset or save when ready. ## Config Defaults Optional `config.toml`: ```toml [defaults] hue_min = 250.0 hue_max = 310.0 sat_min = 15.0 val_min = 15.0 val_max = 100.0 alpha = 120 ``` ## Project Layout ``` app/ app.py # main app assembly gui/ # UI, theme, picker mixins logic/ # image ops, defaults, reset config.toml # optional defaults main.py # entry point ``` ## Development - Quick check: `uv run python -m compileall app main.py` - Contributions welcome; include screenshots for UI tweaks.