mirror of
https://github.com/opencv/opencv_contrib.git
synced 2025-10-19 19:44:14 +08:00
Merge pull request #2566 from akashsharma02:master
[GSoC] Add new Hashtable based TSDF volume to RGBD module * - Add HashTSDF class - Implement Integrate function (untested) * Integration seems to be working, raycasting does not * Update integration code * Integration and Raycasting fixes, (both work now) * - Format code - Clean up comments and few fixes * Add Kinect Fusion backup file * - Add interpolation for vertices and normals (slow and unreliable!) - Format code - Delete kinfu_back.cpp * Bug fix for integration and noisy odometry * - Create volume abstract class - Address Review comments * - Add getPoints and getNormals function - Fix formatting according to comments - Move volume abstract class to include/opencv2/rgbd/ - Write factory method for creating TSDFVolumes - Small bug fixes - Minor fixes according to comments * - Add tests for hashTSDF - Fix raycasting bug causing to loop forever - Suppress warnings by explicit conversion - Disable hashTsdf test until we figure out memory leak - style changes - Add missing license in a few files, correct precomp.hpp usage
This commit is contained in:
@@ -312,6 +312,7 @@ static const char* keys =
|
||||
"{camera |0| Index of depth camera to be used as a depth source }"
|
||||
"{coarse | | Run on coarse settings (fast but ugly) or on default (slow but looks better),"
|
||||
" in coarse mode points and normals are displayed }"
|
||||
"{useHashTSDF | | Use the newer hashtable based TSDFVolume (relatively fast) and for larger reconstructions}"
|
||||
"{idle | | Do not run KinFu, just display depth frames }"
|
||||
"{record | | Write depth frames to specified file list"
|
||||
" (the same format as for the 'depth' key) }"
|
||||
@@ -327,6 +328,7 @@ int main(int argc, char **argv)
|
||||
{
|
||||
bool coarse = false;
|
||||
bool idle = false;
|
||||
bool useHashTSDF = false;
|
||||
string recordPath;
|
||||
|
||||
CommandLineParser parser(argc, argv, keys);
|
||||
@@ -352,6 +354,10 @@ int main(int argc, char **argv)
|
||||
{
|
||||
recordPath = parser.get<String>("record");
|
||||
}
|
||||
if(parser.has("useHashTSDF"))
|
||||
{
|
||||
useHashTSDF = true;
|
||||
}
|
||||
if(parser.has("idle"))
|
||||
{
|
||||
idle = true;
|
||||
@@ -382,6 +388,9 @@ int main(int argc, char **argv)
|
||||
else
|
||||
params = Params::defaultParams();
|
||||
|
||||
if(useHashTSDF)
|
||||
params = Params::hashTSDFParams(coarse);
|
||||
|
||||
// These params can be different for each depth sensor
|
||||
ds->updateParams(*params);
|
||||
|
||||
|
Reference in New Issue
Block a user