WPILibC++
unspecified
|
Singleton class for creating and keeping camera servers. More...
#include <CameraServer.h>
Public Member Functions | |
cs::USBCamera | StartAutomaticCapture () |
Start automatically capturing images to send to the dashboard. More... | |
cs::USBCamera | StartAutomaticCapture (int dev) |
Start automatically capturing images to send to the dashboard. More... | |
cs::USBCamera | StartAutomaticCapture (llvm::StringRef name, int dev) |
Start automatically capturing images to send to the dashboard. More... | |
cs::USBCamera | StartAutomaticCapture (llvm::StringRef name, llvm::StringRef path) |
Start automatically capturing images to send to the dashboard. More... | |
void | StartAutomaticCapture (const cs::VideoSource &camera) |
Start automatically capturing images to send to the dashboard from an existing camera. More... | |
cs::CvSink | GetVideo () |
Get OpenCV access to the primary camera feed. More... | |
cs::CvSink | GetVideo (const cs::VideoSource &camera) |
Get OpenCV access to the specified camera. More... | |
cs::CvSource | PutVideo (llvm::StringRef name, int width, int height) |
Create a MJPEG stream with OpenCV input. More... | |
cs::MJPEGServer | AddServer (llvm::StringRef name) |
Adds a MJPEG server at the next available port. More... | |
cs::MJPEGServer | AddServer (llvm::StringRef name, int port) |
Adds a MJPEG server. More... | |
void | AddServer (const cs::VideoSink &server) |
Adds an already created server. More... | |
void | RemoveServer (llvm::StringRef name) |
Removes a server by name. More... | |
void | AddCamera (const cs::VideoSource &camera) |
Adds an already created camera. More... | |
void | RemoveCamera (llvm::StringRef name) |
Removes a camera by name. More... | |
void | SetSize (int size) |
Sets the size of the image to use. More... | |
![]() | |
ErrorBase (const ErrorBase &)=delete | |
ErrorBase & | operator= (const ErrorBase &)=delete |
virtual Error & | GetError () |
Retrieve the current error. More... | |
virtual const Error & | GetError () const |
virtual void | SetErrnoError (llvm::StringRef contextMessage, llvm::StringRef filename, llvm::StringRef function, int lineNumber) const |
Set error information associated with a C library call that set an error to the "errno" global variable. More... | |
virtual void | SetImaqError (int success, llvm::StringRef contextMessage, llvm::StringRef filename, llvm::StringRef function, int lineNumber) const |
Set the current error information associated from the nivision Imaq API. More... | |
virtual void | SetError (Error::Code code, llvm::StringRef contextMessage, llvm::StringRef filename, llvm::StringRef function, int lineNumber) const |
Set the current error information associated with this sensor. More... | |
virtual void | SetErrorRange (Error::Code code, int32_t minRange, int32_t maxRange, int32_t requestedValue, llvm::StringRef contextMessage, llvm::StringRef filename, llvm::StringRef function, int lineNumber) const |
Set the current error information associated with this sensor. More... | |
virtual void | SetWPIError (llvm::StringRef errorMessage, Error::Code code, llvm::StringRef contextMessage, llvm::StringRef filename, llvm::StringRef function, int lineNumber) const |
Set the current error information associated with this sensor. More... | |
virtual void | CloneError (const ErrorBase &rhs) const |
virtual void | ClearError () const |
Clear the current error information associated with this sensor. | |
virtual bool | StatusIsFatal () const |
Check if the current error code represents a fatal error. More... | |
Static Public Member Functions | |
static CameraServer * | GetInstance () |
Get the CameraServer instance. | |
![]() | |
static void | SetGlobalError (Error::Code code, llvm::StringRef contextMessage, llvm::StringRef filename, llvm::StringRef function, int lineNumber) |
static void | SetGlobalWPIError (llvm::StringRef errorMessage, llvm::StringRef contextMessage, llvm::StringRef filename, llvm::StringRef function, int lineNumber) |
static Error & | GetGlobalError () |
Retrieve the current global error. | |
Static Public Attributes | |
static constexpr uint16_t | kBasePort = 1181 |
static constexpr int | kSize640x480 = 0 |
static constexpr int | kSize320x240 = 1 |
static constexpr int | kSize160x120 = 2 |
Additional Inherited Members | |
![]() | |
Error | m_error |
![]() | |
static priority_mutex | _globalErrorMutex |
static Error | _globalError |
Singleton class for creating and keeping camera servers.
Also publishes camera information to NetworkTables.
void CameraServer::AddCamera | ( | const cs::VideoSource & | camera | ) |
Adds an already created camera.
camera | Camera |
cs::MJPEGServer CameraServer::AddServer | ( | llvm::StringRef | name | ) |
Adds a MJPEG server at the next available port.
name | Server name |
cs::MJPEGServer CameraServer::AddServer | ( | llvm::StringRef | name, |
int | port | ||
) |
Adds a MJPEG server.
name | Server name |
void CameraServer::AddServer | ( | const cs::VideoSink & | server | ) |
Adds an already created server.
server | Server |
cs::CvSink CameraServer::GetVideo | ( | ) |
Get OpenCV access to the primary camera feed.
This allows you to get images from the camera for image processing on the roboRIO.
This is only valid to call after a camera feed has been added with startAutomaticCapture() or addServer().
cs::CvSink CameraServer::GetVideo | ( | const cs::VideoSource & | camera | ) |
Get OpenCV access to the specified camera.
This allows you to get images from the camera for image processing on the roboRIO.
camera | Camera (e.g. as returned by startAutomaticCapture). |
cs::CvSource CameraServer::PutVideo | ( | llvm::StringRef | name, |
int | width, | ||
int | height | ||
) |
Create a MJPEG stream with OpenCV input.
This can be called to pass custom annotated images to the dashboard.
name | Name to give the stream |
width | Width of the image being sent |
height | Height of the image being sent |
void CameraServer::RemoveCamera | ( | llvm::StringRef | name | ) |
Removes a camera by name.
name | Camera name |
void CameraServer::RemoveServer | ( | llvm::StringRef | name | ) |
Removes a server by name.
name | Server name |
void CameraServer::SetSize | ( | int | size | ) |
Sets the size of the image to use.
Use the public kSize constants to set the correct mode, or set it directly on a camera and call the appropriate StartAutomaticCapture method.
size | The size to use |
cs::USBCamera CameraServer::StartAutomaticCapture | ( | ) |
Start automatically capturing images to send to the dashboard.
You should call this method to see a camera feed on the dashboard. If you also want to perform vision processing on the roboRIO, use getVideo() to get access to the camera images.
This overload calls startAutomaticCapture(int) with device 0.
cs::USBCamera CameraServer::StartAutomaticCapture | ( | int | dev | ) |
Start automatically capturing images to send to the dashboard.
dev | The device number of the camera interface |
cs::USBCamera CameraServer::StartAutomaticCapture | ( | llvm::StringRef | name, |
int | dev | ||
) |
Start automatically capturing images to send to the dashboard.
name | The name to give the camera |
dev | The device number of the camera interface |
cs::USBCamera CameraServer::StartAutomaticCapture | ( | llvm::StringRef | name, |
llvm::StringRef | path | ||
) |
Start automatically capturing images to send to the dashboard.
name | The name to give the camera |
path | The device path (e.g. "/dev/video0") of the camera |
void CameraServer::StartAutomaticCapture | ( | const cs::VideoSource & | camera | ) |
Start automatically capturing images to send to the dashboard from an existing camera.
camera | Camera |