Calibration Freeenct2: switching images by default

This commit is contained in:
matlabbe
2015-05-05 19:43:25 -04:00
parent b5e62be664
commit 0d500ff1bf
4 changed files with 15 additions and 3 deletions
@@ -47,7 +47,7 @@ class RTABMAPGUI_EXP CalibrationDialog : public QDialog, public UEventsHandler
Q_OBJECT; Q_OBJECT;
public: 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(); virtual ~CalibrationDialog();
bool isCalibrated() const {return models_[0].isValid() && (stereo_?models_[1].isValid():true);} 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 saveSettings(QSettings & settings, const QString & group = "") const;
void loadSettings(QSettings & settings, const QString & group = ""); void loadSettings(QSettings & settings, const QString & group = "");
void setSwitchedImages(bool switched);
void setStereoMode(bool stereo); void setStereoMode(bool stereo);
void setSavingDirectory(const QString & savingDirectory) {savingDirectory_ = savingDirectory;} void setSavingDirectory(const QString & savingDirectory) {savingDirectory_ = savingDirectory;}
+8 -1
View File
@@ -46,7 +46,7 @@ namespace rtabmap {
#define COUNT_MIN 40 #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), QDialog(parent),
stereo_(stereo), stereo_(stereo),
savingDirectory_(savingDirectory), savingDirectory_(savingDirectory),
@@ -91,6 +91,8 @@ CalibrationDialog::CalibrationDialog(bool stereo, const QString & savingDirector
ui_->radioButton_raw->setChecked(true); ui_->radioButton_raw->setChecked(true);
ui_->checkBox_switchImages->setChecked(switchImages);
this->setStereoMode(stereo_); 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) void CalibrationDialog::setStereoMode(bool stereo)
{ {
this->restart(); this->restart();
+1
View File
@@ -3523,6 +3523,7 @@ void PreferencesDialog::calibrate()
} }
} }
_calibrationDialog->setStereoMode(true); _calibrationDialog->setStereoMode(true);
_calibrationDialog->setSwitchedImages(dynamic_cast<CameraFreenect2*>(camera) != 0);
_calibrationDialog->setSavingDirectory(this->getCameraInfoDir()); _calibrationDialog->setSavingDirectory(this->getCameraInfoDir());
_calibrationDialog->registerToEventsManager(); _calibrationDialog->registerToEventsManager();
+4 -1
View File
@@ -128,6 +128,8 @@ int main(int argc, char * argv[])
UINFO("Using device %d", device); UINFO("Using device %d", device);
UINFO("Stereo: %s", stereo?"true":"false"); UINFO("Stereo: %s", stereo?"true":"false");
bool switchImages = false;
rtabmap::Camera * cameraUsb = 0; rtabmap::Camera * cameraUsb = 0;
rtabmap::CameraRGBD * camera = 0; rtabmap::CameraRGBD * camera = 0;
if(driver == -1) if(driver == -1)
@@ -181,6 +183,7 @@ int main(int argc, char * argv[])
UERROR("Not built with Freenect2 support..."); UERROR("Not built with Freenect2 support...");
exit(-1); exit(-1);
} }
switchImages = true;
camera = new rtabmap::CameraFreenect2(0, rtabmap::CameraFreenect2::kTypeRGBIR); camera = new rtabmap::CameraFreenect2(0, rtabmap::CameraFreenect2::kTypeRGBIR);
} }
else if(driver == 6) else if(driver == 6)
@@ -230,7 +233,7 @@ int main(int argc, char * argv[])
} }
QApplication app(argc, argv); QApplication app(argc, argv);
rtabmap::CalibrationDialog dialog(stereo); rtabmap::CalibrationDialog dialog(stereo, ".", switchImages);
dialog.registerToEventsManager(); dialog.registerToEventsManager();
dialog.show(); dialog.show();