A desktop application for visual, block-based image processing using Google Blockly and OpenCV.js. ImageLab lets users drag and connect blocks to build image processing pipelines without writing code. The project includes a legacy Electron app, a new React frontend, and a Python backend.
- Block-based image processing using Google Blockly — no coding required
- OpenCV.js powered operations: blurring, filtering, thresholding, geometric transforms, and more
- Drag-and-connect blocks to build image processing pipelines
- Real-time preview of processing results
- Legacy Electron desktop app and modern React + FastAPI web app
- Node.js >= 18
- Python 3.12+
- PostgreSQL
cd electron-app-legacy
npm install
npm startcd imagelab-backend
cp .env.example .env
uv sync
uv run uvicorn app.main:app --reload --port 4100cd imagelab-frontend
cp .env.example .env
npm install
npm run dev| Service | Port |
|---|---|
| Frontend | 3100 |
| Backend | 4100 |
# Electron app
cd electron-app-legacy && npm test
# Backend
cd imagelab-backend && uv run pytest
# Frontend
cd imagelab-frontend && npm run testimagelab/
electron-app-legacy/ # Original Electron + Blockly app
imagelab-frontend/ # React + Vite frontend
imagelab-backend/ # Python FastAPI backend
docs/ # Project documentation site
See CONTRIBUTING.md for guidelines.
This project follows the Contributor Covenant.
For questions or queries about this project, please reach out via email.