Fixed median focal length estimation in the stitching module

This commit is contained in:
Alexey Spizhevoy
2011-10-24 12:35:11 +00:00
parent b74e9c101a
commit 28e006ad4f
3 changed files with 24 additions and 6 deletions

View File

@@ -442,8 +442,13 @@ void Stitcher::estimateCameraParams()
LOGLN("Camera #" << indices_[i] + 1 << ":\n" << cameras_[i].K());
focals.push_back(cameras_[i].focal);
}
nth_element(focals.begin(), focals.begin() + focals.size()/2, focals.end());
warped_image_scale_ = static_cast<float>(focals[focals.size() / 2]);
sort(focals.begin(), focals.end());
float warped_image_scale;
if (focals.size() % 2 == 1)
warped_image_scale = static_cast<float>(focals[focals.size() / 2]);
else
warped_image_scale = static_cast<float>(focals[focals.size() / 2 - 1] + focals[focals.size() / 2]) * 0.5f;
if (do_wave_correct_)
{