Commit 2bfcbe14 authored by Pavel Rojtberg's avatar Pavel Rojtberg

fisheye::undistortPoints: sanitize theta values

the current camera model is only valid up to 180° FOV for larger FOV the
undistort loop does not converge.
Clip values so we still get plausible results for super fisheye images >
180°.
parent 37cbcf02
......@@ -377,6 +377,12 @@ void cv::fisheye::undistortPoints( InputArray distorted, OutputArray undistorted
double scale = 1.0;
double theta_d = sqrt(pw[0]*pw[0] + pw[1]*pw[1]);
// the current camera model is only valid up to 180° FOV
// for larger FOV the loop below does not converge
// clip values so we still get plausible results for super fisheye images > 180°
theta_d = min(max(-CV_PI/2., theta_d), CV_PI/2.);
if (theta_d > 1e-8)
{
// compensate distortion iteratively
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment