Compose final output(s), out of layers of images, videos or similar.
Project description
Layered Vision
Goals of this project is:
- A tool to allow the composition of images or videos via a configuration file (e.g. as a virtual webcam).
This project is still very much experimental and may change significantly.
Install
pip install layered-vision
Configuration
The configuration format is file is YAML.
Layers
Every configuration file will contain layers. Layers are generally described from top to down. With the last layer usually being the output layer.
The source to the output layer will be the layer above.
A very simple configuration file that downloads the numpy logo and saves it to a file might look like (example-config/save-image.yml):
layers:
- id: in
input_path: "https://github.com/numpy/numpy/raw/master/branding/logo/logomark/numpylogoicon.png"
- id: out
output_path: "numpy-logo.png"
You could also have two outputs (example-config/two-outputs.yml):
layers:
- id: in
input_path: "https://github.com/numpy/numpy/raw/master/branding/logo/logomark/numpylogoicon.png"
- id: out1
output_path: "data/numpy-logo1.png"
- id: out2
output_path: "data/numpy-logo2.png"
In that case the source layer for both out1 and out2 is in.
By using window as the output_path, the image is displayed in a window (example-config/display-image.yml):
layers:
- id: in
input_path: "https://github.com/numpy/numpy/raw/master/branding/logo/logomark/numpylogoicon.png"
width: 480
height: 300
repeat: true
- id: out
output_path: window
Input Layer
A layer that has an input_path property.
The following inputs are currently supported:
- Image
- Video
- Linux Webcam (
/dev/videoN)
The input_path may point to a remote location (as is the case with all examples). In that case it will be downloaded and cached locally.
Filter Layer
A layer that has an filter property.
The following filters are currently supported:
| name | description |
|---|---|
box_blur |
Blurs the image or channel. |
bodypix |
Uses the bodypix model to mask a person. |
chroma_key |
Uses a chroma key (colour) to add a mask |
dilate |
Dilates the image or channel. For example to increase the alpha mask after using erode |
erode |
Erodes the image or channel. That could be useful to remove outliers from an alpha mask. |
motion_blur |
Adds a motion blur to the image or channel. That could be used to make an alpha mask move more slowly |
Every filter may have additional properties. Please refer to the examples (or come back in the future) for more detailed information.
Branches Layer
A layer that has an branches property.
Each branch is required to have a layers property.
The input to each set of branch layers is the input to the branches layer.
The branches are then combined (added on top of each other).
To make branches useful, at least the last branch image should have an alpha mask.
CLI
CLI Help
python -m layered_vision --help
or
python -m layered_vision <sub command> --help
Example Command
python -m layered_vision start --config-file=example-config/display-image.yml
You could also load the config from a remote location:
python -m layered_vision start --config-file \
"https://raw.githubusercontent.com/de-code/layered-vision/develop/example-config/display-video-chroma-key-replace-background.yml"
Project details
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 layered-vision-0.0.1.tar.gz.
File metadata
- Download URL: layered-vision-0.0.1.tar.gz
- Upload date:
- Size: 17.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.6.0 requests/2.24.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.50.2 CPython/3.8.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
937d46a01d59ab241cf41f98af46920b9a235a4580de9de9ddb8efc63868daea
|
|
| MD5 |
c252fcc65db8c15c059519cb6d64bcec
|
|
| BLAKE2b-256 |
a9f974f3fa776014973c4eaa606a893952f342b99b749754564cf79824475e78
|
File details
Details for the file layered_vision-0.0.1-py3-none-any.whl.
File metadata
- Download URL: layered_vision-0.0.1-py3-none-any.whl
- Upload date:
- Size: 17.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.6.0 requests/2.24.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.50.2 CPython/3.8.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bf75b442b26c980037fcbf91326b6623752df9815018e8b5ccd8f3c3e92e0dcc
|
|
| MD5 |
c8a1d94f5b276409b3aa43f0c53435cb
|
|
| BLAKE2b-256 |
0469820ab8a887ad3cb2c67e2fbba7bec565080ea26f650fdefa42feb6352097
|