mirror of
https://github.com/introlab/rtabmap.git
synced 2026-09-12 14:30:19 +08:00
Further improvements to DepthAI integration (#1458)
* Reorganize DepthAI params * Advanced Tuning of DepthAI’s SGBM Pipeline * Update IMU Local Transform for OAK-D LR, OAK-D SR, and PoE Devices * Reorganiz the usage of DepthAI. Get params before creating the pipeline, and automatically determine the resolution of different models. * Identify the IMU type to specifically handle BMI270 and BNO085/086
This commit is contained in:
@@ -50,21 +50,20 @@ public:
|
||||
public:
|
||||
CameraDepthAI(
|
||||
const std::string & mxidOrName = "",
|
||||
int resolution = 1, // 0=720p, 1=800p, 2=400p
|
||||
float imageRate=0.0f,
|
||||
int imageWidth = 1280, // 640 or 1280
|
||||
float imageRate = 0.0f,
|
||||
const Transform & localTransform = Transform::getIdentity());
|
||||
virtual ~CameraDepthAI();
|
||||
|
||||
void setOutputMode(int outputMode = 0);
|
||||
void setDepthProfile(int confThreshold = 200, int lrcThreshold = 5);
|
||||
void setExtendedDisparity(bool extendedDisparity);
|
||||
void setSubpixelMode(bool enabled, int fractionalBits = 3);
|
||||
void setCompanding(bool enabled, int width=96);
|
||||
void setRectification(bool useSpecTranslation, float alphaScaling = 0.0f, bool enabled=true);
|
||||
void setExtendedDisparity(bool extendedDisparity = false, bool enableCompanding = false);
|
||||
void setSubpixelMode(bool enabled = false, int fractionalBits = 3);
|
||||
void setDisparityWidthAndFilter(int disparityWidth = 96, int medianFilter = 5);
|
||||
void setRectification(bool useSpecTranslation = false, float alphaScaling = 0.0f, bool enabled = true);
|
||||
void setIMU(bool imuPublished, bool publishInterIMU);
|
||||
void setIrIntensity(float dotIntensity = 0.0f, float floodIntensity = 0.0f);
|
||||
void setDetectFeatures(int detectFeatures = 0);
|
||||
void setBlobPath(const std::string & blobPath);
|
||||
void setDetectFeatures(int detectFeatures = 0, const std::string & blobPath = "");
|
||||
void setGFTTDetector(bool useHarrisDetector = false, float minDistance = 7.0f, int numTargetFeatures = 1000);
|
||||
void setSuperPointDetector(float threshold = 0.01f, bool nms = true, int nmsRadius = 4);
|
||||
|
||||
@@ -84,10 +83,12 @@ private:
|
||||
int outputMode_;
|
||||
int confThreshold_;
|
||||
int lrcThreshold_;
|
||||
int resolution_;
|
||||
int imageWidth_;
|
||||
bool extendedDisparity_;
|
||||
bool enableCompanding_;
|
||||
int subpixelFractionalBits_;
|
||||
int compandingWidth_;
|
||||
int disparityWidth_;
|
||||
int medianFilter_;
|
||||
bool useSpecTranslation_;
|
||||
float alphaScaling_;
|
||||
bool imagesRectified_;
|
||||
@@ -103,7 +104,7 @@ private:
|
||||
bool nms_;
|
||||
int nmsRadius_;
|
||||
std::string blobPath_;
|
||||
std::shared_ptr<dai::Device> device_;
|
||||
std::unique_ptr<dai::Device> device_;
|
||||
std::shared_ptr<dai::DataOutputQueue> cameraQueue_;
|
||||
std::map<double, cv::Vec3f> accBuffer_;
|
||||
std::map<double, cv::Vec3f> gyroBuffer_;
|
||||
|
||||
Reference in New Issue
Block a user