WPILibC++  2019.3.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
cs::CvSource Class Reference

A source for user code to provide OpenCV images as video frames. More...

#include <cscore_oo.h>

Inheritance diagram for cs::CvSource:
cs::VideoSource

Public Member Functions

 CvSource (const wpi::Twine &name, const VideoMode &mode)
 Create an OpenCV source. More...
 
 CvSource (const wpi::Twine &name, VideoMode::PixelFormat pixelFormat, int width, int height, int fps)
 Create an OpenCV source. More...
 
void PutFrame (cv::Mat &image)
 Put an OpenCV image and notify sinks. More...
 
void NotifyError (const wpi::Twine &msg)
 Signal sinks that an error has occurred. More...
 
void SetConnected (bool connected)
 Set source connection status. More...
 
void SetDescription (const wpi::Twine &description)
 Set source description. More...
 
VideoProperty CreateProperty (const wpi::Twine &name, VideoProperty::Kind kind, int minimum, int maximum, int step, int defaultValue, int value)
 Create a property. More...
 
VideoProperty CreateIntegerProperty (const wpi::Twine &name, int minimum, int maximum, int step, int defaultValue, int value)
 Create an integer property. More...
 
VideoProperty CreateBooleanProperty (const wpi::Twine &name, bool defaultValue, bool value)
 Create a boolean property. More...
 
VideoProperty CreateStringProperty (const wpi::Twine &name, const wpi::Twine &value)
 Create a string property. More...
 
void SetEnumPropertyChoices (const VideoProperty &property, wpi::ArrayRef< std::string > choices)
 Configure enum property choices. More...
 
template<typename T >
void SetEnumPropertyChoices (const VideoProperty &property, std::initializer_list< T > choices)
 Configure enum property choices. More...
 
- Public Member Functions inherited from cs::VideoSource
 VideoSource (const VideoSource &source)
 
 VideoSource (VideoSource &&other) noexcept
 
VideoSourceoperator= (VideoSource other) noexcept
 
 operator bool () const
 
int GetHandle () const
 
bool operator== (const VideoSource &other) const
 
bool operator!= (const VideoSource &other) const
 
Kind GetKind () const
 Get the kind of the source.
 
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?
 
bool IsEnabled () const
 Gets source enable status. More...
 
VideoProperty GetProperty (const wpi::Twine &name)
 Get a property. More...
 
std::vector< VideoPropertyEnumerateProperties () const
 Enumerate all properties of this source.
 
VideoMode GetVideoMode () const
 Get the current video mode.
 
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 (wpi::StringRef 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.
 
CS_Status GetLastStatus () const
 
std::vector< VideoSinkEnumerateSinks ()
 Enumerate all sinks connected to this source. More...
 

Additional Inherited Members

- Public Types inherited from cs::VideoSource
enum  Kind { kUnknown = CS_SOURCE_UNKNOWN, kUsb = CS_SOURCE_USB, kHttp = CS_SOURCE_HTTP, kCv = CS_SOURCE_CV }
 
enum  ConnectionStrategy { kConnectionAutoManage = CS_CONNECTION_AUTO_MANAGE, kConnectionKeepOpen = CS_CONNECTION_KEEP_OPEN, kConnectionForceClose = CS_CONNECTION_FORCE_CLOSE }
 Connection strategy. More...
 
- Static Public Member Functions inherited from cs::VideoSource
static std::vector< VideoSourceEnumerateSources ()
 Enumerate all existing sources. More...
 
- 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
 

Detailed Description

A source for user code to provide OpenCV images as video frames.

Constructor & Destructor Documentation

cs::CvSource::CvSource ( const wpi::Twine name,
const VideoMode mode 
)
inline

Create an OpenCV source.

Parameters
nameSource name (arbitrary unique identifier)
modeVideo mode being generated
cs::CvSource::CvSource ( const wpi::Twine name,
VideoMode::PixelFormat  pixelFormat,
int  width,
int  height,
int  fps 
)
inline

Create an OpenCV source.

Parameters
nameSource name (arbitrary unique identifier)
pixelFormatPixel format
widthwidth
heightheight
fpsfps

Member Function Documentation

VideoProperty cs::CvSource::CreateBooleanProperty ( const wpi::Twine name,
bool  defaultValue,
bool  value 
)
inline

Create a boolean property.

Parameters
nameProperty name
defaultValueDefault value
valueCurrent value
Returns
Property
VideoProperty cs::CvSource::CreateIntegerProperty ( const wpi::Twine name,
int  minimum,
int  maximum,
int  step,
int  defaultValue,
int  value 
)
inline

Create an integer property.

Parameters
nameProperty name
minimumMinimum value
maximumMaximum value
stepStep value
defaultValueDefault value
valueCurrent value
Returns
Property
VideoProperty cs::CvSource::CreateProperty ( const wpi::Twine name,
VideoProperty::Kind  kind,
int  minimum,
int  maximum,
int  step,
int  defaultValue,
int  value 
)
inline

Create a property.

Parameters
nameProperty name
kindProperty kind
minimumMinimum value
maximumMaximum value
stepStep value
defaultValueDefault value
valueCurrent value
Returns
Property
VideoProperty cs::CvSource::CreateStringProperty ( const wpi::Twine name,
const wpi::Twine value 
)
inline

Create a string property.

Parameters
nameProperty name
defaultValueDefault value
valueCurrent value
Returns
Property
void cs::CvSource::NotifyError ( const wpi::Twine msg)
inline

Signal sinks that an error has occurred.

This should be called instead of NotifyFrame when an error occurs.

void cs::CvSource::PutFrame ( cv::Mat &  image)
inline

Put an OpenCV image and notify sinks.

Only 8-bit single-channel or 3-channel (with BGR channel order) images are supported. If the format, depth or channel order is different, use cv::Mat::convertTo() and/or cv::cvtColor() to convert it first.

Parameters
imageOpenCV image
void cs::CvSource::SetConnected ( bool  connected)
inline

Set source connection status.

Defaults to true.

Parameters
connectedTrue for connected, false for disconnected
void cs::CvSource::SetDescription ( const wpi::Twine description)
inline

Set source description.

Parameters
descriptionDescription
void cs::CvSource::SetEnumPropertyChoices ( const VideoProperty property,
wpi::ArrayRef< std::string >  choices 
)
inline

Configure enum property choices.

Parameters
propertyProperty
choicesChoices
template<typename T >
void cs::CvSource::SetEnumPropertyChoices ( const VideoProperty property,
std::initializer_list< T >  choices 
)
inline

Configure enum property choices.

Parameters
propertyProperty
choicesChoices

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