ucuapps / single-view-autocalib

Single-View Auto-Calibration from Lens-Distorted Images of Urban Scenes. In WACV (2021)
https://ylochman.github.io/sv-autocalib
BSD 3-Clause "New" or "Revised" License
38 stars 10 forks source link

Error while running an example from Readme #1

Open ducha-aiki opened 3 years ago

ducha-aiki commented 3 years ago

Hi, I ham running this code

init; % add project paths, add solver aliases etc.
img_path = 'data/img1.jpg'; % specify a path to an image
solvers = [Solver2PC4CA, Solver6CA]; % define the solver(s)
autocalib(img_path, solvers); % run auto-calibration

And get following error:

>>>>>> Image: img1.jpg
Error using cmp_argparse (line 71)
Unknown parameter 'low'.

Error in get_rgns (line 4)
    cfg = cmp_argparse(cfg, varargin{:});

Error in autocalib (line 44)
            [rgns,Gapp] = get_rgns(img, arc_cfg{:},...

My matlab version is 8.5.0.197613 (R2015a)

ylochman commented 3 years ago

Hi @ducha-aiki, Thanks for reporting an error! There was a small bug that should be fixed now. Could you please pull and run it again.

ducha-aiki commented 3 years ago
>>>>>> Image: img1.jpg
Database does not exist. Could not create the database.
Undefined function or variable 'digraph'.

Error in CidCache (line 24)
            this.G = digraph;

Error in get_rgns (line 9)
    cid_cache = CidCache(img.cid,...

Error in autocalib (line 44)
            [rgns,Gapp] = get_rgns(img, arc_cfg{:},...
ducha-aiki commented 3 years ago

OK, it looks like that the problem is in my matlab version. I tried a newer one and got a different error :(

Invalid MEX-file '/mnt/home/mishkdmy/dev/single-view-autocalib/features/helpers/edgeSubPix/edgeSubPix.mexa64': /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.27' not found (required by /mnt/home/mishkdmy/dev/single-view-autocalib/features/helpers/edgeSubPix/edgeSubPix.mexa64)

Error in EDGE.extract (line 9)
    contours = edgeSubPix(...

Error in get_arcs (line 32)
        contours = EDGE.extract(img, contours_params);

Error in autocalib (line 47)
            [arcs,circ,Gc] = get_arcs(img,'write_cache',1,...
dobosevych commented 3 years ago

Сan you specify your Linux version?

ylochman commented 3 years ago

The problem seems similar to this one. Could you please check if your OS and compiler are the same as there (Ubuntu 14.04, gcc 5.5). If yes, then downgrading gcc to 4.9 might help. You might also try to re-build edgeSubPix with changed CMakeLists.txt according to that solution (or maybe try to just re-build first)