Skip to main content

HEXFELLOW Camera Driver

Project description

HEXFELLOW CAMERA DRIVER

DOI       


📖 Overview

What is hex_driver_camera

hex_driver_camera is a Python library for managing RGB and RGB-D cameras with a unified interface. It supports dummy cameras (for testing), USB cameras, Intel RealSense, and Berxel depth cameras. The library runs each camera in a separate process, streams frames via shared‑memory ring buffers, and provides simple get_color_img/get_depth_img APIs.

What problem it solves

  • Unified camera interface: Use the same API for dummy, USB, RealSense, and Berxel cameras.
  • Background acquisition: Each camera runs in its own process; the main thread only reads the latest frame when needed.
  • Low‑latency sharing: Frames are passed through shared‑memory ring buffers, avoiding serialization overhead.
  • Optional‑dependency handling: RealSense and Berxel support are extra dependencies; the core works without them.

Target users

  • Developers who need a simple, consistent way to capture from multiple camera types.
  • Robotics researchers prototyping vision pipelines with real or simulated cameras.
  • Anyone who wants to switch between a dummy camera (for testing) and a real camera without changing client code.

📦 Installation

Requirements

  • Python ≥ 3.10
  • OS: Linux (macOS/Windows may work for USB cameras but are less tested)
  • Core dependencies:
    • hex_util_runtime ≥ 0.0.0, < 0.1.0
    • opencv-python ≥ 4.10.0

Optional device support (install via extras):

Extra Purpose
berxel Berxel RGB‑D: berxel_py_wrapper ≥ 2.0.182
realsense Intel RealSense RGB‑D: pyrealsense2 ≥ 2.56.5.9235
all berxel + realsense (all optional cameras)

Install from PyPI

For those who don't need examples, you can install the package from PyPI.

  • Full install: includes all optional cameras (Berxel, RealSense)

    pip install hex_driver_camera[all]
    
  • Core install: only the core package (dummy + USB cameras)

    pip install hex_driver_camera
    
  • Install with a specific extra (e.g., only RealSense):

    pip install hex_driver_camera[realsense]
    

Install from Source

For those who need examples, you can install the package from source code with examples.

Note: We use uv to manage the Python environment. Please install it first.

  1. Clone and install in editable mode. The venv.sh script expects uv.

    git clone https://github.com/hexfellow/hex_driver_camera.git
    cd hex_driver_camera
    ./venv.sh
    
    • ./venv.sh — creates .venv, installs hex_driver_camera with [all] and example dependencies.
    • ./venv.sh --min — installs the core package only (no optional camera extras). Some examples will not run.
    • ./venv.sh --pkg-only — installs the package only, skips example-related dependencies.
  2. Activate before running examples:

    source .venv/bin/activate
    

📑 API

See API for details of all camera classes and parameters.

💡 Example

See Example for usage examples of each camera type.

📚 Citation

If you want to cite this project in your work, you can use the following BibTeX entry:

@software{hex_zmq_servers,
  author    = {Dong, Zhaorui and Chen, Zejun},
  title     = {Hex ZMQ Servers: A ZeroMQ-Based Embodied AI Communication Framework},
  year      = {2025},
  publisher = {Zenodo},
  version   = {v1.0.0},
  doi       = {10.5281/zenodo.18309960},
  url       = {https://doi.org/10.5281/zenodo.18309960}
}

📄 License

Apache License 2.0. See LICENSE.

🌟 Star History

Star History Chart

👥 Contributors

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

hex_driver_camera-0.0.1a7.tar.gz (16.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

hex_driver_camera-0.0.1a7-py3-none-any.whl (18.7 kB view details)

Uploaded Python 3

File details

Details for the file hex_driver_camera-0.0.1a7.tar.gz.

File metadata

  • Download URL: hex_driver_camera-0.0.1a7.tar.gz
  • Upload date:
  • Size: 16.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.12

File hashes

Hashes for hex_driver_camera-0.0.1a7.tar.gz
Algorithm Hash digest
SHA256 fab4e1f79432766bbe7a837b5603c218da4dec9f8344cdb8f55f6a7838d07da2
MD5 2e5737e09543a4c9752cba5e8ea54e55
BLAKE2b-256 f646600696079d5926e7f3c958204e0b856758f26371deb2a0c5e571243488f0

See more details on using hashes here.

File details

Details for the file hex_driver_camera-0.0.1a7-py3-none-any.whl.

File metadata

File hashes

Hashes for hex_driver_camera-0.0.1a7-py3-none-any.whl
Algorithm Hash digest
SHA256 c2d0b3fa19c4e5039cfee77b1010bf0d3d00f3f3ea1d32f56e151e545d3e204d
MD5 20d6a1d83e1fd573edc85a0f4588c7b9
BLAKE2b-256 a250de12b723e01e93418ad7e690bd6443be32b74eb6e04d9ec22853e2d84fa6

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page