{"id":20401935,"url":"https://github.com/jmmanley/vgg-multiple-view-geometry","last_synced_at":"2025-03-05T01:43:53.555Z","repository":{"id":111675087,"uuid":"113608107","full_name":"jmmanley/VGG-Multiple-View-Geometry","owner":"jmmanley","description":"A set of MATLAB utilities for multiple view geometry, provided alongside Hartley \u0026 Zisserman's \"Multiple View Geometry in Computer Vision, Second Edition\" (2004). Obtained from http://www.robots.ox.ac.uk/~vgg/hzbook/code/.","archived":false,"fork":false,"pushed_at":"2017-12-08T19:32:18.000Z","size":1529,"stargazers_count":91,"open_issues_count":0,"forks_count":41,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-01-15T12:06:02.165Z","etag":null,"topics":["3d-reconstruction","camera-calibration","computer-vision","multiple-view-geometry"],"latest_commit_sha":null,"homepage":null,"language":"Matlab","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jmmanley.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"MIT-License.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-12-08T19:05:10.000Z","updated_at":"2025-01-10T07:16:33.000Z","dependencies_parsed_at":"2023-05-25T10:00:30.453Z","dependency_job_id":null,"html_url":"https://github.com/jmmanley/VGG-Multiple-View-Geometry","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jmmanley%2FVGG-Multiple-View-Geometry","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jmmanley%2FVGG-Multiple-View-Geometry/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jmmanley%2FVGG-Multiple-View-Geometry/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jmmanley%2FVGG-Multiple-View-Geometry/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jmmanley","download_url":"https://codeload.github.com/jmmanley/VGG-Multiple-View-Geometry/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241950080,"owners_count":20047587,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["3d-reconstruction","camera-calibration","computer-vision","multiple-view-geometry"],"created_at":"2024-11-15T04:52:25.074Z","updated_at":"2025-03-05T01:43:53.545Z","avatar_url":"https://github.com/jmmanley.png","language":"Matlab","funding_links":[],"categories":[],"sub_categories":[],"readme":"# MATLAB Functions for Multiple View Geometry\n\nObtained from [http://www.robots.ox.ac.uk/~vgg/hzbook/code/](http://www.robots.ox.ac.uk/~vgg/hzbook/code/).\n\nPlease report any bugs to [Andrew Zisserman](removethisifyouarehuman-az@robots.ox.ac.uk).\n\n\n### Acknowledgements:\nThese functions are written by: David Capel, Andrew Fitzgibbon, Peter Kovesi, Tomas Werner, Yoni Wexler, and Andrew Zisserman\n\n\n\n## VGG MultiView Compute Library\n\n### Conversions:\n* `vgg_KR_from_P.m` extract K, R from P such that P = K*R*[eye(3) -t]\n* `vgg_F_from_P.m` fundamental matrix from 2 cameras\n* `vgg_P_from_F.m` 2 camera matrices from fundamental matrix\n* `vgg_T_from_P.m` trifocal tensor from 3 cameras\n* `vgg_H_from_2P_plane.m` inter-image homography from 2 cameras and 3D plane\n* `vgg_H_from_P_plane.m` projection matrix from image onto 3D plane\n* `vgg_plane_from_2P_H.m` 3D plane from 2 cameras and inter-image homography\n\n### Multiview tensors from image correspondences:\n* `vgg_H_from_x_lin.m` homography from points in 2 images, linear method\n* `vgg_H_from_x_nonlin.m` MLE of the above, by nonlinear method\n* `vgg_Haffine_from_x_MLE.m` MLE of affine transformation from points in 2 images, linear\n* `vgg_F_from_7pts_2img.m` fundamental matrix from 7 points in 2 images\n* `vgg_PX_from_6pts_3img.m` cameras and world points from 6 points in 3 images\n\n### Preconditioning for estimation:\n* `vgg_conditioner_from_image.m` conditioning shift+scaling from image dimensions\n* `vgg_conditioner_from_pts.m` conditioning shift+scaling from image points\n\n### Self-calibration and similar:\n* `vgg_signsPX_from_x.m` swaps signs of P and X so that projection scales are positive\n* `vgg_selfcalib_qaffine.m` quasi-affine from projective reconstruction\n* `vgg_selfcalib_metric_vansq.m` metric from projective and 3 orthogonal principal directions and square pixels\n\n### Estimation:\n* `vgg_X_from_xP_lin.m` 3D point from image projections and cameras, linear\n* `vgg_X_from_xP_nonlin.m` MLE of that, non-linear method\n* `vgg_line3d_from_lP_lin.m` 3D line segment from image line segments and cameras, linear\n* `vgg_line3d_from_lP_nonlin.m` MLE of that, non-linear method\n\n\n\n## VGG User Interface Library\n\n### GUI’s:\n* `vgg_gui_F.m` Visualizes epipolar geometry between two views\n* `vgg_gui_H.m` Visualizes a homography between two views\n\n\n\n## Examples\n\nThese examples use images and matrices included in the directory `vgg_examples`. Change to that directory before running the example functions.\n\n* `view_homog_ex.m` Example of using `vgg_gui_H`\n* `view_fund_ex.m` Example of using `vgg_gui_F`\n* `Haffine_from_x_MLE_ex.m` Example of using `vgg_Haffine_from_x_MLE`\n* `F_from_Ps_ex.m` Example on computing F from two camera matrices using `vgg_F_from_P`\n* `H_from_image_corr_ex.m` Example on computing H from points using `vgg_H_from_x_lin`\n* `testhomog_vgg.m` Example of computing H from two images from a rotating camera. This example also requires `ransacfithomography_vgg.m` and Peter Kovesi's functions (such as `matchbycorrelation.m` and `ransac.m`). See link below.\n\n\n\n## Links to other highly recommended Computer Vision software\n\n* [Peter Kovesi's Matlab Functions for Computer Vision and Image Analysis](http://www.csse.uwa.edu.au/~pk/Research/MatlabFns/index.html)\n* [Jean-Yves Bouguet's Matlab Calibration Software](http://www.vision.caltech.edu/bouguetj/calib_doc/)\n\n\n\n## Note on release versions\n\nNovember 2012 updates to\n\n* `ransacfithomography_vgg.m`\n* `testhomog_vgg.m`\n* `vgg_H_from_x_nonlin.m`\n\nTo maintain compatibility with Peter Kovesi's functions and for Matlab R2012a compatibility.\n\nThanks to: Relja Arandjelovic, Peter Corke and Alexander Khanin.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjmmanley%2Fvgg-multiple-view-geometry","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjmmanley%2Fvgg-multiple-view-geometry","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjmmanley%2Fvgg-multiple-view-geometry/lists"}