Simple Python native access library for Video4Linux camera devices
Project description
Simple Python native access library for Video4Linux camera devices
Warning: Work (slowly) in progress. Currently hardwired to YUV format. This will be fixed soon
This is a simple library that allows one to access camera devices accessible via Video4Linux from Python without using libraries with huge dependency chains that allows easy and fast testing of ideas and algorithms for image processing before implementing them in a proper way in some programming language such as C. It’s built in the most simple way on purpose.
Tested on:
Python 3.8:
FreeBSD 12 (amd64, aarch64)
FreeBSD 13 (amd64, aarch64)
Currently not implemented / not optimal
Currently the library does not support anything else than YUV422 captures from the cameras and only outputs RGB888 images as nested Python lists. This will be fixed as soon as possible but will introduce a breaking change.
Installing via PyPi
The package is available as a source distribution via PyPi:
pip install simplepycam-tspspi
Building
Use setup.py in cext:
$ python setup.py build
Example usage
More sophisticated examples can be found in the samples directory.
Using the stream callback interface, the default format and with
import simplepycam def processFrame(camera, frame): if shouldStopProcessing: return False else: return True with simplepycam.Camera("/dev/video0") as cam: cam.frameCallback = [ processFrame ] cam.stream()
Using the stream callback interface, the default format and open/close
import simplepycam def processFrame(camera, frame): if shouldStopProcessing: return False else: return True cam = simplepycam.Camera("/dev/video0") cam.open() cam.frameCallback = [ processFrame ] cam.stream() cam.close()
Using the polling API, the default format and with
import simplepycam with simplepycam.Camera("/dev/video0") as cam: cam.streamOn() for i in range(100): frame = cam.nextFrame() cam.streamOff()
Using the polling API, the default format and open/close
import simplepycam cam = simplepycam.Camera("/dev/video0") cam.open() cam.streamOn() for i in range(100): frame = cam.nextFrame() cam.streamOff() cam.close()
API documentation
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
File details
Details for the file simplepycam-tspspi-0.1.tar.gz
.
File metadata
- Download URL: simplepycam-tspspi-0.1.tar.gz
- Upload date:
- Size: 10.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.0 CPython/3.8.13
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 89f5b238cbf2112d58f209dc6acf7619e223db148f42db02949cd4503f3a4790 |
|
MD5 | fa73ac0442596a9ebe1717f3062a36b9 |
|
BLAKE2b-256 | 3c23ecaf56f6a84ae0ad2c6903a201cdff285ae311162addee67a4eea566abe2 |