Updated detect more loop closures with optimization check to accept (like in dbviewer). DBViewer: added Depth image edition dialog. GainCompensator: now doing it on 3 channels separatly. Export: removed gain's alpha option, added max polygons option, added brightness/contrast auto balance option

This commit is contained in:
matlabbe
2017-03-30 15:33:48 -04:00
parent a928a0b404
commit 767b29d5a3
20 changed files with 1695 additions and 551 deletions

View File

@@ -47,6 +47,7 @@ class Ui_DatabaseViewer;
class QGraphicsScene;
class QGraphicsView;
class QLabel;
class QDialog;
namespace rtabmap
{
@@ -56,6 +57,7 @@ class SensorData;
class CloudViewer;
class OctoMap;
class ExportCloudsDialog;
class EditDepthArea;
class RTABMAPGUI_EXP DatabaseViewer : public QMainWindow
{
@@ -79,6 +81,8 @@ private slots:
void writeSettings();
void configModified();
void openDatabase();
void updateStatistics();
void editDepthImage();
void generateGraph();
void exportDatabase();
void extractImages();
@@ -153,8 +157,8 @@ private:
std::multimap<int, rtabmap::Link> updateLinksWithModifications(
const std::multimap<int, rtabmap::Link> & edgeConstraints);
void updateLoopClosuresSlider(int from = 0, int to = 0);
void refineConstraint(int from, int to, bool silent, bool updateGraph);
bool addConstraint(int from, int to, bool silent, bool updateGraph);
void refineConstraint(int from, int to, bool silent);
bool addConstraint(int from, int to, bool silent);
private:
Ui_DatabaseViewer * ui_;
@@ -183,8 +187,11 @@ private:
std::map<int, std::pair<float, cv::Point3f> > localMapsInfo_; // <cell size, viewpoint>
std::map<int, std::pair<cv::Mat, cv::Mat> > generatedLocalMaps_; // <ground, obstacles>
std::map<int, std::pair<float, cv::Point3f> > generatedLocalMapsInfo_; // <cell size, viewpoint>
std::map<int, cv::Mat> modifiedDepthImages_;
OctoMap * octomap_;
ExportCloudsDialog * exportDialog_;
QDialog * editDepthDialog_;
EditDepthArea * editDepthArea_;
bool savedMaximized_;
bool firstCall_;

View File

@@ -54,6 +54,7 @@ public:
void setMaximumSteps(int steps);
void setAutoClose(bool on, int delayedClosingTimeMsec = -1);
void setCancelButtonVisible(bool visible);
bool isCanceled() const {return _canceled;}
signals:
void canceled();
@@ -69,6 +70,7 @@ public slots:
private slots:
void closeDialog();
void cancel();
private:
QLabel * _text;
@@ -79,6 +81,7 @@ private:
QCheckBox * _closeWhenDoneCheckBox;
QString _endMessage;
int _delayedClosingTime; // sec
bool _canceled;
};
}