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§
- Webcam
Terminate Guard - 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.
- Wrapped
Camera - Wrapped
Module