Skip to content

Conversation

@robgee86
Copy link
Contributor

@robgee86 robgee86 commented Oct 30, 2025

Description

This PR introduces a new Camera peripheral system that extends the kinds of video stream sources we support. Namely, we now support Video4Linux2 cameras, network cameras and websocket input streams.

The new unified Camera factory automatically detects and initializes the appropriate camera type based on its source argument: V4LCamera (the default), IPCamera, and WebSocketCamera.

Also, writing this PR required revamping/refactoring part of the image manipulation utilities to support multiple color formats (BGR, BGRA, greyscale) and common camera data types (uint8, uint16, uint32). These utilities now also have a "pipeable" alternative that allows chaining them on the acquisition hot path. This pipeline can be provided as the adjustments argument.

Deprecations:

  • USBCamera is now deprecated and migrated to use the new Camera backend to maintain backward compatibility. It will be removed in the future.

@robgee86 robgee86 force-pushed the add-camera-peripheral branch from 9624722 to a050d44 Compare October 30, 2025 00:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant