Skip to main content

Dora Node for capturing video with Pyrealsense

Project description

Dora Node for capturing video with PyRealSense

This node is used to capture video from a camera using PyRealsense.

Installation

Make sure to use realsense udev config at https://github.com/IntelRealSense/librealsense/blob/master/doc/installation.md

You can try, the following:

wget https://raw.githubusercontent.com/IntelRealSense/librealsense/refs/heads/master/scripts/setup_udev_rules.sh

mkdir config
cd config
wget https://raw.githubusercontent.com/IntelRealSense/librealsense/master/config/99-realsense-libusb.rules

cd ..

chmod +x setup_udev_rules.sh

YAML

- id: opencv-video-capture
  build: pip install ../../node-hub/opencv-video-capture
  path: opencv-video-capture
  inputs:
    tick: dora/timer/millis/16 # try to capture at 60fps
  outputs:
    - image: # the captured image

  env:
    PATH: 0 # optional, default is 0

    IMAGE_WIDTH: 640 # optional, default is video capture width
    IMAGE_HEIGHT: 480 # optional, default is video capture height

Inputs

  • tick: empty Arrow array to trigger the capture

Outputs

  • image: an arrow array containing the captured image
## Image data
image_data: UInt8Array # Example: pa.array(img.ravel())
metadata = {
  "width": 640,
  "height": 480,
  "encoding": str, # bgr8, rgb8
}

## Example
node.send_output(
  image_data, {"width": 640, "height": 480, "encoding": "bgr8"}
  )

## Decoding
storage = event["value"]

metadata = event["metadata"]
encoding = metadata["encoding"]
width = metadata["width"]
height = metadata["height"]

if encoding == "bgr8":
    channels = 3
    storage_type = np.uint8

frame = (
    storage.to_numpy()
    .astype(storage_type)
    .reshape((height, width, channels))
)

Examples

Check example at examples/python-dataflow

License

This project is licensed under Apache-2.0. Check out NOTICE.md for more information.

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

dora_pyrealsense-0.3.12.tar.gz (4.2 kB view details)

Uploaded Source

Built Distribution

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

dora_pyrealsense-0.3.12-py3-none-any.whl (4.4 kB view details)

Uploaded Python 3

File details

Details for the file dora_pyrealsense-0.3.12.tar.gz.

File metadata

  • Download URL: dora_pyrealsense-0.3.12.tar.gz
  • Upload date:
  • Size: 4.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.7.17

File hashes

Hashes for dora_pyrealsense-0.3.12.tar.gz
Algorithm Hash digest
SHA256 648ae70280bc6373428a985c98ad0f6645cc568fcc7f4d52a0f7bd87b36ccce2
MD5 e8db59bd7732d961eb7f778f23ebc206
BLAKE2b-256 7f672d224b1696eec062ab8263227f2699b7b7140a4bc38d0929c845baa144c2

See more details on using hashes here.

File details

Details for the file dora_pyrealsense-0.3.12-py3-none-any.whl.

File metadata

File hashes

Hashes for dora_pyrealsense-0.3.12-py3-none-any.whl
Algorithm Hash digest
SHA256 a021671c2c1e2c0f7b94e1cd26c2260f9ea7ebe69bff13003817848cdc1e5e2a
MD5 7aabbc513194847ad196f639bbcd79f1
BLAKE2b-256 465e97ef90b6f0be3adeba8a04c5169a6f648cb7740e2753807b9a91563247fd

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