mirror of
https://github.com/introlab/rtabmap.git
synced 2026-09-02 17:40:23 +08:00
Adding support for compressed input data and right color image. (#1463)
This commit is contained in:
@@ -205,17 +205,21 @@ Transform OdometryMono::computeTransform(SensorData & data, const Transform & gu
|
||||
int nFeatures = 0;
|
||||
|
||||
// convert to grayscale
|
||||
if(data.imageRaw().channels() > 1)
|
||||
if(data.imageRaw().channels() > 1 || data.rightRaw().channels() > 1)
|
||||
{
|
||||
cv::Mat newFrame;
|
||||
cv::cvtColor(data.imageRaw(), newFrame, cv::COLOR_BGR2GRAY);
|
||||
cv::Mat newFrame = data.imageRaw();
|
||||
cv::Mat newFrameRight = data.rightRaw();
|
||||
if(data.imageRaw().channels() > 1)
|
||||
cv::cvtColor(data.imageRaw(), newFrame, cv::COLOR_BGR2GRAY);
|
||||
if(data.rightRaw().channels() > 1)
|
||||
cv::cvtColor(data.rightRaw(), newFrameRight, cv::COLOR_BGR2GRAY);
|
||||
if(!data.stereoCameraModels().empty())
|
||||
{
|
||||
data.setStereoImage(newFrame, data.rightRaw(), data.stereoCameraModels());
|
||||
data.setStereoImage(newFrame, newFrameRight, data.stereoCameraModels());
|
||||
}
|
||||
else
|
||||
{
|
||||
data.setRGBDImage(newFrame, data.depthRaw(), data.cameraModels());
|
||||
data.setRGBDImage(newFrame, newFrameRight, data.cameraModels());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -448,11 +448,16 @@ Transform OdometryORBSLAM3::computeTransform(
|
||||
{
|
||||
localTransform = data.stereoCameraModels()[0].localTransform();
|
||||
cv::Mat leftMono = data.imageRaw();
|
||||
if(data.imageRaw().channels() == 3) {
|
||||
if(data.imageRaw().channels() == 3) {
|
||||
leftMono = cv::Mat();
|
||||
cv::cvtColor(data.imageRaw(), leftMono, CV_BGR2GRAY);
|
||||
}
|
||||
Tcw = orbslam_->TrackStereo(leftMono, data.rightRaw(), data.stamp(), orbslamImus_);
|
||||
cv::Mat rightMono = data.rightRaw();
|
||||
if(data.rightRaw().channels() == 3) {
|
||||
rightMono = cv::Mat();
|
||||
cv::cvtColor(data.imageRaw(), rightMono, CV_BGR2GRAY);
|
||||
}
|
||||
Tcw = orbslam_->TrackStereo(leftMono, rightMono, data.stamp(), orbslamImus_);
|
||||
orbslamImus_.clear();
|
||||
}
|
||||
else
|
||||
|
||||
Reference in New Issue
Block a user