Version 0.8.9: added FlyCapture2 driver for bumblebee2 (tested only on Windows)

This commit is contained in:
Mathieu Labbé
2015-04-07 12:00:10 -04:00
parent 71be7921aa
commit 3ed6a1b2f0
18 changed files with 544 additions and 65 deletions

View File

@@ -46,6 +46,7 @@ void showUsage()
" 4=OpenNI-CV-ASUS (Xtion PRO Live)\n"
" 5=Freenect2 (Kinect v2)\n"
" 6=DC1394 (Bumblebee2)\n"
" 7=FlyCapture2 (Bumblebee2)\n"
" --device # Device id\n"
" --debug Debug log\n"
" --stereo Stereo\n\n");
@@ -56,6 +57,8 @@ int main(int argc, char * argv[])
{
ULogger::setType(ULogger::kTypeConsole);
ULogger::setLevel(ULogger::kInfo);
ULogger::setPrintTime(false);
ULogger::setPrintWhere(false);
int driver = -1;
int device = 0;
@@ -99,6 +102,8 @@ int main(int argc, char * argv[])
if(strcmp(argv[i], "--debug") == 0)
{
ULogger::setLevel(ULogger::kDebug);
ULogger::setPrintTime(true);
ULogger::setPrintWhere(true);
continue;
}
if(strcmp(argv[i], "--stereo") == 0)
@@ -113,9 +118,9 @@ int main(int argc, char * argv[])
printf("Unrecognized option : %s\n", argv[i]);
showUsage();
}
if(driver < -1 || driver > 6)
if(driver < -1 || driver > 7)
{
UERROR("driver should be between -1 and 6.");
UERROR("driver should be between -1 and 7.");
showUsage();
}
@@ -187,6 +192,15 @@ int main(int argc, char * argv[])
}
camera = new rtabmap::CameraStereoDC1394();
}
else if(driver == 7)
{
if(!rtabmap::CameraStereoFlyCapture2::available())
{
UERROR("Not built with FlyCapture2/Triclops support...");
exit(-1);
}
camera = new rtabmap::CameraStereoFlyCapture2();
}
else
{
UFATAL("");
@@ -206,7 +220,7 @@ int main(int argc, char * argv[])
}
else if(camera)
{
if(!camera->init())
if(!camera->init(""))
{
printf("Camera init failed!\n");
delete camera;

View File

@@ -43,7 +43,8 @@ void showUsage()
" 3=OpenNI-CV (Kinect)\n"
" 4=OpenNI-CV-ASUS (Xtion PRO Live)\n"
" 5=Freenect2 (Kinect v2)\n"
" 6=DC1394 (Bumblebee2)\n\n");
" 6=DC1394 (Bumblebee2)\n"
" 7=FlyCapture2 (Bumblebee2)\n");
exit(1);
}
@@ -51,6 +52,8 @@ int main(int argc, char * argv[])
{
ULogger::setType(ULogger::kTypeConsole);
ULogger::setLevel(ULogger::kInfo);
ULogger::setPrintTime(false);
ULogger::setPrintWhere(false);
int driver = 0;
if(argc < 2)
@@ -64,7 +67,7 @@ int main(int argc, char * argv[])
showUsage();
}
driver = atoi(argv[argc-1]);
if(driver < 0 || driver > 6)
if(driver < 0 || driver > 7)
{
UERROR("driver should be between 0 and 6.");
showUsage();
@@ -131,6 +134,15 @@ int main(int argc, char * argv[])
}
camera = new rtabmap::CameraStereoDC1394();
}
else if(driver == 7)
{
if(!rtabmap::CameraStereoFlyCapture2::available())
{
UERROR("Not built with FlyCapture2/Triclops support...");
exit(-1);
}
camera = new rtabmap::CameraStereoFlyCapture2();
}
else
{
UFATAL("");

View File

@@ -44,7 +44,7 @@ void showUsage()
printf("\nUsage:\n"
"odometryViewer [options]\n"
"Options:\n"
" -driver # Driver number to use: 0=OpenNI-PCL, 1=OpenNI2, 2=Freenect, 3=OpenNI-CV, 4=OpenNI-CV-ASUS, 5=Freenect2, 6=dc1394\n"
" -driver # Driver number to use: 0=OpenNI-PCL, 1=OpenNI2, 2=Freenect, 3=OpenNI-CV, 4=OpenNI-CV-ASUS, 5=Freenect2, 6=dc1394, 7=FlyCapture2\n"
" -o # Odometry type (default 6): 0=SURF, 1=SIFT, 2=ORB, 3=FAST/FREAK, 4=FAST/BRIEF, 5=GFTT/FREAK, 6=GFTT/BRIEF, 7=BRISK\n"
" -nn # Nearest neighbor strategy (default 3): kNNFlannNaive=0, kNNFlannKdTree=1, kNNFlannLSH=2, kNNBruteForce=3, kNNBruteForceGPU=4\n"
" -nndr # Nearest neighbor distance ratio (default 0.7)\n"
@@ -128,7 +128,7 @@ int main (int argc, char * argv[])
if(i < argc)
{
driver = std::atoi(argv[i]);
if(driver < 0 || driver > 6)
if(driver < 0 || driver > 7)
{
showUsage();
}
@@ -766,6 +766,15 @@ int main (int argc, char * argv[])
}
camera = new rtabmap::CameraStereoDC1394(rate, t);
}
else if(driver == 7)
{
if(!rtabmap::CameraStereoFlyCapture2::available())
{
UERROR("Not built with FlyCapture2/Triclops support...");
exit(-1);
}
camera = new rtabmap::CameraStereoFlyCapture2(rate, t);
}
else
{
UFATAL("Camera driver (%d) not found!", driver);