Package for integrating VimbaPython and Qt6
Project description
CIViQ6 - Camera Integration for Vimba and Qt6
CIViQ6 is a Python package which integrates VimbaPython and Qt6 multimedia scheme.
It provides:
- Class to instantiate the Vimba instance in
QThread
- Camera API similar to that of QtMultimedia
- Compatibility with
QVideoSink
andQVideoWidget
The following Qt bindings are supported:
This package is tested using Vimba 6.0, VimbaPython 1.2.1, and Mako U-130B camera device connected to the device with Window 11.
How to use
CIViQ6 imitates QtMultimedia scheme to provide API for the Allied Vision camera device.
CIViQ6 class | Qt6 counterpart |
---|---|
VimbaRunner | - |
VimbaDevices | QMediaDevices |
VimbaCameraDevice | QCameraDevice |
VimbaCamera | QCamera |
VimbaCaptureSession | QMediaCaptureSession |
Running the Vimba instance
VimbaRunner
is a runner which wraps the VimbaPython API and starts Vimba.
To start the Vimba instance, move VimbaRunner
to a dedicated QThread
and run it.
This task must be done before any other Vimba-related operation.
Streaming the camera
Once the Vimba instance is started, user can construct VimbaCamera
instance, set it to VimbaCaptureSession
, and run it just as one would do with QCamera
and QMediaCaptureSession
.
Set QVideoWidget
or QVideoSink
(or any other QObject
-based preview) to the capture session to stream the camera.
Setting the camera properties
VimbaCamera
provides methods which return VimbaPython's Feature
objects that can get and set the camera properties.
Capturing and recording
Unlike Qt6, CIViQ6 does not have default classes that support image capturing and video recording from VimbaCaptureSession
. User must define own classes that write VimbaPython's Frame
object to file.
The documentaion provides examples for defining the image capturer and video recorder.
Examples
Use cases are provided in examples directory. They can be found in documentation as well.
Installation
Before you install, be careful for other Qt-dependent packages installed in your environment.
For example, non-headless OpenCV-Python
modifies the Qt dependency thus can make other Qt bindings unavailable.
To install CIViQ6, you first need to install VimbaPython package which is not distributed by PyPI. Go to its repository and follow the instructions.
After VimbaPython is installed, civiq6
can be installed using pip
.
$ pip install civiq6
Documentation
CIViQ6 is documented with Sphinx. Documentation can be found on Read the Docs:
If you want to build the document yourself, clone the source code and install with [doc]
option.
This option installs the additional packages to build the document and to run the examples.
Go to doc
directory and build the document.
$ pip install civiq6[doc]
$ cd doc
$ make html
Document will be generated in build/html
directory. Open index.html
to see the central page.
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
File details
Details for the file civiq6-0.2.1.tar.gz
.
File metadata
- Download URL: civiq6-0.2.1.tar.gz
- Upload date:
- Size: 12.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f7bedd63a9a2bd2200d883bff58c8d69fab3c59f117a60f003047e5ee6f796da |
|
MD5 | 2834cd0b53c58ef0d019d0415633b678 |
|
BLAKE2b-256 | fc5c550846a5c7b6e65de115ab5ecb7707ca942d9d2afb5a8b25777a0443dd22 |
File details
Details for the file civiq6-0.2.1-py3-none-any.whl
.
File metadata
- Download URL: civiq6-0.2.1-py3-none-any.whl
- Upload date:
- Size: 11.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4ac1558b03cbd15be19c263a5cfb6ed98a59586205e3eea2caf4465617be231d |
|
MD5 | 47a4fc3e9857265a6b65839e085e14e8 |
|
BLAKE2b-256 | 6e9622bd9544bb8efc28c1c6a2e94dc085457632c7abe658fbca64ec42796f41 |