Skip to main content

Crate ci2_webcam

Crate ci2_webcam 

Source
Expand description

A ci2 camera backend for consumer webcams (UVC and similar).

This backend is intended as a development convenience so that Strand Camera can be exercised without high-end machine-vision hardware. It is not the default backend (Pylon is) and deliberately implements only the subset of the ci2::Camera trait that maps cleanly onto a webcam.

Frame capture is provided by the nokhwa crate. The backend is named webcam rather than nokhwa so the underlying capture library can be swapped later without changing the user-facing backend name.

§Supported vs. unsupported features

Webcams expose almost none of the controls that machine-vision cameras do. Operations that have no webcam analogue (hardware triggering, exposure time in microseconds, gain in dB, node-map save/load, frame-rate limiting, the generic GenICam feature accessors) return ci2::Error::FeatureNotPresent. Strand Camera’s startup path tolerates this error for the values it reads.

§Pixel formats

Each frame from the webcam (commonly YUYV or MJPEG) is decoded on the host. Both PixFmt::RGB8 and PixFmt::Mono8 are offered; RGB8 is the default.

Structs§

WebcamTerminateGuard
The webcam backend keeps no global SDK state that needs tearing down, so the guard is a no-op. It exists to match the shape of the other ci2 backends.
WrappedCamera
WrappedModule

Functions§

make_singleton_guard
new_module