Visiongraph is a high level computer vision framework.
Project description
Visiongraph
Visiongraph is a high level computer vision framework that includes predefined modules to quickly create and run algorithms on images. It is based on opencv and includes other computer vision frameworks like Intel openVINO and Google MediaPipe.
Here an example on how to start a webcam capture and display the image:
from visiongraph import vg
vg.create_graph(vg.VideoCaptureInput()).then(vg.ImagePreview()).open()
Get started with visiongraph by reading the documentation.
Installation
Visiongraph supports Python 3.10 and 3.11. Other versions may also work, but are not officially supported. Usually this is a third-party dependency problem: for example, pyrealsense2 does not have wheel packages for 3.12.
To install visiongraph with all dependencies call pip like this:
pip install "visiongraph[all]"
It is also possible to only install certain packages depending on your needs (recommended):
# example on how to install realsense and openvino support only
pip install "visiongraph[realsense, openvino]"
Please read more about the extra packages in the documentation.
Optional Mediapipe Support
Visiongraph can integrate Google’s MediaPipe for advanced hand, face and object tracking pipelines. Unfortunately, the official PyPI MediaPipe wheels declare a strict dependency on numpy<2.0, which prevents installation alongside NumPy 2.x, even though most functionality works fine with NumPy 2.0 and above. To work around this limitation, we maintain a custom mediapipe-numpy2 build that removes the <2.0 pin.
When you install with the mediapipe extra, pip will automatically fetch the matching patched wheel for your OS and Python version.
Alternative: Use the Official MediaPipe Release
If you’re happy to stick with NumPy <2.0, you can skip our custom package entirely and install the upstream MediaPipe wheel from PyPI:
pip install visiongraph mediapipe
This will install Visiongraph plus the official mediapipe package (which requires numpy<2.0). Just make sure your environment’s NumPy version is below 2.0 when using this route.
Examples
To demonstrate the possibilities of visiongraph there are already implemented examples ready for you to try out. Here is a list of the current examples:
- SimpleVisionGraph - SSD object detection & tracking of live webcam input with
5lines of code. - VisionGraphExample - A face detection and tracking example with custom events.
- InputExample - A basic input example that determines the center if possible.
- RealSenseDepthExample - Display the RealSense or Azure Kinect depth map.
- FaceDetectionExample - A face detection pipeline example.
- FindFaceExample - A face recognition example to find a target face.
- CascadeFaceDetectionExample - A face detection pipeline that also predicts other feature points of the face.
- HandDetectionExample - A hand detection pipeline example.
- PoseEstimationExample - A pose estimation pipeline which annotates the generic pose keypoints.
- ProjectedPoseExample - Project the pose estimation into 3d space with the RealSense camera.
- ObjectDetectionExample - An object detection & tracking example.
- InstanceSegmentationExample - Intance Segmentation based on COCO80 dataset.
- InpaintExample - GAN based inpainting example.
- MidasDepthExample - Realtime depth prediction with the midas-small network.
- RGBDSmoother - Smooth RGB-D depth map videos with a one-euro filter per pixel.
- FaceMeshVVADExample.py - Detect voice activation by landmark sequence classification.
There are even more examples where visiongraph is currently in use:
- Spout/Syphon RGB-D Example - Share RGB-D images over spout or syphon.
- WebRTC Input - WebRTC input example for visiongraph
Development
To develop on visiongraph it is recommended to clone this repository and install the dependencies like this. First install the uv package manager.
# in the visiongraph directory install all dependencies
uv sync --all-extras --dev --group docs
Build
To build a new wheel package of visiongraph run the following command in the root directory. Please find the wheel and source distribution in ./dist.
uv run python setup.py generate_init
uv build
Docs
To generate the documentation, use the following commands.
# create documentation into "./docs
uv run python setup.py doc
# launch pdoc webserver
uv run python setup.py doc --launch
Dependencies
Parts of these libraries are directly included and adapted to work with visiongraph.
- motpy - simple multi object tracking library (MIT License)
- motrackers - Multi-object trackers in Python (MIT License)
- OneEuroFilter-Numpy - (MIT License)
Here you can find a list of the dependencies of visiongraph and their licence:
depthai MIT License
faiss-cpu MIT License
filterpy MIT License
mediapipe Apache License 2.0
moviepy MIT License
numba BSD License
onnxruntime MIT License
onnxruntime-directml MIT License
onnxruntime-gpu MIT License
opencv-python Apache License 2.0
openvino Apache License 2.0
pyk4a-bundle MIT License
pyopengl BSD License
pyrealsense2 Apache License 2.0
pyrealsense2-macosx Apache License 2.0
requests Apache License 2.0
scipy MIT License
SpoutGL BSD License
syphon-python MIT License
tqdm MIT License
vector BSD License
vidgear Apache License 2.0
wheel MIT License
For more information about the dependencies have a look at the requirements.txt.
Please note that some models (such as Ultralytics YOLOv8 and YOLOv11) have specific licences (AGPLv3). Always check the model licence before using the model.
About
Copyright (c) 2025 Florian Bruggisser
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file visiongraph-1.1.0.1.tar.gz.
File metadata
- Download URL: visiongraph-1.1.0.1.tar.gz
- Upload date:
- Size: 228.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a5012185275d7778f59398fcd6f9c037abee3a665d222e9e5831cbd20d5d9e7f
|
|
| MD5 |
f09797bac262dcd34608ce0aaee76aba
|
|
| BLAKE2b-256 |
f6f368d581da37f75e4e0311ac0d7de60525d2327e940eab475a2ab250254082
|
File details
Details for the file visiongraph-1.1.0.1-py3-none-any.whl.
File metadata
- Download URL: visiongraph-1.1.0.1-py3-none-any.whl
- Upload date:
- Size: 356.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
21534fcb7a957cd08d07172fa3f005d4bb99aa1850c1be539ffdedb5f0d8c0f1
|
|
| MD5 |
befa93c20e854ebd2c0a3ef3d798f67b
|
|
| BLAKE2b-256 |
029a5afbefdd1c5d2df50b86238bb693e8a94e65cec590499f2e9794bd126bcd
|