mirror of
https://github.com/introlab/rtabmap.git
synced 2026-10-04 17:17:47 +08:00
0.17.0: saving optimized poses and last localization pose to database (https://github.com/introlab/rtabmap_ros/issues/220). Parameters: fixed Icp default parameters when not built with libpointmatcher, added RGBD/SavedLocalizationIgnored (default false). DbViewer: added Export/Import 2D map (https://github.com/introlab/rtabmap_ros/issues/213).
This commit is contained in:
@@ -1061,9 +1061,37 @@ cv::Mat DBDriver::loadPreviewImage() const
|
||||
return image;
|
||||
}
|
||||
|
||||
void DBDriver::saveOptimizedPoses(const std::map<int, Transform> & optimizedPoses, const Transform & lastlocalizationPose) const
|
||||
{
|
||||
_dbSafeAccessMutex.lock();
|
||||
saveOptimizedPosesQuery(optimizedPoses, lastlocalizationPose);
|
||||
_dbSafeAccessMutex.unlock();
|
||||
}
|
||||
std::map<int, Transform> DBDriver::loadOptimizedPoses(Transform * lastlocalizationPose) const
|
||||
{
|
||||
_dbSafeAccessMutex.lock();
|
||||
std::map<int, Transform> poses = loadOptimizedPosesQuery(lastlocalizationPose);
|
||||
_dbSafeAccessMutex.unlock();
|
||||
return poses;
|
||||
}
|
||||
|
||||
void DBDriver::save2DMap(const cv::Mat & map, float xMin, float yMin, float cellSize) const
|
||||
{
|
||||
_dbSafeAccessMutex.lock();
|
||||
save2DMapQuery(map, xMin, yMin, cellSize);
|
||||
_dbSafeAccessMutex.unlock();
|
||||
}
|
||||
|
||||
cv::Mat DBDriver::load2DMap(float & xMin, float & yMin, float & cellSize) const
|
||||
{
|
||||
_dbSafeAccessMutex.lock();
|
||||
cv::Mat map = load2DMapQuery(xMin, yMin, cellSize);
|
||||
_dbSafeAccessMutex.unlock();
|
||||
return map;
|
||||
}
|
||||
|
||||
void DBDriver::saveOptimizedMesh(
|
||||
const cv::Mat & cloud,
|
||||
const std::map<int, Transform> & poses,
|
||||
const std::vector<std::vector<std::vector<unsigned int> > > & polygons,
|
||||
#if PCL_VERSION_COMPARE(>=, 1, 8, 0)
|
||||
const std::vector<std::vector<Eigen::Vector2f, Eigen::aligned_allocator<Eigen::Vector2f> > > & texCoords,
|
||||
@@ -1073,12 +1101,11 @@ void DBDriver::saveOptimizedMesh(
|
||||
const cv::Mat & textures) const
|
||||
{
|
||||
_dbSafeAccessMutex.lock();
|
||||
saveOptimizedMeshQuery(cloud, poses, polygons, texCoords, textures);
|
||||
saveOptimizedMeshQuery(cloud, polygons, texCoords, textures);
|
||||
_dbSafeAccessMutex.unlock();
|
||||
}
|
||||
|
||||
cv::Mat DBDriver::loadOptimizedMesh(
|
||||
std::map<int, Transform> * poses,
|
||||
std::vector<std::vector<std::vector<unsigned int> > > * polygons,
|
||||
#if PCL_VERSION_COMPARE(>=, 1, 8, 0)
|
||||
std::vector<std::vector<Eigen::Vector2f, Eigen::aligned_allocator<Eigen::Vector2f> > > * texCoords,
|
||||
@@ -1088,7 +1115,7 @@ cv::Mat DBDriver::loadOptimizedMesh(
|
||||
cv::Mat * textures) const
|
||||
{
|
||||
_dbSafeAccessMutex.lock();
|
||||
cv::Mat cloud = loadOptimizedMeshQuery(poses, polygons, texCoords, textures);
|
||||
cv::Mat cloud = loadOptimizedMeshQuery(polygons, texCoords, textures);
|
||||
_dbSafeAccessMutex.unlock();
|
||||
return cloud;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user