Added CalibrationDialog in Preferences->source for convenience. The database is also changed to handle new FX, FY, CX and CY intrinsic parameters instead of only depthConstant parameter. Added version of the database in a new table Admin. Updated to version 0.7.0.

git-svn-id: http://rtabmap.googlecode.com/svn/trunk/rtabmap@1613 f169173b-cf89-36c8-b27e-44dbe73f0c83
This commit is contained in:
matlabbe
2014-07-26 04:36:00 +00:00
parent 1557b3d44d
commit f090c81aaf
44 changed files with 1389 additions and 715 deletions

View File

@@ -27,11 +27,23 @@ public:
CalibrationDialog(QWidget * parent = 0);
virtual ~CalibrationDialog();
bool isCalibrated() const {return calibrated_;}
const cv::Mat & cameraMatrix() const {return cameraMatrix_;} // Matrix K
const cv::Mat & distCoeffs() const {return distCoeffs_;} // Matrix D
float fx() const {return cameraMatrix_.at<double>(0,0);} // K(0)
float fy() const {return cameraMatrix_.at<double>(1,1);} // K(4)
float cx() const {return cameraMatrix_.at<double>(0,2);} // K(2)
float cy() const {return cameraMatrix_.at<double>(1,2);} // K(5)
public slots:
void setBoardWidth(int width);
void setBoardHeight(int height);
void setSquareSize(double size);
private slots:
void processImage(const cv::Mat & image);
void restart();
void calibrate();
void exit();
protected:
virtual void closeEvent(QCloseEvent* event);

View File

@@ -189,7 +189,10 @@ private:
int id,
const cv::Mat & rgb,
const cv::Mat & depth,
float depthConstant,
float fx,
float fy,
float cx,
float cy,
const Transform & localTransform,
const Transform & pose,
float voxelSize,
@@ -224,7 +227,10 @@ private:
QMap<int, std::vector<unsigned char> > _imagesMap;
QMap<int, std::vector<unsigned char> > _depthsMap;
QMap<int, std::vector<unsigned char> > _depths2DMap;
QMap<int, float> _depthConstantsMap;
QMap<int, float> _depthFxsMap;
QMap<int, float> _depthFysMap;
QMap<int, float> _depthCxsMap;
QMap<int, float> _depthCysMap;
QMap<int, Transform> _localTransformsMap;
std::map<int, Transform> _currentPosesMap;
Transform _odometryCorrection;

View File

@@ -159,7 +159,10 @@ public:
Src getSourceRGBD() const; // Openni group
QString getSourceOpenniDevice() const; //Openni group
Transform getSourceOpenniLocalTransform() const; //Openni group
float getSourceOpenniFocalLength() const; // Openni group
float getSourceOpenniFx() const; // Openni group
float getSourceOpenniFy() const; // Openni group
float getSourceOpenniCx() const; // Openni group
float getSourceOpenniCy() const; // Openni group
int getIgnoredDCComponents() const;
@@ -219,6 +222,7 @@ private slots:
void openDatabaseViewer();
void cleanOdometryTest();
void testOdometry();
void calibrate();
protected:
virtual void showEvent ( QShowEvent * event );