Python wrapper for Hikrobot MVS cameras
Project description
Hikrobot SDK – Python Wrapper
A lightweight, Pythonic wrapper around the Hikrobot (Hikvision Industrial) MVS Camera SDK, simplifying device enumeration, camera detection, frame grabbing, and pixel format conversion.
This package includes a wrapper for the official MvCameraControl SDK through the MvImport Python bindings.
⭐ Features
- Thread-safe device enumeration
- Device list caching for performance
- Find camera by serial number
- Simple
CameraDevicelifecycle - Raw frame grabbing (
MV_CC_GetOneFrameTimeout) - Convert frames to RGB
- Supports GigE & USB3 Hikrobot cameras
- Set camera parameters (int, float, bool, enum, command)
📦 Installation
Note: The official Hikrobot MVS SDK must be installed separately.
Install via pip:
pip install hikrobot-sdk
Ensure the Hikrobot SDK is installed:
- Linux:
/opt/MVS/ - Windows:
C:\Program Files\MVS\Development\
📁 Package Structure
hikrobot/
│
├── hikrobot_sdk.py
└── MvImport/
├── MvCameraControl_class.py
└── (other Hikrobot SDK Python files)
🚀 Quick Start
🔍 Enumerate Devices
from hikrobot import DeviceManager
devices = DeviceManager.enumerate()
print("Devices found:", devices.nDeviceNum)
🎯 Find a Camera by Serial Number
from hikrobot import DeviceManager
device_info = DeviceManager.find_camera("YOUR_CAMERA_SN")
if device_info:
print("Camera found")
else:
print("Camera not found")
📷 Open Camera and Grab a Frame
from hikrobot import CameraDevice, DeviceManager
device_info = DeviceManager.find_camera("YOUR_CAMERA_SN")
cam = CameraDevice(device_info)
if cam.create_handle_and_open():
cam.start_grabbing()
frame = cam.get_one_frame(1000)
if frame:
raw_bytes, info = frame
print("Frame:", info.nWidth, "x", info.nHeight)
cam.stop_grabbing()
cam.close_and_destroy()
🎨 Convert Raw Frame to RGB
raw_bytes, info = cam.get_one_frame()
rgb_bytes = cam.convert_to_rgb(raw_bytes, info)
🔧 Set Camera Parameters
cam.set_value("ExposureTime", 12000)
cam.set_value("Gain", 5)
cam.set_value("TriggerMode", 1)
🧠 Class Overview
DeviceManager
- Thread-safe device scanning
- Caches device list
- Extracts serial numbers for GigE & USB cameras
Methods:
enumerate()find_camera(serial_number)refresh()
CameraDevice
- High-level wrapper around
MvCamerainstance
Methods:
create_handle_and_open()start_grabbing()stop_grabbing()get_one_frame(timeout_ms)convert_to_rgb(raw_bytes, frame_info)close_and_destroy()set_value(name, value)_register_exception_callback()
📄 License
MIT License.
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 hikrobot_sdk-0.1.1.tar.gz.
File metadata
- Download URL: hikrobot_sdk-0.1.1.tar.gz
- Upload date:
- Size: 68.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7acb26d6c66cadd08b743517b8c478b23ae0732cea870d84c81779172c527a56
|
|
| MD5 |
7d3a0afb24b6ea8ff877c1728daa6b14
|
|
| BLAKE2b-256 |
d653bf2fd337621f463f3c0c9703d2c6afb49c9ec03636872b9564d073d0b47e
|
File details
Details for the file hikrobot_sdk-0.1.1-py3-none-any.whl.
File metadata
- Download URL: hikrobot_sdk-0.1.1-py3-none-any.whl
- Upload date:
- Size: 70.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cc67568d21289f8a929be789ce5ce036565a43acadadeca53178f9f168ddd789
|
|
| MD5 |
da45690e8324b1fe1a3f5081768e8708
|
|
| BLAKE2b-256 |
ca709dced0954f49b2ae6276bdf8314d3bfbe14dbf81363971270feed3f3267f
|