Manages a laser line extraction context. More...
#include <eVision/Easy3D/Easy3DLaserLine/ELaserLineExtractor.h>
Public Member Functions | |
| ELaserLineExtractor (int frameWidth, int frameHeight, int numFramesPerMap, float zResolution) | |
| Creates an ELaserLineExtractor object. | |
| ELaserLineExtractor (int frameWidth, int frameHeight, int numFramesPerMap) | |
| Creates an ELaserLineExtractor object. | |
| ELaserLineExtractor (const eVision::Easy3D::ELaserLineExtractor &other) | |
| Creates an ELaserLineExtractor object. | |
| virtual | ~ELaserLineExtractor () throw () |
| eVision::Easy3D::ELaserLineExtractor & | operator= (const eVision::Easy3D::ELaserLineExtractor &other) |
| Assignment operator. | |
| int32_t | GetFrameWidth () const |
| Width of the frames from which the profiles are extracted. | |
| int32_t | GetFrameHeight () const |
| Height of the frames from which the profiles are extracted. | |
| int32_t | GetNumFramesPerMap () const |
| Number of frames from which the profiles are be extracted. | |
| float | GetZResolution () const |
| Z resolution of the extracted profile. | |
| int32_t | GetNumExtractedProfile () const |
| Number of extracted profiles. | |
| bool | ExtractProfileFromFrame (const eVision::EROIBW8 &frame) |
| Extracts a profile from a frame and adds it to the current depth map. | |
| std::vector< float > | GetProfile () const |
| Returns the last extracted profile. | |
| void | Save (const std::string &file) |
| Save the ELaserLineExtractor configuration. The settings are saved but the profiles aren't. | |
| void | Save (eVision::ESerializer *serializer) |
| Save the ELaserLineExtractor configuration. The settings are saved but the profiles aren't. | |
| void | Load (const std::string &file) |
| Load the ELaserLineExtractor configuration. The settings are loaded and the profiles are discarded. | |
| void | Load (eVision::ESerializer *serializer) |
| Load the ELaserLineExtractor configuration. The settings are loaded and the profiles are discarded. | |
| void | SetAnalysisThreshold (int threshold) |
| Analysis threshold. Set this value to eliminate noise. | |
| int | GetAnalysisThreshold () const |
| Analysis threshold. Set this value to eliminate noise. | |
| void | SetAnalysisMode (eVision::Easy3D::EMaximumAnalysisMode mode) |
| Analysis mode. | |
| eVision::Easy3D::EMaximumAnalysisMode | GetAnalysisMode () const |
| Analysis mode. | |
| void | SetEnableSmoothing (bool enable) |
| Enables or disables grayscale profile smoothing before extraction. | |
| bool | GetEnableSmoothing () const |
| Enables or disables grayscale profile smoothing before extraction. | |
| void | SetSmoothingParameters (int param0, int param1, int param2) |
| Sets the parameters of the smoothing kernel. | |
| int | GetSmoothingParameter0 () const |
| Smoothing parameter 0. | |
| void | SetSmoothingParameter0 (int val) |
| Smoothing parameter 0. | |
| int | GetSmoothingParameter1 () const |
| Smoothing parameter 1. | |
| void | SetSmoothingParameter1 (int val) |
| Smoothing parameter 1. | |
| int | GetSmoothingParameter2 () const |
| Smoothing parameter 2. | |
| void | SetSmoothingParameter2 (int val) |
| Smoothing parameter 2. | |
| const eVision::Easy3D::EDepthMap16 & | GetDepthMap () const |
| Returns the current depth map. | |
| void | DrawLastProfile (eVision::EDrawAdapter *drawAdapter, float zoomX, float zoomY, float panX, float panY) const |
| Draws the last extracted profile. | |
| void | DrawLastProfile (eVision::EDrawAdapter *drawAdapter, float zoomX, float zoomY, float panX) const |
| Draws the last extracted profile. | |
| void | DrawLastProfile (eVision::EDrawAdapter *drawAdapter, float zoomX, float zoomY) const |
| Draws the last extracted profile. | |
| void | DrawLastProfile (eVision::EDrawAdapter *drawAdapter, float zoomX) const |
| Draws the last extracted profile. | |
| void | DrawLastProfile (eVision::EDrawAdapter *drawAdapter) const |
| Draws the last extracted profile. | |
| ELaserLineExtractor (CppWrapperInternal::InternalConstructor) | |
Static Public Member Functions | |
| static void | DrawProfile (eVision::EDrawAdapter *drawAdapter, int32_t frameWidth, int32_t frameHeight, const std::vector< float > &profile, float zoomX, float zoomY, float panX, float panY) |
| Draws a profile. | |
| static void | DrawProfile (eVision::EDrawAdapter *drawAdapter, int32_t frameWidth, int32_t frameHeight, const std::vector< float > &profile, float zoomX, float zoomY, float panX) |
| Draws a profile. | |
| static void | DrawProfile (eVision::EDrawAdapter *drawAdapter, int32_t frameWidth, int32_t frameHeight, const std::vector< float > &profile, float zoomX, float zoomY) |
| Draws a profile. | |
| static void | DrawProfile (eVision::EDrawAdapter *drawAdapter, int32_t frameWidth, int32_t frameHeight, const std::vector< float > &profile, float zoomX) |
| Draws a profile. | |
| static void | DrawProfile (eVision::EDrawAdapter *drawAdapter, int32_t frameWidth, int32_t frameHeight, const std::vector< float > &profile) |
| Draws a profile. | |
Public Attributes | |
| CppWrapperInternal::WrappedClass | wrappedClass_ |
Manages a laser line extraction context.
License(s): Easy3DLaserLine
| eVision::Easy3D::ELaserLineExtractor::ELaserLineExtractor | ( | int | frameWidth, |
| int | frameHeight, | ||
| int | numFramesPerMap, | ||
| float | zResolution ) |
Creates an ELaserLineExtractor object.
| frameWidth | Width of the frames from which the profiles will be extracted. |
| frameHeight | Height of the frames from which the profiles will be extracted. |
| numFramesPerMap | Number of frames (and thus profiles) to be used per depth map. Each extracted profile create a line in the depth map. |
| zResolution | Optional parameter for the Z resolution of the extracted profile. |
With a value of 0, the resolution will be automatically calculated to maximize the sub-pixel accuracy.
| eVision::Easy3D::ELaserLineExtractor::ELaserLineExtractor | ( | int | frameWidth, |
| int | frameHeight, | ||
| int | numFramesPerMap ) |
Creates an ELaserLineExtractor object.
| frameWidth | Width of the frames from which the profiles will be extracted. |
| frameHeight | Height of the frames from which the profiles will be extracted. |
| numFramesPerMap | Number of frames (and thus profiles) to be used per depth map. Each extracted profile create a line in the depth map. |
| eVision::Easy3D::ELaserLineExtractor::ELaserLineExtractor | ( | const eVision::Easy3D::ELaserLineExtractor & | other | ) |
Creates an ELaserLineExtractor object.
| other | The object that should be copied |
|
virtual | ||||||||||||
| eVision::Easy3D::ELaserLineExtractor::ELaserLineExtractor | ( | CppWrapperInternal::InternalConstructor | ) |
| void eVision::Easy3D::ELaserLineExtractor::DrawLastProfile | ( | eVision::EDrawAdapter * | drawAdapter | ) | const |
Draws the last extracted profile.
| drawAdapter | Draw adapter. |
| void eVision::Easy3D::ELaserLineExtractor::DrawLastProfile | ( | eVision::EDrawAdapter * | drawAdapter, |
| float | zoomX ) const |
Draws the last extracted profile.
| drawAdapter | Draw adapter. |
| zoomX | Horizontal zooming factor. |
| void eVision::Easy3D::ELaserLineExtractor::DrawLastProfile | ( | eVision::EDrawAdapter * | drawAdapter, |
| float | zoomX, | ||
| float | zoomY ) const |
Draws the last extracted profile.
| drawAdapter | Draw adapter. |
| zoomX | Horizontal zooming factor. |
| zoomY | Vertical zooming factor. If set to 0, the horizontal zooming factor will be used for isotropic zooming. |
| void eVision::Easy3D::ELaserLineExtractor::DrawLastProfile | ( | eVision::EDrawAdapter * | drawAdapter, |
| float | zoomX, | ||
| float | zoomY, | ||
| float | panX ) const |
Draws the last extracted profile.
| drawAdapter | Draw adapter. |
| zoomX | Horizontal zooming factor. |
| zoomY | Vertical zooming factor. If set to 0, the horizontal zooming factor will be used for isotropic zooming. |
| panX | Horizontal panning value expressed in pixels. By default, no panning occurs. |
| void eVision::Easy3D::ELaserLineExtractor::DrawLastProfile | ( | eVision::EDrawAdapter * | drawAdapter, |
| float | zoomX, | ||
| float | zoomY, | ||
| float | panX, | ||
| float | panY ) const |
Draws the last extracted profile.
| drawAdapter | Draw adapter. |
| zoomX | Horizontal zooming factor. |
| zoomY | Vertical zooming factor. If set to 0, the horizontal zooming factor will be used for isotropic zooming. |
| panX | Horizontal panning value expressed in pixels. By default, no panning occurs. |
| panY | Vertical panning value expressed in pixels. By default, no panning occurs. |
|
static |
Draws a profile.
| drawAdapter | Draw adapter. |
| frameWidth | Width of the frame used to extract the profile |
| frameHeight | Height of the frame used to extract the profile |
| profile | Extracted profile |
|
static |
Draws a profile.
| drawAdapter | Draw adapter. |
| frameWidth | Width of the frame used to extract the profile |
| frameHeight | Height of the frame used to extract the profile |
| profile | Extracted profile |
| zoomX | Horizontal zooming factor. |
|
static |
Draws a profile.
| drawAdapter | Draw adapter. |
| frameWidth | Width of the frame used to extract the profile |
| frameHeight | Height of the frame used to extract the profile |
| profile | Extracted profile |
| zoomX | Horizontal zooming factor. |
| zoomY | Vertical zooming factor. If set to 0, the horizontal zooming factor will be used for isotropic zooming. |
|
static |
Draws a profile.
| drawAdapter | Draw adapter. |
| frameWidth | Width of the frame used to extract the profile |
| frameHeight | Height of the frame used to extract the profile |
| profile | Extracted profile |
| zoomX | Horizontal zooming factor. |
| zoomY | Vertical zooming factor. If set to 0, the horizontal zooming factor will be used for isotropic zooming. |
| panX | Horizontal panning value expressed in pixels. By default, no panning occurs. |
|
static |
Draws a profile.
| drawAdapter | Draw adapter. |
| frameWidth | Width of the frame used to extract the profile |
| frameHeight | Height of the frame used to extract the profile |
| profile | Extracted profile |
| zoomX | Horizontal zooming factor. |
| zoomY | Vertical zooming factor. If set to 0, the horizontal zooming factor will be used for isotropic zooming. |
| panX | Horizontal panning value expressed in pixels. By default, no panning occurs. |
| panY | Vertical panning value expressed in pixels. By default, no panning occurs. |
| bool eVision::Easy3D::ELaserLineExtractor::ExtractProfileFromFrame | ( | const eVision::EROIBW8 & | frame | ) |
Extracts a profile from a frame and adds it to the current depth map.
Returns true if the depth map is complete and ready for further processing.
| frame | Frame from which the profile will be extracted. |
| eVision::Easy3D::EMaximumAnalysisMode eVision::Easy3D::ELaserLineExtractor::GetAnalysisMode | ( | ) | const |
Analysis mode.
| int eVision::Easy3D::ELaserLineExtractor::GetAnalysisThreshold | ( | ) | const |
Analysis threshold. Set this value to eliminate noise.
In the center of gravity (COG) analysis mode, this threshold is used to discriminate peaks and should be set accordingly.
| const eVision::Easy3D::EDepthMap16 & eVision::Easy3D::ELaserLineExtractor::GetDepthMap | ( | ) | const |
Returns the current depth map.
Should be called only when the previous call to ExtractProfileFromFrame() returned true. Otherwise, the depth map returned will be incomplete.
| bool eVision::Easy3D::ELaserLineExtractor::GetEnableSmoothing | ( | ) | const |
Enables or disables grayscale profile smoothing before extraction.
| int32_t eVision::Easy3D::ELaserLineExtractor::GetFrameHeight | ( | ) | const |
Height of the frames from which the profiles are extracted.
| int32_t eVision::Easy3D::ELaserLineExtractor::GetFrameWidth | ( | ) | const |
Width of the frames from which the profiles are extracted.
| int32_t eVision::Easy3D::ELaserLineExtractor::GetNumExtractedProfile | ( | ) | const |
Number of extracted profiles.
| int32_t eVision::Easy3D::ELaserLineExtractor::GetNumFramesPerMap | ( | ) | const |
Number of frames from which the profiles are be extracted.
| std::vector< float > eVision::Easy3D::ELaserLineExtractor::GetProfile | ( | ) | const |
Returns the last extracted profile.
If a point could not be extracted, its value will be set to FLOAT_MAX.
| int eVision::Easy3D::ELaserLineExtractor::GetSmoothingParameter0 | ( | ) | const |
Smoothing parameter 0.
| int eVision::Easy3D::ELaserLineExtractor::GetSmoothingParameter1 | ( | ) | const |
Smoothing parameter 1.
| int eVision::Easy3D::ELaserLineExtractor::GetSmoothingParameter2 | ( | ) | const |
Smoothing parameter 2.
| float eVision::Easy3D::ELaserLineExtractor::GetZResolution | ( | ) | const |
Z resolution of the extracted profile.
With a value of 0, the resolution will be automatically calculated to maximize the sub-pixel accuracy.
| void eVision::Easy3D::ELaserLineExtractor::Load | ( | const std::string & | file | ) |
Load the ELaserLineExtractor configuration. The settings are loaded and the profiles are discarded.
| file | File path. |
| void eVision::Easy3D::ELaserLineExtractor::Load | ( | eVision::ESerializer * | serializer | ) |
Load the ELaserLineExtractor configuration. The settings are loaded and the profiles are discarded.
| serializer | Serializer. Must be in read mode. |
| eVision::Easy3D::ELaserLineExtractor & eVision::Easy3D::ELaserLineExtractor::operator= | ( | const eVision::Easy3D::ELaserLineExtractor & | other | ) |
Assignment operator.
| other | The object that should be copied |
| void eVision::Easy3D::ELaserLineExtractor::Save | ( | const std::string & | file | ) |
Save the ELaserLineExtractor configuration. The settings are saved but the profiles aren't.
| file | File path. |
| void eVision::Easy3D::ELaserLineExtractor::Save | ( | eVision::ESerializer * | serializer | ) |
Save the ELaserLineExtractor configuration. The settings are saved but the profiles aren't.
| serializer | Serializer. Must be in write mode. |
| void eVision::Easy3D::ELaserLineExtractor::SetAnalysisMode | ( | eVision::Easy3D::EMaximumAnalysisMode | mode | ) |
Analysis mode.
| void eVision::Easy3D::ELaserLineExtractor::SetAnalysisThreshold | ( | int | threshold | ) |
Analysis threshold. Set this value to eliminate noise.
In the center of gravity (COG) analysis mode, this threshold is used to discriminate peaks and should be set accordingly.
| void eVision::Easy3D::ELaserLineExtractor::SetEnableSmoothing | ( | bool | enable | ) |
Enables or disables grayscale profile smoothing before extraction.
| void eVision::Easy3D::ELaserLineExtractor::SetSmoothingParameter0 | ( | int | val | ) |
Smoothing parameter 0.
| val | First kernel parameter. |
| void eVision::Easy3D::ELaserLineExtractor::SetSmoothingParameter1 | ( | int | val | ) |
Smoothing parameter 1.
| val | Second kernel parameter. |
| void eVision::Easy3D::ELaserLineExtractor::SetSmoothingParameter2 | ( | int | val | ) |
Smoothing parameter 2.
| val | Third kernel parameter. |
| void eVision::Easy3D::ELaserLineExtractor::SetSmoothingParameters | ( | int | param0, |
| int | param1, | ||
| int | param2 ) |
Sets the parameters of the smoothing kernel.
| param0 | First kernel parameter. |
| param1 | Second kernel parameter. |
| param2 | Third kernel parameter. |
If enabled, the smoothing will be performed using the following formula: f[i] = (f[i-1] * param0) + (f[i] * param1) + (f[i+1] * param2).
| CppWrapperInternal::WrappedClass eVision::Easy3D::ELaserLineExtractor::wrappedClass_ |