SaDVIO
|
Abstract class for image sensors. More...
#include <ASensor.h>
Public Member Functions | |
ImageSensor () | |
~ImageSensor () | |
bool | hasDepth () |
virtual Eigen::Vector3d | getRayCamera (Eigen::Vector2d f)=0 |
Get the ray in camera coordinates. More... | |
virtual Eigen::Vector3d | getRay (Eigen::Vector2d f)=0 |
Get the ray in world coordinates. More... | |
virtual double | getFocal ()=0 |
Compute the focal length of the camera. More... | |
cv::Mat | getRawData () |
void | setPyr (const std::vector< cv::Mat > &img_pyr) |
const std::vector< cv::Mat > | getPyr () |
void | applyCLAHE (float clahe_clip) |
Apply CLAHE (Contrast Limited Adaptive Histogram Equalization) to the image. More... | |
void | histogramEqualization () |
Apply histogram equalization to the image. More... | |
void | imageNormalization () |
Apply Image normalization to the image. More... | |
void | applyAGCWD (float alpha) |
Apply adaptive gamme correction. More... | |
void | setMask (cv::Mat mask) |
cv::Mat | getMask () |
Eigen::Matrix3d | getCalibration () |
void | addFeature (std::string feature_label, std::shared_ptr< AFeature > f) |
Add a single feature and compute its bearing vector. More... | |
void | addFeatures (std::string feature_label, std::vector< std::shared_ptr< AFeature >> features) |
Add a vector of features and compute their bearing vectors. More... | |
void | removeFeature (std::shared_ptr< AFeature > f) |
typed_vec_features & | getFeatures () |
void | purgeFeatures (std::string feature_label) |
Clear all features of a specific type. More... | |
std::vector< std::shared_ptr< AFeature > > & | getFeatures (std::string feature_label) |
Get features of a specific type. More... | |
virtual bool | project (const Eigen::Affine3d &T_w_lmk, const std::shared_ptr< AModel3d > ldmk_model, std::vector< Eigen::Vector2d > &p2d_vector)=0 |
Virtual function to project a landmark in the image plane. More... | |
virtual bool | project (const Eigen::Affine3d &T_w_lmk, const std::shared_ptr< AModel3d > ldmk_model, const Eigen::Affine3d &T_f_w, std::vector< Eigen::Vector2d > &p2d_vector)=0 |
Virtual function to project a landmark in the image plane with the pose of the frame. More... | |
virtual bool | project (const Eigen::Affine3d &T_w_lmk, const Eigen::Affine3d &T_f_w, const Eigen::Matrix2d sqrt_info, Eigen::Vector2d &p2d, double *J_proj_frame, double *J_proj_lmk)=0 |
Virtual function to project a landmark and compute the Jacobian of the projection. More... | |
![]() | |
ASensor (std::string type) | |
~ASensor () | |
std::string | getType () |
void | setFrame (std::shared_ptr< Frame > frame) |
std::shared_ptr< Frame > | getFrame () |
void | setFrame2SensorTransform (Eigen::Affine3d T_s_f) |
Eigen::Affine3d | getFrame2SensorTransform () |
Eigen::Affine3d | getWorld2SensorTransform () |
Eigen::Affine3d | getSensor2WorldTransform () |
Protected Attributes | |
Eigen::Matrix3d | _calibration |
intrinsic matrix of the camera (sensor ?) More... | |
cv::Mat | _raw_data |
Raw image data. More... | |
std::vector< cv::Mat > | _img_pyr |
Image pyramid for multi-scale processing. More... | |
cv::Mat | _mask |
Mask to ignore. More... | |
typed_vec_features | _features |
Typed vector of features. More... | |
bool | _has_depth |
Is it a RGBD ? More... | |
std::mutex | _cam_mtx |
![]() | |
std::weak_ptr< Frame > | _frame |
Eigen::Affine3d | _T_s_f |
std::string | _type |
std::mutex | _sensor_mtx |
Abstract class for image sensors.
This class inherits from ASensor and provides additional functionalities specific to image sensors. It includes methods for handling depth data, image pyramids, feature extraction, and projection. It has also all the methods to apply image processing techniques such as CLAHE, histogram equalization etc...
|
inline |
|
inline |
void isae::ImageSensor::addFeature | ( | std::string | feature_label, |
std::shared_ptr< AFeature > | f | ||
) |
Add a single feature and compute its bearing vector.
void isae::ImageSensor::addFeatures | ( | std::string | feature_label, |
std::vector< std::shared_ptr< AFeature >> | features | ||
) |
Add a vector of features and compute their bearing vectors.
void isae::ImageSensor::applyAGCWD | ( | float | alpha | ) |
Apply adaptive gamme correction.
void isae::ImageSensor::applyCLAHE | ( | float | clahe_clip | ) |
Apply CLAHE (Contrast Limited Adaptive Histogram Equalization) to the image.
|
inline |
|
inline |
std::vector< std::shared_ptr< AFeature > > & isae::ImageSensor::getFeatures | ( | std::string | feature_label | ) |
Get features of a specific type.
|
pure virtual |
Compute the focal length of the camera.
Virtual function because it depends on the camera model.
Implemented in isae::Omni, isae::Camera, isae::DoubleSphere, and isae::Fisheye.
|
inline |
|
inline |
|
inline |
|
pure virtual |
Get the ray in world coordinates.
Implemented in isae::Omni, isae::Camera, isae::DoubleSphere, and isae::Fisheye.
|
pure virtual |
Get the ray in camera coordinates.
Implemented in isae::Omni, isae::Camera, isae::DoubleSphere, and isae::Fisheye.
|
inline |
void isae::ImageSensor::histogramEqualization | ( | ) |
Apply histogram equalization to the image.
void isae::ImageSensor::imageNormalization | ( | ) |
Apply Image normalization to the image.
|
pure virtual |
Virtual function to project a landmark and compute the Jacobian of the projection.
Implemented in isae::Omni, isae::Camera, isae::DoubleSphere, and isae::Fisheye.
|
pure virtual |
Virtual function to project a landmark in the image plane with the pose of the frame.
Implemented in isae::Omni, isae::Camera, isae::DoubleSphere, and isae::Fisheye.
|
pure virtual |
Virtual function to project a landmark in the image plane.
Implemented in isae::Omni, isae::Camera, isae::DoubleSphere, and isae::Fisheye.
|
inline |
Clear all features of a specific type.
void isae::ImageSensor::removeFeature | ( | std::shared_ptr< AFeature > | f | ) |
|
inline |
|
inline |
|
protected |
intrinsic matrix of the camera (sensor ?)
|
protected |
|
protected |
Typed vector of features.
|
protected |
Is it a RGBD ?
|
protected |
Image pyramid for multi-scale processing.
|
protected |
Mask to ignore.
|
protected |
Raw image data.