From 0d500ff1bf0e95796014b759593b196159cdea37 Mon Sep 17 00:00:00 2001 From: matlabbe Date: Tue, 5 May 2015 19:43:25 -0400 Subject: [PATCH] Calibration Freeenct2: switching images by default --- guilib/include/rtabmap/gui/CalibrationDialog.h | 3 ++- guilib/src/CalibrationDialog.cpp | 9 ++++++++- guilib/src/PreferencesDialog.cpp | 1 + tools/Calibration/main.cpp | 5 ++++- 4 files changed, 15 insertions(+), 3 deletions(-) diff --git a/guilib/include/rtabmap/gui/CalibrationDialog.h b/guilib/include/rtabmap/gui/CalibrationDialog.h index 37ff0044..bb617456 100644 --- a/guilib/include/rtabmap/gui/CalibrationDialog.h +++ b/guilib/include/rtabmap/gui/CalibrationDialog.h @@ -47,7 +47,7 @@ class RTABMAPGUI_EXP CalibrationDialog : public QDialog, public UEventsHandler Q_OBJECT; public: - CalibrationDialog(bool stereo = false, const QString & savingDirectory = ".", QWidget * parent = 0); + CalibrationDialog(bool stereo = false, const QString & savingDirectory = ".", bool switchImages = false, QWidget * parent = 0); virtual ~CalibrationDialog(); bool isCalibrated() const {return models_[0].isValid() && (stereo_?models_[1].isValid():true);} @@ -58,6 +58,7 @@ public: void saveSettings(QSettings & settings, const QString & group = "") const; void loadSettings(QSettings & settings, const QString & group = ""); + void setSwitchedImages(bool switched); void setStereoMode(bool stereo); void setSavingDirectory(const QString & savingDirectory) {savingDirectory_ = savingDirectory;} diff --git a/guilib/src/CalibrationDialog.cpp b/guilib/src/CalibrationDialog.cpp index 796806c7..5a722b09 100644 --- a/guilib/src/CalibrationDialog.cpp +++ b/guilib/src/CalibrationDialog.cpp @@ -46,7 +46,7 @@ namespace rtabmap { #define COUNT_MIN 40 -CalibrationDialog::CalibrationDialog(bool stereo, const QString & savingDirectory, QWidget * parent) : +CalibrationDialog::CalibrationDialog(bool stereo, const QString & savingDirectory, bool switchImages, QWidget * parent) : QDialog(parent), stereo_(stereo), savingDirectory_(savingDirectory), @@ -91,6 +91,8 @@ CalibrationDialog::CalibrationDialog(bool stereo, const QString & savingDirector ui_->radioButton_raw->setChecked(true); + ui_->checkBox_switchImages->setChecked(switchImages); + this->setStereoMode(stereo_); } @@ -136,6 +138,11 @@ void CalibrationDialog::loadSettings(QSettings & settings, const QString & group } } +void CalibrationDialog::setSwitchedImages(bool switched) +{ + ui_->checkBox_switchImages->setChecked(switched); +} + void CalibrationDialog::setStereoMode(bool stereo) { this->restart(); diff --git a/guilib/src/PreferencesDialog.cpp b/guilib/src/PreferencesDialog.cpp index 99c646ee..d14b1f00 100644 --- a/guilib/src/PreferencesDialog.cpp +++ b/guilib/src/PreferencesDialog.cpp @@ -3523,6 +3523,7 @@ void PreferencesDialog::calibrate() } } _calibrationDialog->setStereoMode(true); + _calibrationDialog->setSwitchedImages(dynamic_cast(camera) != 0); _calibrationDialog->setSavingDirectory(this->getCameraInfoDir()); _calibrationDialog->registerToEventsManager(); diff --git a/tools/Calibration/main.cpp b/tools/Calibration/main.cpp index ffe82dfd..b93b1080 100644 --- a/tools/Calibration/main.cpp +++ b/tools/Calibration/main.cpp @@ -128,6 +128,8 @@ int main(int argc, char * argv[]) UINFO("Using device %d", device); UINFO("Stereo: %s", stereo?"true":"false"); + bool switchImages = false; + rtabmap::Camera * cameraUsb = 0; rtabmap::CameraRGBD * camera = 0; if(driver == -1) @@ -181,6 +183,7 @@ int main(int argc, char * argv[]) UERROR("Not built with Freenect2 support..."); exit(-1); } + switchImages = true; camera = new rtabmap::CameraFreenect2(0, rtabmap::CameraFreenect2::kTypeRGBIR); } else if(driver == 6) @@ -230,7 +233,7 @@ int main(int argc, char * argv[]) } QApplication app(argc, argv); - rtabmap::CalibrationDialog dialog(stereo); + rtabmap::CalibrationDialog dialog(stereo, ".", switchImages); dialog.registerToEventsManager(); dialog.show();