WPILibC++ 2024.3.2
cs::UsbCamera Class Reference

A source that represents a USB camera. More...

#include <cscore_oo.h>

Inheritance diagram for cs::UsbCamera:
cs::VideoCamera cs::VideoSource

Public Member Functions

 UsbCamera ()=default
 
 UsbCamera (std::string_view name, int dev)
 Create a source for a USB camera based on device number. More...
 
 UsbCamera (std::string_view name, std::string_view path)
 Create a source for a USB camera based on device path. More...
 
void SetPath (std::string_view path)
 Change the path to the device. More...
 
std::string GetPath () const
 Get the path to the device. More...
 
UsbCameraInfo GetInfo () const
 Get the full camera information for the device. More...
 
void SetConnectVerbose (int level)
 Set how verbose the camera connection messages are. More...
 
- Public Member Functions inherited from cs::VideoCamera
 VideoCamera ()=default
 
void SetBrightness (int brightness)
 Set the brightness, as a percentage (0-100). More...
 
int GetBrightness ()
 Get the brightness, as a percentage (0-100). More...
 
void SetWhiteBalanceAuto ()
 Set the white balance to auto. More...
 
void SetWhiteBalanceHoldCurrent ()
 Set the white balance to hold current. More...
 
void SetWhiteBalanceManual (int value)
 Set the white balance to manual, with specified color temperature. More...
 
void SetExposureAuto ()
 Set the exposure to auto aperature. More...
 
void SetExposureHoldCurrent ()
 Set the exposure to hold current. More...
 
void SetExposureManual (int value)
 Set the exposure to manual, as a percentage (0-100). More...
 
- Public Member Functions inherited from cs::VideoSource
 VideoSource () noexcept=default
 
 VideoSource (const VideoSource &source)
 
 VideoSource (VideoSource &&other) noexcept
 
VideoSourceoperator= (VideoSource other) noexcept
 
 ~VideoSource ()
 
 operator bool () const
 
int GetHandle () const
 
bool operator== (const VideoSource &other) const
 
Kind GetKind () const
 Get the kind of the source. More...
 
std::string GetName () const
 Get the name of the source. More...
 
std::string GetDescription () const
 Get the source description. More...
 
uint64_t GetLastFrameTime () const
 Get the last time a frame was captured. More...
 
void SetConnectionStrategy (ConnectionStrategy strategy)
 Sets the connection strategy. More...
 
bool IsConnected () const
 Is the source currently connected to whatever is providing the images? More...
 
bool IsEnabled () const
 Gets source enable status. More...
 
VideoProperty GetProperty (std::string_view name)
 Get a property. More...
 
std::vector< VideoPropertyEnumerateProperties () const
 Enumerate all properties of this source. More...
 
VideoMode GetVideoMode () const
 Get the current video mode. More...
 
bool SetVideoMode (const VideoMode &mode)
 Set the video mode. More...
 
bool SetVideoMode (VideoMode::PixelFormat pixelFormat, int width, int height, int fps)
 Set the video mode. More...
 
bool SetPixelFormat (VideoMode::PixelFormat pixelFormat)
 Set the pixel format. More...
 
bool SetResolution (int width, int height)
 Set the resolution. More...
 
bool SetFPS (int fps)
 Set the frames per second (FPS). More...
 
bool SetConfigJson (std::string_view config)
 Set video mode and properties from a JSON configuration string. More...
 
bool SetConfigJson (const wpi::json &config)
 Set video mode and properties from a JSON configuration object. More...
 
std::string GetConfigJson () const
 Get a JSON configuration string. More...
 
wpi::json GetConfigJsonObject () const
 Get a JSON configuration object. More...
 
double GetActualFPS () const
 Get the actual FPS. More...
 
double GetActualDataRate () const
 Get the data rate (in bytes per second). More...
 
std::vector< VideoModeEnumerateVideoModes () const
 Enumerate all known video modes for this source. More...
 
CS_Status GetLastStatus () const
 
std::vector< VideoSinkEnumerateSinks ()
 Enumerate all sinks connected to this source. More...
 

Static Public Member Functions

static std::vector< UsbCameraInfoEnumerateUsbCameras ()
 Enumerate USB cameras on the local system. More...
 
- Static Public Member Functions inherited from cs::VideoSource
static std::vector< VideoSourceEnumerateSources ()
 Enumerate all existing sources. More...
 

Additional Inherited Members

- Public Types inherited from cs::VideoCamera
enum  WhiteBalance {
  kFixedIndoor = 3000 , kFixedOutdoor1 = 4000 , kFixedOutdoor2 = 5000 , kFixedFluorescent1 = 5100 ,
  kFixedFlourescent2 = 5200
}
 White balance. More...
 
- Public Types inherited from cs::VideoSource
enum  Kind { kUnknown = CS_SOURCE_UNKNOWN , kUsb = CS_SOURCE_USB , kHttp = CS_SOURCE_HTTP , kCv = CS_SOURCE_CV }
 Video source kind. More...
 
enum  ConnectionStrategy { kConnectionAutoManage = CS_CONNECTION_AUTO_MANAGE , kConnectionKeepOpen = CS_CONNECTION_KEEP_OPEN , kConnectionForceClose = CS_CONNECTION_FORCE_CLOSE }
 Connection strategy. More...
 
- Protected Member Functions inherited from cs::VideoCamera
 VideoCamera (CS_Source handle)
 
- Protected Member Functions inherited from cs::VideoSource
 VideoSource (CS_Source handle)
 
- Protected Attributes inherited from cs::VideoSource
CS_Status m_status = 0
 
CS_Source m_handle {0}
 Video source handle. More...
 

Detailed Description

A source that represents a USB camera.

Constructor & Destructor Documentation

◆ UsbCamera() [1/3]

cs::UsbCamera::UsbCamera ( )
default

◆ UsbCamera() [2/3]

cs::UsbCamera::UsbCamera ( std::string_view  name,
int  dev 
)
inline

Create a source for a USB camera based on device number.

Parameters
nameSource name (arbitrary unique identifier)
devDevice number (e.g. 0 for /dev/video0)

◆ UsbCamera() [3/3]

cs::UsbCamera::UsbCamera ( std::string_view  name,
std::string_view  path 
)
inline

Create a source for a USB camera based on device path.

Parameters
nameSource name (arbitrary unique identifier)
pathPath to device (e.g. "/dev/video0" on Linux)

Member Function Documentation

◆ EnumerateUsbCameras()

std::vector< UsbCameraInfo > cs::UsbCamera::EnumerateUsbCameras ( )
inlinestatic

Enumerate USB cameras on the local system.

Returns
Vector of USB camera information (one for each camera)

◆ GetInfo()

UsbCameraInfo cs::UsbCamera::GetInfo ( ) const
inline

Get the full camera information for the device.

◆ GetPath()

std::string cs::UsbCamera::GetPath ( ) const
inline

Get the path to the device.

◆ SetConnectVerbose()

void cs::UsbCamera::SetConnectVerbose ( int  level)
inline

Set how verbose the camera connection messages are.

Parameters
level0=don't display Connecting message, 1=do display message

◆ SetPath()

void cs::UsbCamera::SetPath ( std::string_view  path)
inline

Change the path to the device.


The documentation for this class was generated from the following files: