urbste / improvedocamcalib Goto Github PK
View Code? Open in Web Editor NEWThis is an add-on to the OCamCalib toolbox by Scaramuzza et al.
This is an add-on to the OCamCalib toolbox by Scaramuzza et al.
Running your code on Matlab 2015 OSX, I'm getting this error:
`
Error using fclose
Invalid file identifier. Use fopen to generate a valid file identifier.
Error in get_checkerboard_cornersUrban (line 94)
fclose(fid);
Error in click_calibUrban (line 269)
[callBack, x, y] = get_checkerboard_cornersUrban(kk,use_corner_find,calib_data);
Error while evaluating UIControl Callback
`
Straight after I run 'Extract grid corners', have you encountered this before? I've checked my path to make sure it includes all of the files, I've got adequate permissions to run and access everything, have I missed something?
I have some problem that I can't download the original OCamCalib from google, so would you please put the source in this repo that I can clone?
Thanks!
I believe I followed the directions properly and got what looks to be perfect output until the "Non-linear Refinement" step. I also tried "Robust Non-linear Refinement". Both fail identically. The Command window follows:
. Fisheye2_9.jpg click_calib.m ocam_calib_guiUrban.m
.. GOPR001.JPG click_calibUrban.m omni3d2pixel.m
C_calib_data.m GOPR1.jpg click_ima_calib.m omni_find_extrs_parameters.m
FUNrho.m GOPR10.jpg click_ima_calib_rufli.m omni_find_intrs_parameters.m
FindCorners.exe GOPR11.jpg cornerfinder.m optimizefunction.m
FindCornersVisual.exe GOPR2.jpg create_simulation_points.m optimizefunction_all.m
FindCornersVisualSave.exe GOPR3.jpg cv100.dll optimizefunction_old.m
FindCornersVladimir.exe GOPR4.jpg cxcore100.dll optimizeintpar.m
Fisheye1_1.jpg GOPR5.jpg data_calib.m pattern.jpg
Fisheye1_10.jpg GOPR6.jpg draw_axes.m pattern.pdf
Fisheye1_11.jpg GOPR7.jpg errCenterUrban.m pictures.txt
Fisheye1_12.jpg GOPR8.jpg eulerFromR.m planefrompoints.m
Fisheye1_13.jpg GOPR9.jpg exportData2TXT.m prova.m
Fisheye1_14.jpg README.txt export_data.m prova1.m
Fisheye1_15.jpg Step1_perform_test_calibrations.m findcenter.m prova2.m
Fisheye1_2.jpg Step2_compare_results.m findcenterUrban.m prova3.m
Fisheye1_3.jpg VMRImage0.jpg findinvpoly.m prova_all.m
Fisheye1_4.jpg VMRImage1.jpg findinvpolyUrban.m randsample.m
Fisheye1_5.jpg VMRImage2.jpg generate_sim_points.m readras.m
Fisheye1_6.jpg VMRImage3.jpg get_best_checkerboard_images.m recomp_corner_calib.m
Fisheye1_7.jpg VMRImage4.jpg get_checkerboard_corners.m reproject_calib.m
Fisheye1_8.jpg VMRImage5.jpg get_checkerboard_cornersUrban.m reprojectpoints.m
Fisheye1_9.jpg VMRImage6.jpg get_color_from_imagepoints.m reprojectpoints_adv.m
Fisheye2_1.jpg VMRImage7.jpg get_ocam_model.m reprojectpoints_fun.m
Fisheye2_10.jpg VMRImage8.jpg getpoint.m reprojectpoints_fun_adv.m
Fisheye2_11.jpg VMRImage9.jpg ginput3.m reprojectpoints_fun_adv_all.m
Fisheye2_12.jpg add_suppress.m highgui100.dll reprojectpoints_quiet.m
Fisheye2_13.jpg analyse_error.m ima_read_calib.m rodrigues.m
Fisheye2_14.jpg autoCornerFinder imunwrap.m saving_calib.m
Fisheye2_15.jpg bundleAdjustmentUrban.m libguide40.dll set_up_global.m
Fisheye2_16.jpg bundleErrUrban.m loading_calib.m show_calib_results.m
Fisheye2_2.jpg cToMatlab loadpgm.m thumbs1.jpg
Fisheye2_3.jpg calibrate.m loadppm.m thumbs2.jpg
Fisheye2_4.jpg calibration.m mosaic.m thumbs3.jpg
Fisheye2_5.jpg cam2world.m msvcr71.dll undistort.m
Fisheye2_6.jpg check_active_images.m ocam_calib.m world2cam.m
Fisheye2_7.jpg check_directory.m ocam_calibUrban.m world2cam_fast.m
Fisheye2_8.jpg checkerboard_sizes.txt ocam_calib_gui.m
Basename camera calibration images (without number nor suffix): GOPR
Image format: ([]='r'='ras', 'b'='bmp', 't'='tif', 'g'='gif', 'p'='pgm', 'j'='jpg', 'm'='ppm') j
Loading image 1...2...3...4...5...6...7...8...9...10...11...
done
Extraction of the grid corners on the images
Type the images you want to process (e.g. [1 2 3], [] = all images) =
Number of squares along the X direction ([]=10) = 5
Number of squares along the Y direction ([]=10) = 7
Size dX of each square along the X direction ([]=30mm) = 117
Size dY of each square along the Y direction ([]=30mm) = 117
X coordinate (along height) of the omnidirectional image center = ([]=1440) =
Y coordinate (along width) of the omnidirectional image center = ([]=1920) =
EXTRACTION OF THE GRID CORNERS
Do you want to use the automatic image selection
or do you want to process the images individually ( [] = automatic, other = individual )?
Processing image GOPR1.jpg...Done
Processing image GOPR2.jpg...Done
Processing image GOPR3.jpg...Done
Processing image GOPR4.jpg...Done
Processing image GOPR5.jpg...Done
Processing image GOPR6.jpg...Done
Processing image GOPR7.jpg...Done
Processing image GOPR8.jpg...Done
Processing image GOPR9.jpg...Done
Processing image GOPR10.jpg...Done
Processing image GOPR11.jpg...Done
Corner extraction finished.
Degree of polynomial expansion ([]=4) =
Average reprojection error computed for each chessboard [pixels]:
1.39 ± 0.59
13.40 ± 8.13
1.82 ± 0.71
2.64 ± 2.12
2.21 ± 0.98
2.48 ± 2.17
1.64 ± 0.77
4.43 ± 2.77
2.60 ± 1.08
1.57 ± 1.08
2.72 ± 2.26
Average error [pixels]
3.354948
Sum of squared errors
15971.820611
ss =
1.0e+03 *
-1.951147270103164
0
0.000000292100312
-0.000000000132530
0.000000000000057
Starting non-linear refinement
No public property weights exists for class C_calib_data.
Error in bundleAdjustmentUrban (line 71)
calib_data.weights = weights;
Error while evaluating UIControl Callback.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.