Matlab 2017b

277 views
Skip to first unread message

Richard Moore

unread,
Oct 31, 2017, 4:16:29 AM10/31/17
to ocamcali...@googlegroups.com
Hi Davide,

I'm experiencing that the toolbox hangs with Matlab 2017b at the findCorners routine:

Computing center coordinates.

Iteration >>

Cpu spins but program doesn't seem to progress beyond this point. If I cntrl+c this is the call stack:

In lsqlin (line 381)
            ipqpdense(H, f, A, b, Aeq, beq, lb, ub, X0, flags,
            ...

In calibrate>omni_find_parameters_fun (line 208)
        [s_o,ob_resnorm,ob_residual,ob_exitflag,ob_output,ob_lambda]
        = lsqlin(PP,QQ,mono,mono_const,[],[],[],[],[],options);

In calibrate (line 115)
[RRfin,ss]=omni_find_parameters_fun(Xt, Yt, Xp_abs, Yp_abs, xc,
yc, RRfin, taylor_order_default, ima_proc);

In findcenter (line 60)
            [calib_data.RRfin,calib_data.ocam_model.ss]=calibrate(calib_data.Xt,
            calib_data.Yt, calib_data.Xp_abs, calib_data.Yp_abs,
            calib_data.ocam_model.xc, calib_data.ocam_model.yc,
            calib_data.taylor_order, calib_data.ima_proc);

No issues in 2016b. I'm running Win10 (1607).

cheers,
Richard

Darren Xu

unread,
Sep 10, 2018, 7:35:36 AM9/10/18
to OCamCalib Toolbox
In my test, the function lsqlin has a issue which calibrate.m uses in Matlab 2017b and later.
There has no problem in Matlab 2016a. (I didn't test in Matlab 2016b and 2017a).
You should install Matlab 2016a to run the calib program.

leodoe...@googlemail.com

unread,
Apr 4, 2019, 11:03:11 AM4/4/19
to OCamCalib Toolbox
if you convert the matrix PP to a sparse matrix, it works for me in R2019a

(still takes a minute or two, but not hours ...)

[s_o,ob_resnorm,ob_residual,ob_exitflag,ob_output,ob_lambda] = lsqlin(sparse(PP),QQ,mono,mono_const,[],[],[],[],[],options);


To understand why, read https://de.mathworks.com/matlabcentral/answers/319775-why-is-the-lsqlin-interior-point-algorithm-slower-in-r2017a-compared-to-r2016b

Reply all
Reply to author
Forward
0 new messages