Build OpenCV pipelines graphically. Run them anywhere.
SimpleVision is a free, open-source educational tool for students learning computer vision. It lets you assemble image-processing pipelines step by step, preview each stage on a real frame, and export the result as portable JSON or runnable Python. Pipelines run locally through a bundled Python interpreter with OpenCV and numpy — no installation, no cloud, no network.
Windows installers ship today; macOS and Linux are on the roadmap. Auto-updates land via GitHub Releases.
Visual Pipeline Editor
Export Anywhere
.simplevision — portable, schema-versioned pipeline definitions (JSON inside) that load in any SimpleVision install.py codegen — drop-in Python scripts using cv2 calls, ready to run outside the appSelf-Contained Runtime
Desktop Polish
SimpleVision will soon support pre-trained AI models — segmentation, depth, detection — directly inside its pipeline editor. Open the Plugins menu to see what's available. (The first plugins will land in a follow-up release.)
|
Acquisition
|
Color
|
Filtering
|
Threshold & Analysis
|
┌─────────────────────────────────────────────────────┐
│ Tauri Desktop Shell │
│ │
│ ┌─────────────────────────────────────────────┐ │
│ │ Svelte 5 Frontend │ │
│ │ │ │
│ │ Library │ Pipeline │ Viewer │ Setup │ │
│ │ │ │
│ │ Cubits (state) · Repositories · DI │ │
│ └────────────────────┬────────────────────────┘ │
│ │ Tauri IPC │
│ ┌────────────────────┴────────────────────────┐ │
│ │ Rust Core (src-tauri) │ │
│ │ File I/O · Sidecar lifecycle · Updater │ │
│ └────────────────────┬────────────────────────┘ │
└────────────────────────┼────────────────────────────┘
│ stdin / stdout
│ (JSON pipeline → PNG + JSON results)
┌────────┴────────┐
│ Python Sidecar │
│ │
│ cv2 · numpy │
│ simplevision_ │
│ runtime │
└─────────────────┘
Desktop App —
|
Python Runtime —
|
Build Scripts —
|
Samples & Docs —
|
.simplevision ──spawn──▸ python sidecar ──load──▸ cv2 ops ──write──▸ step_N.png
(pipeline) (stdin JSON) (per step) results.json
│
▼
SVG overlays
in viewer
The frontend never calls OpenCV directly. Every pipeline run spawns a fresh Python process, feeds it the JSON, and reads back per-step output files from a sandboxed working directory next to the input frame.
pnpm 11+ (via corepack enable pnpm)curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh)pnpm install
pnpm setup:runtime # builds runtime/.venv with OpenCV + numpy
pnpm tauri dev
The editor opens with the function library on the left and an empty pipeline ready to assemble.
[!TIP] Drop any
.pngor.jpgon the viewer to load it as the source frame. Add aLoad Imagestep from the library to make the source frame part of the pipeline definition.
For shippable installers, the Python interpreter + OpenCV + numpy + the simplevision package are bundled into the app as a portable python-build-standalone tree:
bash scripts/build-sidecar.sh # one-time, populates app/src-tauri/python-runtime/
pnpm tauri build # produces .msi + .nsis on Windows
Tauri ships the runtime tree inside the packaged binary via bundle.resources. End users don't need to install Python.
Interpreter resolution at runtime:
SIMPLEVISION_PYTHON=/path/to/python — explicit overridepython-runtime/ inside the app's resource dir (release / after build-sidecar.sh)runtime/.venv/bin/python (from setup-runtime.sh)Release builds check GitHub Releases for latest.json on startup. When a newer version is found, the user gets a prompt to download and restart.
https://github.com/AutoElecAB/SimpleVision/releases/latest/download/latest.jsontauri.conf.json)v* on main → .github/workflows/release.yml builds, signs, uploads, and publishesSimpleVision/
├── app/
│ ├── src/
│ │ └── lib/
│ │ ├── components/ # Svelte UI (library, pipeline, viewer, setup)
│ │ ├── cubits/ # State containers (pipeline, viewer, ...)
│ │ ├── repositories/ # File I/O + pipeline persistence
│ │ ├── pipeline/ # Pipeline execution coordination
│ │ ├── export/ # JSON + Python codegen
│ │ ├── updater/ # Auto-update flow
│ │ └── data/ # Function catalogue
│ └── src-tauri/ # Rust shell (Tauri 2) + bundled python-runtime
├── runtime/
│ └── simplevision/ # Python package (student API + execution engine)
├── scripts/
│ ├── setup-runtime.sh # Local dev venv
│ └── build-sidecar.sh # Portable python-build-standalone bundle
├── samples/ # Reference images + example pipelines
├── docs/ # Pipeline spec, design plans
└── .github/workflows/ # release.yml, cache-warm.yml
| Workflow | Trigger | What it does |
|---|---|---|
cache-warm |
push to main (touching Rust / lockfiles) |
Pre-builds Rust dependencies so release builds stay fast |
release |
tag v* |
Builds Windows .msi + .nsis, signs the updater bundle, publishes the GitHub Release |
B − R style channel mathCtrl+S, Ctrl+O)Apache License 2.0 — see LICENSE.
SimpleVision is an independent, open-source educational project. It is not affiliated with, endorsed by, or derived from any commercial computer vision tool. All trademarks are the property of their respective owners.