Visual Servoing Platform
version 3.2.0 under development (2019-01-22)
|
#include <visp3/sensor/vpPylonGrabber.h>
Public Types | |
enum | UserSetName { USERSET_DEFAULT, USERSET_USERSET1, USERSET_USERSET2, USERSET_USERSET3, USERSET_UNKNOWN } |
Public Member Functions | |
virtual | ~vpPylonGrabber () |
virtual void | acquire (vpImage< unsigned char > &I)=0 |
virtual void | acquire (vpImage< vpRGBa > &I)=0 |
virtual void | close ()=0 |
virtual void | connect ()=0 |
virtual void | disconnect ()=0 |
virtual float | getBlackLevel ()=0 |
virtual std::ostream & | getCameraInfo (std::ostream &os)=0 |
virtual Pylon::CInstantCamera * | getCameraHandler ()=0 |
virtual unsigned int | getCameraIndex () const =0 |
virtual std::string | getCameraSerial (unsigned int index)=0 |
virtual float | getExposure ()=0 |
virtual float | getFrameRate ()=0 |
virtual float | getGain ()=0 |
virtual unsigned int | getNumCameras ()=0 |
virtual float | getGamma ()=0 |
virtual bool | loadUserSet (UserSetName user_set)=0 |
virtual UserSetName | getUserSetDefault ()=0 |
virtual bool | isConnected () const =0 |
virtual bool | isCaptureStarted () const =0 |
virtual void | open (vpImage< unsigned char > &I)=0 |
virtual void | open (vpImage< vpRGBa > &I)=0 |
virtual vpPylonGrabber & | operator>> (vpImage< unsigned char > &I)=0 |
virtual vpPylonGrabber & | operator>> (vpImage< vpRGBa > &I)=0 |
virtual float | setBlackLevel (float blacklevel_value)=0 |
virtual void | setCameraIndex (unsigned int index)=0 |
virtual void | setCameraSerial (const std::string &serial)=0 |
virtual float | setExposure (bool exposure_on, bool exposure_auto, float exposure_value)=0 |
virtual float | setGain (bool gain_auto, float gain_value)=0 |
virtual float | setFrameRate (float frame_rate)=0 |
virtual float | setGamma (bool gamma_on, float gamma_value=1)=0 |
virtual bool | saveUserSet (UserSetName user_set, bool set_default=false)=0 |
virtual bool | setUserSetDefault (UserSetName user_set)=0 |
virtual void | startCapture ()=0 |
virtual void | stopCapture ()=0 |
Inherited functionalities from vpFramegrabber | |
unsigned int | getHeight () const |
unsigned int | getWidth () const |
Public Attributes | |
bool | init |
Protected Attributes | |
unsigned int | height |
unsigned int | width |
Allows to grab images from a Basler camera using Pylon SDK. This is an abstract base class which can't be instantiated. Use vpPylonFactory functions to create class instances instead. Currently only GigE and USB3 cameras are supported.
To get a vpPylonGrabber, use the following code.
To use this class install first Pylon SDK
https://www.baslerweb.com/en/support/downloads/software-downloads/#type=pylonsoftware;version=all
Installation instructions included.
Once installed, configure ViSP using cmake to detect Pylon SDK and build ViSP to include Pylon SDK support.
This class was tested under Ubuntu with pylon 5.0.9 and the following cameras:
This class is inspired by vpFlyCaptureGrabber with much simplified methods.
Definition at line 96 of file vpPylonGrabber.h.
Valid values for user set names.
Enumerator | |
---|---|
USERSET_DEFAULT |
The default user set. |
USERSET_USERSET1 |
User set 1. |
USERSET_USERSET2 |
User set 2. |
USERSET_USERSET3 |
User set 3. |
USERSET_UNKNOWN |
User set not supported. |
Definition at line 106 of file vpPylonGrabber.h.
|
inlinevirtual |
Default destructor.
Definition at line 102 of file vpPylonGrabber.h.
|
pure virtual |
Acquire a gray level image from the active camera.
I | : Image data structure (8 bits image). |
Implements vpFrameGrabber.
Implemented in vpPylonGrabberGigE, and vpPylonGrabberUsb.
Acquire a color image from the active camera.
I | : Image data structure (RGBa image). |
Implements vpFrameGrabber.
Implemented in vpPylonGrabberGigE, and vpPylonGrabberUsb.
|
pure virtual |
Stop active camera capturing images and disconnect the active camera.
If you want to use again this camera, you may call setCameraIndex(const unsigned int &) and open(vpImage<unsigned char> &) or open(vpImage<vpRGBa> &) to connect again the camera.
Implements vpFrameGrabber.
Implemented in vpPylonGrabberGigE, and vpPylonGrabberUsb.
|
pure virtual |
Connect the active camera.
Implemented in vpPylonGrabberGigE, and vpPylonGrabberUsb.
|
pure virtual |
Disconnect the active camera.
Implemented in vpPylonGrabberGigE, and vpPylonGrabberUsb.
|
pure virtual |
Return blacklevel value in % or raw value. If the camera doesn't support blacklevel property, return an exception.
According to SFNC (standard feature naming convention) of GenICam standard, Black level is used instead of brightness.
See "Terminology Changes" section of the page: https://www.ptgrey.com/kb/11020?countryid=237
Implemented in vpPylonGrabberGigE, and vpPylonGrabberUsb.
|
pure virtual |
Return the handler to the active camera or NULL if the camera is not connected. This function was designed to provide a direct access to the Pylon SDK to get access to advanced functionalities that are not implemented in this class.
Implemented in vpPylonGrabberGigE, and vpPylonGrabberUsb.
|
pure virtual |
Return the index of the active camera.
Implemented in vpPylonGrabberGigE, and vpPylonGrabberUsb.
|
pure virtual |
Print to the output stream active camera information (serial number, camera model, camera vendor, sensor, resolution, firmware version, ...).
Implemented in vpPylonGrabberGigE, and vpPylonGrabberUsb.
|
pure virtual |
Return the serial id of a camera with index.
index | : Camera index. |
Implemented in vpPylonGrabberGigE, and vpPylonGrabberUsb.
Referenced by vpPylonGrabberGigE::getCameraIndex(), and vpPylonGrabberUsb::getCameraIndex().
|
pure virtual |
Return exposure value in ms. If the camera doesn't support exposure property, return an exception.
According to SFNC (standard feature naming convention) of GenICam standard, Exposure is used and deprecates shutter.
See "Terminology Changes" section of the page: https://www.ptgrey.com/kb/11020?countryid=237
Implemented in vpPylonGrabberGigE, and vpPylonGrabberUsb.
Referenced by vpPylonGrabberGigE::getCameraIndex(), and vpPylonGrabberUsb::getCameraIndex().
|
pure virtual |
Return camera capture framerate. If the camera doesn't support framerate property, return an exception.
Implemented in vpPylonGrabberGigE, and vpPylonGrabberUsb.
Referenced by vpPylonGrabberGigE::getCameraIndex(), and vpPylonGrabberUsb::getCameraIndex().
|
pure virtual |
Return camera gain value in dB or raw value. If the camera doesn't support gain property, return an exception.
Implemented in vpPylonGrabberGigE, and vpPylonGrabberUsb.
Referenced by vpPylonGrabberGigE::getCameraIndex(), and vpPylonGrabberUsb::getCameraIndex().
|
pure virtual |
Return gamma correction value. If the camera doesn't support gamma property, return an exception.
Implemented in vpPylonGrabberGigE, and vpPylonGrabberUsb.
Referenced by vpPylonGrabberGigE::getCameraIndex(), and vpPylonGrabberUsb::getCameraIndex().
|
inlineinherited |
Return the number of rows in the image.
Definition at line 114 of file vpFrameGrabber.h.
|
pure virtual |
Get the number of cameras of specific subclasses. GigE, USB, etc.
Implemented in vpPylonGrabberGigE, and vpPylonGrabberUsb.
Referenced by vpPylonGrabberGigE::getCameraIndex(), and vpPylonGrabberUsb::getCameraIndex().
|
pure virtual |
Gets the configuration set being used as the default startup set.
Implemented in vpPylonGrabberGigE, and vpPylonGrabberUsb.
Referenced by vpPylonGrabberGigE::getCameraIndex(), and vpPylonGrabberUsb::getCameraIndex().
|
inlineinherited |
Return the number of columns in the image.
Definition at line 116 of file vpFrameGrabber.h.
|
pure virtual |
Return true if the camera capture is started.
Implemented in vpPylonGrabberGigE, and vpPylonGrabberUsb.
|
pure virtual |
Return true if the camera is connected.
Implemented in vpPylonGrabberGigE, and vpPylonGrabberUsb.
|
pure virtual |
Loads the selected configuration into the camera's volatile memory and makes it the active configuration set.
user_set | See vpPylonGrabber::UserSetName for valid values. |
Implemented in vpPylonGrabberGigE, and vpPylonGrabberUsb.
Referenced by vpPylonGrabberGigE::getCameraIndex(), and vpPylonGrabberUsb::getCameraIndex().
|
pure virtual |
Connect to the active camera, start capture and retrieve an image.
I | : Captured image. |
Implements vpFrameGrabber.
Implemented in vpPylonGrabberGigE, and vpPylonGrabberUsb.
Referenced by vpPylonGrabberGigE::isCaptureStarted(), and vpPylonGrabberUsb::isCaptureStarted().
Connect to the active camera, start capture and retrieve an image.
I | : Captured image. |
Implements vpFrameGrabber.
Implemented in vpPylonGrabberGigE, and vpPylonGrabberUsb.
|
pure virtual |
Operator that allows to capture a grey level image.
I | : The captured image. |
Implemented in vpPylonGrabberGigE, and vpPylonGrabberUsb.
Referenced by vpPylonGrabberGigE::isCaptureStarted(), and vpPylonGrabberUsb::isCaptureStarted().
|
pure virtual |
Operator that allows to capture a color image.
I | : The captured image. |
Implemented in vpPylonGrabberGigE, and vpPylonGrabberUsb.
|
pure virtual |
Saves the current active configuration set into the selected user set.
user_set | See vpPylonGrabber::UserSetName for valid values. |
set_default | Whether to set the configuration set to be used as the default startup set. |
Implemented in vpPylonGrabberGigE, and vpPylonGrabberUsb.
Referenced by vpPylonGrabberGigE::isCaptureStarted(), and vpPylonGrabberUsb::isCaptureStarted().
|
pure virtual |
Set camera blacklevel mode and parameter.
blacklevel_value | : This is the level of black in an image. A high blacklevel will result in a low amount of black in the image. |
According to SFNC (standard feature naming convention) of GenICam standard, Black level is used instead of brightness.
See "Terminology Changes" section of the page: https://www.ptgrey.com/kb/11020?countryid=237
Implemented in vpPylonGrabberGigE, and vpPylonGrabberUsb.
Referenced by vpPylonGrabberGigE::isCaptureStarted(), and vpPylonGrabberUsb::isCaptureStarted().
|
pure virtual |
If multiples cameras are connected on the bus, select the camera to dial with.
index | : Current camera index, a value comprised between 0 (the first camera found on the bus) and the number of cameras found and returned by getNumCameras() minus 1. |
If two cameras are connected on the bus, setting index to one allows to communicate with the second one. This identifier is not unique. That is why, it is also possible to select a camera by its serial number, which is unique using setCameraSerial().
vpException::badValue | : If the index is greater or equal to the number of cameras connected to the bus. |
Implemented in vpPylonGrabberGigE, and vpPylonGrabberUsb.
Referenced by vpPylonGrabberGigE::isCaptureStarted(), and vpPylonGrabberUsb::isCaptureStarted().
|
pure virtual |
Set the current camera from its unique serial identifier.
serial | : Camera serial string. |
Implemented in vpPylonGrabberGigE, and vpPylonGrabberUsb.
Referenced by vpPylonGrabberGigE::isCaptureStarted(), and vpPylonGrabberUsb::isCaptureStarted().
|
pure virtual |
Set camera exposure mode and parameter.
exposure_on | : If true turn exposure on, otherwise turn off. |
exposure_auto | : If true set auto exposure, if false set manual exposure applying exposure_value parameter. |
exposure_value | : This is the exposure value in ms. |
According to SFNC (standard feature naming convention) of GenICam standard, Exposure is used and deprecates shutter.
See "Terminology Changes" section of the page: https://www.ptgrey.com/kb/11020?countryid=237
Implemented in vpPylonGrabberGigE, and vpPylonGrabberUsb.
Referenced by vpPylonGrabberGigE::isCaptureStarted(), and vpPylonGrabberUsb::isCaptureStarted().
|
pure virtual |
Set camera frame rate.
frame_rate | : Camera frame rate (fps) to set. |
Implemented in vpPylonGrabberGigE, and vpPylonGrabberUsb.
Referenced by vpPylonGrabberGigE::isCaptureStarted(), and vpPylonGrabberUsb::isCaptureStarted().
|
pure virtual |
Set camera gain mode and value.
gain_auto | : If true set auto gain, if false set manual gain applying gain_value parameter. |
gain_value | : The amount of amplification that is applied to a pixel in manual mode. An increase in gain can result in an increase in noise. |
Implemented in vpPylonGrabberGigE, and vpPylonGrabberUsb.
Referenced by vpPylonGrabberGigE::isCaptureStarted(), and vpPylonGrabberUsb::isCaptureStarted().
|
pure virtual |
Set camera gamma correction mode and parameter.
gamma_on | : If true turn gamma correction on, otherwise turn off. |
gamma_value | : Parameter used to perform gamma correction of pixel intensity. |
Implemented in vpPylonGrabberGigE, and vpPylonGrabberUsb.
Referenced by vpPylonGrabberGigE::isCaptureStarted(), and vpPylonGrabberUsb::isCaptureStarted().
|
pure virtual |
Sets the configuration set to be used as the default startup set.
user_set | See vpPylonGrabber::UserSetName for valid values. |
Implemented in vpPylonGrabberGigE, and vpPylonGrabberUsb.
Referenced by vpPylonGrabberGigE::isCaptureStarted(), and vpPylonGrabberUsb::isCaptureStarted().
|
pure virtual |
Start active camera capturing images.
Implemented in vpPylonGrabberGigE, and vpPylonGrabberUsb.
Referenced by vpPylonGrabberGigE::isCaptureStarted(), and vpPylonGrabberUsb::isCaptureStarted().
|
pure virtual |
Stop active camera capturing images.
Implemented in vpPylonGrabberGigE, and vpPylonGrabberUsb.
Referenced by vpPylonGrabberGigE::isCaptureStarted(), and vpPylonGrabberUsb::isCaptureStarted().
|
protectedinherited |
Number of rows in the image.
Definition at line 107 of file vpFrameGrabber.h.
Referenced by vpPylonGrabberGigE::acquire(), vpPylonGrabberUsb::acquire(), vpDiskGrabber::acquire(), vpFlyCaptureGrabber::acquire(), vpV4l2Grabber::acquire(), vp1394TwoGrabber::acquire(), vpV4l2Grabber::close(), vp1394TwoGrabber::dequeue(), vpVideoReader::getFrame(), vp1394TwoGrabber::getHeight(), vpDiskGrabber::open(), vpV4l2Grabber::open(), vp1394CMUGrabber::open(), vp1394CMUGrabber::selectCamera(), vpVideoReader::setFileName(), vp1394TwoGrabber::setFormat7ROI(), vp1394CMUGrabber::setVideoMode(), vp1394TwoGrabber::setVideoMode(), vp1394CMUGrabber::vp1394CMUGrabber(), and vp1394TwoGrabber::vp1394TwoGrabber().
|
inherited |
Set to true if the frame grabber has been initialized.
Definition at line 104 of file vpFrameGrabber.h.
Referenced by vpV4l2Grabber::acquire(), vp1394CMUGrabber::close(), vp1394TwoGrabber::close(), vpPylonGrabberGigE::connect(), vpPylonGrabberUsb::connect(), vpFlyCaptureGrabber::connect(), vpPylonGrabberGigE::disconnect(), vpPylonGrabberUsb::disconnect(), vpFlyCaptureGrabber::disconnect(), vpDiskGrabber::open(), vpV4l2Grabber::open(), vp1394TwoGrabber::resetBus(), vp1394CMUGrabber::selectCamera(), vp1394TwoGrabber::setFormat7ROI(), vpPylonGrabberUsb::startCapture(), vpPylonGrabberGigE::startCapture(), vpFlyCaptureGrabber::startCapture(), vpPylonGrabberGigE::stopCapture(), vpPylonGrabberUsb::stopCapture(), vpFlyCaptureGrabber::stopCapture(), vp1394CMUGrabber::vp1394CMUGrabber(), vp1394TwoGrabber::vp1394TwoGrabber(), vpDiskGrabber::vpDiskGrabber(), and vpV4l2Grabber::vpV4l2Grabber().
|
protectedinherited |
Number of columns in the image.
Definition at line 108 of file vpFrameGrabber.h.
Referenced by vpPylonGrabberGigE::acquire(), vpPylonGrabberUsb::acquire(), vpDiskGrabber::acquire(), vpFlyCaptureGrabber::acquire(), vpV4l2Grabber::acquire(), vp1394TwoGrabber::acquire(), vpV4l2Grabber::close(), vp1394TwoGrabber::dequeue(), vpVideoReader::getFrame(), vp1394TwoGrabber::getWidth(), vpDiskGrabber::open(), vpV4l2Grabber::open(), vp1394CMUGrabber::open(), vp1394CMUGrabber::selectCamera(), vpVideoReader::setFileName(), vp1394TwoGrabber::setFormat7ROI(), vp1394CMUGrabber::setVideoMode(), vp1394TwoGrabber::setVideoMode(), vp1394CMUGrabber::vp1394CMUGrabber(), and vp1394TwoGrabber::vp1394TwoGrabber().