Skip to content

Commit 4a3d307

Browse files
mihaidusmanulucasthahn
authored andcommitted
Added descriptor normalization argument to feature_extractor. (colmap#1332)
1 parent bac1fe7 commit 4a3d307

File tree

1 file changed

+16
-0
lines changed

1 file changed

+16
-0
lines changed

src/exe/feature.cc

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -137,12 +137,15 @@ void UpdateImageReaderOptionsFromCameraMode(ImageReaderOptions& options,
137137
int RunFeatureExtractor(int argc, char** argv) {
138138
std::string image_list_path;
139139
int camera_mode = -1;
140+
std::string descriptor_normalization = "l1_root";
140141

141142
OptionManager options;
142143
options.AddDatabaseOptions();
143144
options.AddImageOptions();
144145
options.AddDefaultOption("camera_mode", &camera_mode);
145146
options.AddDefaultOption("image_list_path", &image_list_path);
147+
options.AddDefaultOption("descriptor_normalization", &descriptor_normalization,
148+
"{'l1_root', 'l2'}");
146149
options.AddExtractionOptions();
147150
options.Parse(argc, argv);
148151

@@ -155,6 +158,19 @@ int RunFeatureExtractor(int argc, char** argv) {
155158
(CameraMode)camera_mode);
156159
}
157160

161+
StringToLower(&descriptor_normalization);
162+
if (descriptor_normalization == "l1_root") {
163+
options.sift_extraction->normalization =
164+
SiftExtractionOptions::Normalization::L1_ROOT;
165+
} else if (descriptor_normalization == "l2") {
166+
options.sift_extraction->normalization =
167+
SiftExtractionOptions::Normalization::L2;
168+
} else {
169+
std::cerr << "ERROR: Invalid `descriptor_normalization`"
170+
<< std::endl;
171+
return EXIT_FAILURE;
172+
}
173+
158174
if (!image_list_path.empty()) {
159175
reader_options.image_list = ReadTextFileLines(image_list_path);
160176
if (reader_options.image_list.empty()) {

0 commit comments

Comments
 (0)