WPILibC++
2019.1.1-beta-1-18-g2e3e3a4
|
Singleton class for creating and keeping camera servers. More...
#include <CameraServer.h>
Public Member Functions | |
void | StartAutomaticCapture (const cs::VideoSource &camera) |
Start automatically capturing images to send to the dashboard from an existing camera. More... | |
cs::AxisCamera | AddAxisCamera (const wpi::Twine &host) |
Adds an Axis IP camera. More... | |
cs::AxisCamera | AddAxisCamera (const char *host) |
Adds an Axis IP camera. More... | |
cs::AxisCamera | AddAxisCamera (const std::string &host) |
Adds an Axis IP camera. More... | |
cs::AxisCamera | AddAxisCamera (wpi::ArrayRef< std::string > hosts) |
Adds an Axis IP camera. More... | |
template<typename T > | |
cs::AxisCamera | AddAxisCamera (std::initializer_list< T > hosts) |
Adds an Axis IP camera. More... | |
cs::AxisCamera | AddAxisCamera (const wpi::Twine &name, const wpi::Twine &host) |
Adds an Axis IP camera. More... | |
cs::AxisCamera | AddAxisCamera (const wpi::Twine &name, const char *host) |
Adds an Axis IP camera. More... | |
cs::AxisCamera | AddAxisCamera (const wpi::Twine &name, const std::string &host) |
Adds an Axis IP camera. More... | |
cs::AxisCamera | AddAxisCamera (const wpi::Twine &name, wpi::ArrayRef< std::string > hosts) |
Adds an Axis IP camera. More... | |
template<typename T > | |
cs::AxisCamera | AddAxisCamera (const wpi::Twine &name, std::initializer_list< T > hosts) |
Adds an Axis IP 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::CvSink | GetVideo (const wpi::Twine &name) |
Get OpenCV access to the specified camera. More... | |
cs::CvSource | PutVideo (const wpi::Twine &name, int width, int height) |
Create a MJPEG stream with OpenCV input. More... | |
cs::MjpegServer | AddServer (const wpi::Twine &name) |
Adds a MJPEG server at the next available port. More... | |
cs::MjpegServer | AddServer (const wpi::Twine &name, int port) |
Adds a MJPEG server. More... | |
void | AddServer (const cs::VideoSink &server) |
Adds an already created server. More... | |
void | RemoveServer (const wpi::Twine &name) |
Removes a server by name. More... | |
cs::VideoSink | GetServer () |
Get server for the primary camera feed. More... | |
cs::VideoSink | GetServer (const wpi::Twine &name) |
Gets a server by name. More... | |
void | AddCamera (const cs::VideoSource &camera) |
Adds an already created camera. More... | |
void | RemoveCamera (const wpi::Twine &name) |
Removes a camera by name. More... | |
void | SetSize (int size) |
Sets the size of the image to use. More... | |
Static Public Member Functions | |
static CameraServer * | GetInstance () |
Get the CameraServer instance. | |
Static Public Attributes | |
static constexpr uint16_t | kBasePort = 1181 |
static constexpr int | kSize640x480 = 0 |
static constexpr int | kSize320x240 = 1 |
static constexpr int | kSize160x120 = 2 |
Singleton class for creating and keeping camera servers.
Also publishes camera information to NetworkTables.
cs::AxisCamera frc::CameraServer::AddAxisCamera | ( | const wpi::Twine & | host | ) |
Adds an Axis IP camera.
This overload calls AddAxisCamera() with name "Axis Camera".
host | Camera host IP or DNS name (e.g. "10.x.y.11") |
cs::AxisCamera frc::CameraServer::AddAxisCamera | ( | const char * | host | ) |
Adds an Axis IP camera.
This overload calls AddAxisCamera() with name "Axis Camera".
host | Camera host IP or DNS name (e.g. "10.x.y.11") |
cs::AxisCamera frc::CameraServer::AddAxisCamera | ( | const std::string & | host | ) |
Adds an Axis IP camera.
This overload calls AddAxisCamera() with name "Axis Camera".
host | Camera host IP or DNS name (e.g. "10.x.y.11") |
cs::AxisCamera frc::CameraServer::AddAxisCamera | ( | wpi::ArrayRef< std::string > | hosts | ) |
Adds an Axis IP camera.
This overload calls AddAxisCamera() with name "Axis Camera".
hosts | Array of Camera host IPs/DNS names |
|
inline |
Adds an Axis IP camera.
This overload calls AddAxisCamera() with name "Axis Camera".
hosts | Array of Camera host IPs/DNS names |
cs::AxisCamera frc::CameraServer::AddAxisCamera | ( | const wpi::Twine & | name, |
const wpi::Twine & | host | ||
) |
Adds an Axis IP camera.
name | The name to give the camera |
host | Camera host IP or DNS name (e.g. "10.x.y.11") |
cs::AxisCamera frc::CameraServer::AddAxisCamera | ( | const wpi::Twine & | name, |
const char * | host | ||
) |
Adds an Axis IP camera.
name | The name to give the camera |
host | Camera host IP or DNS name (e.g. "10.x.y.11") |
cs::AxisCamera frc::CameraServer::AddAxisCamera | ( | const wpi::Twine & | name, |
const std::string & | host | ||
) |
Adds an Axis IP camera.
name | The name to give the camera |
host | Camera host IP or DNS name (e.g. "10.x.y.11") |
cs::AxisCamera frc::CameraServer::AddAxisCamera | ( | const wpi::Twine & | name, |
wpi::ArrayRef< std::string > | hosts | ||
) |
Adds an Axis IP camera.
name | The name to give the camera |
hosts | Array of Camera host IPs/DNS names |
|
inline |
Adds an Axis IP camera.
name | The name to give the camera |
hosts | Array of Camera host IPs/DNS names |
void frc::CameraServer::AddCamera | ( | const cs::VideoSource & | camera | ) |
Adds an already created camera.
camera | Camera |
cs::MjpegServer frc::CameraServer::AddServer | ( | const wpi::Twine & | name | ) |
Adds a MJPEG server at the next available port.
name | Server name |
cs::MjpegServer frc::CameraServer::AddServer | ( | const wpi::Twine & | name, |
int | port | ||
) |
Adds a MJPEG server.
name | Server name |
void frc::CameraServer::AddServer | ( | const cs::VideoSink & | server | ) |
Adds an already created server.
server | Server |
cs::VideoSink frc::CameraServer::GetServer | ( | ) |
Get server for the primary camera feed.
This is only valid to call after a camera feed has been added with StartAutomaticCapture() or AddServer().
cs::VideoSink frc::CameraServer::GetServer | ( | const wpi::Twine & | name | ) |
Gets a server by name.
name | Server name |
cs::CvSink frc::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 frc::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::CvSink frc::CameraServer::GetVideo | ( | const wpi::Twine & | name | ) |
Get OpenCV access to the specified camera.
This allows you to get images from the camera for image processing on the roboRIO.
name | Camera name |
cs::CvSource frc::CameraServer::PutVideo | ( | const wpi::Twine & | 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 frc::CameraServer::RemoveCamera | ( | const wpi::Twine & | name | ) |
Removes a camera by name.
name | Camera name |
void frc::CameraServer::RemoveServer | ( | const wpi::Twine & | name | ) |
Removes a server by name.
name | Server name |
void frc::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 |
void frc::CameraServer::StartAutomaticCapture | ( | const cs::VideoSource & | camera | ) |
Start automatically capturing images to send to the dashboard from an existing camera.
camera | Camera |