WPILibC++
2019.2.1-4-g05d6660
|
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 (const wpi::Twine &name, int dev) |
Start automatically capturing images to send to the dashboard. More... | |
cs::UsbCamera | StartAutomaticCapture (const wpi::Twine &name, const wpi::Twine &path) |
Start automatically capturing images to send to the dashboard. More... | |
cs::MjpegServer | 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 |
cs::UsbCamera frc::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.
The first time this overload is called, it calls StartAutomaticCapture() with device 0, creating a camera named "USB Camera 0". Subsequent calls increment the device number (e.g. 1, 2, etc).
cs::UsbCamera frc::CameraServer::StartAutomaticCapture | ( | int | dev | ) |
Start automatically capturing images to send to the dashboard.
This overload calls StartAutomaticCapture() with a name of "USB Camera {dev}".
dev | The device number of the camera interface |
cs::UsbCamera frc::CameraServer::StartAutomaticCapture | ( | const wpi::Twine & | 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 frc::CameraServer::StartAutomaticCapture | ( | const wpi::Twine & | name, |
const wpi::Twine & | 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 |
cs::MjpegServer frc::CameraServer::StartAutomaticCapture | ( | const cs::VideoSource & | camera | ) |
Start automatically capturing images to send to the dashboard from an existing camera.
camera | Camera |