mirror of
https://github.com/introlab/rtabmap.git
synced 2026-09-02 17:40:23 +08:00
CameraImages: timestamp file is optional for pose format containing stamp
This commit is contained in:
@@ -475,7 +475,7 @@ bool CameraImages::readPoses(
|
|||||||
(int)poses.size(), this->imagesCount(), filePath.c_str());
|
(int)poses.size(), this->imagesCount(), filePath.c_str());
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
else if((format == 1 || format == 10 || format == 5 || format == 6 || format == 7 || format == 9) && inOutStamps.size() == 0)
|
else if((format == 1 || format == 10 || format == 5 || format == 6 || format == 7 || format == 9) && (inOutStamps.empty() && stamps.size()!=poses.size()))
|
||||||
{
|
{
|
||||||
UERROR("When using RGBD-SLAM, GPS, MALAGA, ST LUCIA and EuRoC MAV formats, images must have timestamps!");
|
UERROR("When using RGBD-SLAM, GPS, MALAGA, ST LUCIA and EuRoC MAV formats, images must have timestamps!");
|
||||||
return false;
|
return false;
|
||||||
@@ -492,6 +492,11 @@ bool CameraImages::readPoses(
|
|||||||
}
|
}
|
||||||
std::vector<double> values = uValues(stamps);
|
std::vector<double> values = uValues(stamps);
|
||||||
|
|
||||||
|
if(inOutStamps.empty())
|
||||||
|
{
|
||||||
|
inOutStamps = uValuesList(stamps);
|
||||||
|
}
|
||||||
|
|
||||||
int validPoses = 0;
|
int validPoses = 0;
|
||||||
for(std::list<double>::iterator ster=inOutStamps.begin(); ster!=inOutStamps.end(); ++ster)
|
for(std::list<double>::iterator ster=inOutStamps.begin(); ster!=inOutStamps.end(); ++ster)
|
||||||
{
|
{
|
||||||
@@ -503,6 +508,7 @@ bool CameraImages::readPoses(
|
|||||||
if(endIter->first == *ster)
|
if(endIter->first == *ster)
|
||||||
{
|
{
|
||||||
pose = poses.at(endIter->second);
|
pose = poses.at(endIter->second);
|
||||||
|
++validPoses;
|
||||||
}
|
}
|
||||||
else if(endIter != stampsToIds.begin())
|
else if(endIter != stampsToIds.begin())
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user