reduced memory requirements for multi-band blending
This commit is contained in:
@@ -99,18 +99,19 @@ void estimateFocal(const vector<ImageFeatures> &features, const vector<MatchesIn
|
||||
}
|
||||
}
|
||||
|
||||
if (all_focals.size() > 0)
|
||||
{
|
||||
nth_element(all_focals.begin(), all_focals.end(), all_focals.begin() + all_focals.size()/2);
|
||||
for (int i = 0; i < num_images; ++i)
|
||||
focals[i] = all_focals[all_focals.size()/2];
|
||||
}
|
||||
else
|
||||
if (static_cast<int>(all_focals.size()) < num_images - 1)
|
||||
{
|
||||
LOGLN("Can't estimate focal length, will use anaive approach");
|
||||
double focals_sum = 0;
|
||||
for (int i = 0; i < num_images; ++i)
|
||||
focals_sum += features[i].img_size.width + features[i].img_size.height;
|
||||
for (int i = 0; i < num_images; ++i)
|
||||
focals[i] = focals_sum / num_images;
|
||||
}
|
||||
else
|
||||
{
|
||||
nth_element(all_focals.begin(), all_focals.end(), all_focals.begin() + all_focals.size()/2);
|
||||
for (int i = 0; i < num_images; ++i)
|
||||
focals[i] = all_focals[all_focals.size()/2];
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user