mirror of
https://github.com/introlab/rtabmap.git
synced 2026-09-03 01:50:24 +08:00
Added stereo multi-camera support (#884)
* Integrated OpenGV * Fixed build without opengv * Cmake: moved OpenGV dependency status under solvers group * Added multi-stereocamera models support * Fixed OpenGV 0 sample error when one of the camera doesn't have features. Fixed g2o BA id offset with multi-camera. * Fixed multicam 3d points generated from stereo correspondences * db: Fixed multi stereo models not loaded correctly * gui: fixed stereo rectification option, RegVis: fixed projection error with old databases (image size not set in calibration) * OdomF2M: Fixed map.at error when bundle adjustment is not used * depthai: added imu firmware update option for convenience * Fixed various refactor errors * Moved "large number stereo correspondences rejected" warning outside computeCorrespondences function for multicam * Added error log if ba correspondences are computed with empty signatures * fixed compilation errors with latest opencv Co-authored-by: mathieu86 <mathieu@robust.ai>
This commit is contained in:
@@ -3008,6 +3008,21 @@ void CloudViewer::updateCameraFrustums(const Transform & pose, const std::vector
|
||||
}
|
||||
}
|
||||
}
|
||||
void CloudViewer::updateCameraFrustums(const Transform & pose, const std::vector<StereoCameraModel> & stereoModels)
|
||||
{
|
||||
std::vector<CameraModel> models;
|
||||
for(size_t i=0; i<stereoModels.size(); ++i)
|
||||
{
|
||||
models.push_back(stereoModels[i].left());
|
||||
CameraModel right = stereoModels[i].right();
|
||||
if(!stereoModels[i].left().localTransform().isNull())
|
||||
{
|
||||
right.setLocalTransform(stereoModels[i].left().localTransform() * Transform(stereoModels[i].baseline(), 0, 0, 0, 0, 0));
|
||||
}
|
||||
models.push_back(right);
|
||||
updateCameraFrustums(pose, models);
|
||||
}
|
||||
}
|
||||
|
||||
const QColor & CloudViewer::getDefaultBackgroundColor() const
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user