55 bool valid_detector_type =
true;
58 if (detector_type.compare(
"SURF") == 0) {
61 cv::Ptr<cv::AdjusterAdapter> adjuster(
62 cv::AdjusterAdapter::create(
"SURF"));
64 cv::Ptr<cv::FeatureDetector>(
new cv::DynamicAdaptedFeatureDetector(
67 detector_ = cv::FeatureDetector::create(
"SURF");
70 }
else if (detector_type.compare(
"FAST") == 0) {
73 cv::Ptr<cv::AdjusterAdapter> adjuster(
74 cv::AdjusterAdapter::create(
"FAST"));
76 cv::Ptr<cv::FeatureDetector>(
new cv::DynamicAdaptedFeatureDetector(
79 detector_ = cv::FeatureDetector::create(
"FAST");
82 }
else if (detector_type.compare(
"STAR") == 0) {
85 cv::Ptr<cv::AdjusterAdapter> adjuster(
86 cv::AdjusterAdapter::create(
"STAR"));
88 cv::Ptr<cv::FeatureDetector>(
new cv::DynamicAdaptedFeatureDetector(
91 detector_ = cv::FeatureDetector::create(
"STAR");
94 }
else if (detector_type.compare(
"SIFT") == 0) {
96 detector_ = cv::FeatureDetector::create(
"SIFT");
98 }
else if (detector_type.compare(
"ORB") == 0) {
100 detector_ = cv::FeatureDetector::create(
"ORB");
102 }
else if (detector_type.compare(
"BRISK") == 0) {
104 detector_ = cv::FeatureDetector::create(
"BRISK");
106 }
else if (detector_type.compare(
"MSER") == 0) {
108 detector_ = cv::FeatureDetector::create(
"MSER");
110 }
else if (detector_type.compare(
"GFTT") == 0) {
112 detector_ = cv::FeatureDetector::create(
"GFTT");
114 }
else if (detector_type.compare(
"HARRIS") == 0) {
116 detector_ = cv::FeatureDetector::create(
"HARRIS");
118 }
else if (detector_type.compare(
"DENSE") == 0) {
120 detector_ = cv::FeatureDetector::create(
"Dense");
122 }
else if (detector_type.compare(
"SIMPLEBLOB") == 0) {
124 detector_ = cv::FeatureDetector::create(
"SimpleBlob");
127 VLOG(1) <<
"Detector type \"" << detector_type
128 <<
"\"is not available. Defaulting to FAST.";
132 cv::Ptr<cv::AdjusterAdapter> adjuster(
133 cv::AdjusterAdapter::create(
"FAST"));
135 cv::Ptr<cv::FeatureDetector>(
new cv::DynamicAdaptedFeatureDetector(
138 detector_ = cv::FeatureDetector::create(
"FAST");
141 valid_detector_type =
false;
145 return valid_detector_type;
cv::Ptr< cv::FeatureDetector > detector_
unsigned int adaptive_iters_
unsigned int adaptive_max_
unsigned int adaptive_min_
std::string detector_type_