An all-in-one computer vision toolkit with a visual pipeline builder UI. Upload images/videos and apply multiple CV operations in a visual, node-based interface.
- 🎨 Visual Pipeline Builder: Drag-and-drop interface using React Flow
- 🔧 Modular Architecture: Easy to add new CV operations
- 🖼️ Image Processing: Multiple OpenCV operations (blur, edge detection, threshold, transforms, etc.)
- 🚀 FastAPI Backend: High-performance Python backend
- 📦 Extensible: Simple module system for adding new operations
backend/
├── api/ # API routes
├── core/ # Core abstractions (BaseCVModule, ModuleRegistry, PipelineExecutor)
├── modules/ # CV operation modules
├── services/ # Business logic services
├── models/ # Pydantic schemas
├── utils/ # Utility functions
└── config/ # Configuration
frontend/
├── src/
│ ├── components/ # React components
│ ├── services/ # API services
│ ├── store/ # Zustand state management
│ └── types/ # TypeScript types
- Navigate to backend directory:
cd backend- Create virtual environment:
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate- Install dependencies:
pip install -r requirements.txt- Run the server:
python main.pyThe API will be available at http://localhost:8000
API docs at http://localhost:8000/docs
- Navigate to frontend directory:
cd frontend- Install dependencies:
npm install- Run the development server:
npm run devThe frontend will be available at http://localhost:3000
The architecture is designed to be easily extensible. To add new CV modules, create a class that inherits from BaseCVModule in the backend/modules/ directory and register it in backend/main.py. The module will automatically appear in the UI.
- Blur: Simple box blur
- Gaussian Blur: Gaussian blur filter
- Threshold: Binary threshold operations
- Grayscale: Convert to grayscale
- Resize: Resize image
- Rotate: Rotate image
- Flip: Flip image horizontally/vertically
- Edge Detection: Canny edge detection
- Brightness: Adjust brightness
- Contrast: Adjust contrast
GET /api/v1/modules- Get all available modulesGET /api/v1/modules/{module_id}- Get specific module detailsPOST /api/v1/pipeline/validate- Validate pipeline configurationPOST /api/v1/pipeline/execute- Execute pipeline on uploaded image
See LICENSE file