Fixed crash when using binary descriptors and maxWords/maxDepth are set

Added BRISK detector

git-svn-id: http://rtabmap.googlecode.com/svn/trunk/rtabmap@1839 f169173b-cf89-36c8-b27e-44dbe73f0c83
This commit is contained in:
matlabbe
2014-10-06 19:41:45 +00:00
parent d30c2baf51
commit 4d4c5af6e5
10 changed files with 303 additions and 27 deletions

View File

@@ -397,6 +397,11 @@ PreferencesDialog::PreferencesDialog(QWidget * parent) :
_ui->checkBox_GFTT_useHarrisDetector->setObjectName(Parameters::kGFTTUseHarrisDetector().c_str());
_ui->doubleSpinBox_GFTT_k->setObjectName(Parameters::kGFTTK().c_str());
//BRISK
_ui->spinBox_BRISK_thresh->setObjectName(Parameters::kBRISKThresh().c_str());
_ui->spinBox_BRISK_octaves->setObjectName(Parameters::kBRISKOctaves().c_str());
_ui->doubleSpinBox_BRISK_patterScale->setObjectName(Parameters::kBRISKPatternScale().c_str());
// verifyHypotheses
_ui->comboBox_vh_strategy->setObjectName(Parameters::kRtabmapVhStrategy().c_str());
_ui->surf_spinBox_matchCountMinAccepted->setObjectName(Parameters::kVhEpMatchCountMin().c_str());
@@ -1994,6 +1999,10 @@ void PreferencesDialog::addParameter(const QObject * object, int value)
this->addParameters(_ui->groupBox_detector_gftt2);
this->addParameters(_ui->groupBox_detector_brief2);
}
else if(value == 7) // brisk
{
this->addParameters(_ui->groupBox_detector_brisk2);
}
}
else if(comboBox == _ui->globalDetection_icpType)
{

View File

@@ -86,7 +86,7 @@
<enum>QFrame::Raised</enum>
</property>
<property name="currentIndex">
<number>5</number>
<number>17</number>
</property>
<widget class="QWidget" name="page_22">
<layout class="QVBoxLayout" name="verticalLayout_29">
@@ -3415,6 +3415,11 @@ generate the number of words requested.</string>
<string>GFTT+BRIEF</string>
</property>
</item>
<item>
<property name="text">
<string>BRISK</string>
</property>
</item>
</widget>
</item>
</layout>
@@ -4447,6 +4452,95 @@ When set to false, no new words are added to dictionary, so no more updates are
</item>
</layout>
</widget>
<widget class="QWidget" name="page_25">
<layout class="QVBoxLayout" name="verticalLayout_47">
<item>
<widget class="QGroupBox" name="groupBox_detector_brisk2">
<property name="title">
<string>BRISK</string>
</property>
<layout class="QGridLayout" name="gridLayout_26" columnstretch="0,1">
<item row="0" column="1">
<widget class="QLabel" name="label_191">
<property name="text">
<string>FAST/AGAST detection threshold score.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QDoubleSpinBox" name="doubleSpinBox_BRISK_patterScale">
<property name="maximum">
<double>10.000000000000000</double>
</property>
<property name="singleStep">
<double>0.100000000000000</double>
</property>
<property name="value">
<double>1.000000000000000</double>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLabel" name="label_188">
<property name="text">
<string>Detection octaves. Use 0 to do single scale.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QSpinBox" name="spinBox_BRISK_octaves">
<property name="maximum">
<number>10</number>
</property>
<property name="value">
<number>3</number>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QLabel" name="label_189">
<property name="text">
<string>Apply this scale to the pattern used for sampling the neighbourhood of a keypoint.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QSpinBox" name="spinBox_BRISK_thresh">
<property name="maximum">
<number>9999</number>
</property>
<property name="value">
<number>30</number>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<spacer name="verticalSpacer_26">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>742</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
<widget class="QWidget" name="page_19">
<layout class="QVBoxLayout" name="verticalLayout_13">
<item>
@@ -5297,7 +5391,7 @@ Lower the ratio -&gt; higher the precision. 0 means disabled, matching the neare
<item row="1" column="0">
<widget class="QComboBox" name="reextract_type">
<property name="currentIndex">
<number>4</number>
<number>0</number>
</property>
<property name="sizeAdjustPolicy">
<enum>QComboBox::AdjustToContents</enum>
@@ -5337,6 +5431,11 @@ Lower the ratio -&gt; higher the precision. 0 means disabled, matching the neare
<string>GFTT+BRIEF</string>
</property>
</item>
<item>
<property name="text">
<string>BRISK</string>
</property>
</item>
</widget>
</item>
<item row="1" column="1">
@@ -6077,6 +6176,11 @@ Lower the ratio -&gt; higher the precision. 0 means disabled, matching the neare
<string>GFTT+BRIEF</string>
</property>
</item>
<item>
<property name="text">
<string>BRISK</string>
</property>
</item>
</widget>
</item>
<item row="13" column="1">