Memory: undistortion of features can be done also for RGB-only case

This commit is contained in:
matlabbe
2018-09-27 10:19:28 -04:00
parent 5e08da51aa
commit 790b0e5cf7

View File

@@ -3866,8 +3866,7 @@ Signature * Memory::createSignature(const SensorData & inputData, const Transfor
{ {
descriptors = cv::Mat(); descriptors = cv::Mat();
} }
else if((!decimatedData.depthRaw().empty() && decimatedData.cameraModels().size() && decimatedData.cameraModels()[0].isValidForProjection()) || else
(!decimatedData.rightRaw().empty() && decimatedData.stereoCameraModel().isValidForProjection()))
{ {
if(!imagesRectified && decimatedData.cameraModels().size()) if(!imagesRectified && decimatedData.cameraModels().size())
{ {
@@ -3986,10 +3985,15 @@ Signature * Memory::createSignature(const SensorData & inputData, const Transfor
if(stats) stats->addStatistic(Statistics::kTimingMemRectification(), t*1000.0f); if(stats) stats->addStatistic(Statistics::kTimingMemRectification(), t*1000.0f);
UDEBUG("time rectification = %fs", t); UDEBUG("time rectification = %fs", t);
} }
keypoints3D = _feature2D->generateKeypoints3D(decimatedData, keypoints);
t = timer.ticks(); if((!decimatedData.depthRaw().empty() && decimatedData.cameraModels().size() && decimatedData.cameraModels()[0].isValidForProjection()) ||
if(stats) stats->addStatistic(Statistics::kTimingMemKeypoints_3D(), t*1000.0f); (!decimatedData.rightRaw().empty() && decimatedData.stereoCameraModel().isValidForProjection()))
UDEBUG("time keypoints 3D (%d) = %fs", (int)keypoints3D.size(), t); {
keypoints3D = _feature2D->generateKeypoints3D(decimatedData, keypoints);
t = timer.ticks();
if(stats) stats->addStatistic(Statistics::kTimingMemKeypoints_3D(), t*1000.0f);
UDEBUG("time keypoints 3D (%d) = %fs", (int)keypoints3D.size(), t);
}
} }
} }
else if(data.imageRaw().empty()) else if(data.imageRaw().empty())