Giter VIP home page Giter VIP logo

yichencityu / vgg-multiple-view-geometry Goto Github PK

View Code? Open in Web Editor NEW

This project forked from jmmanley/vgg-multiple-view-geometry

1.0 0.0 0.0 1.49 MB

A set of MATLAB utilities for multiple view geometry, provided alongside Hartley & Zisserman's "Multiple View Geometry in Computer Vision, Second Edition" (2004). Obtained from http://www.robots.ox.ac.uk/~vgg/hzbook/code/.

License: Other

MATLAB 98.40% C 0.11% Forth 0.11% C++ 1.38%

vgg-multiple-view-geometry's Introduction

MATLAB Functions for Multiple View Geometry

Obtained from http://www.robots.ox.ac.uk/~vgg/hzbook/code/.

Please report any bugs to Andrew Zisserman.

Acknowledgements:

These functions are written by: David Capel, Andrew Fitzgibbon, Peter Kovesi, Tomas Werner, Yoni Wexler, and Andrew Zisserman

VGG MultiView Compute Library

Conversions:

  • vgg_KR_from_P.m extract K, R from P such that P = KR[eye(3) -t]
  • vgg_F_from_P.m fundamental matrix from 2 cameras
  • vgg_P_from_F.m 2 camera matrices from fundamental matrix
  • vgg_T_from_P.m trifocal tensor from 3 cameras
  • vgg_H_from_2P_plane.m inter-image homography from 2 cameras and 3D plane
  • vgg_H_from_P_plane.m projection matrix from image onto 3D plane
  • vgg_plane_from_2P_H.m 3D plane from 2 cameras and inter-image homography

Multiview tensors from image correspondences:

  • vgg_H_from_x_lin.m homography from points in 2 images, linear method
  • vgg_H_from_x_nonlin.m MLE of the above, by nonlinear method
  • vgg_Haffine_from_x_MLE.m MLE of affine transformation from points in 2 images, linear
  • vgg_F_from_7pts_2img.m fundamental matrix from 7 points in 2 images
  • vgg_PX_from_6pts_3img.m cameras and world points from 6 points in 3 images

Preconditioning for estimation:

  • vgg_conditioner_from_image.m conditioning shift+scaling from image dimensions
  • vgg_conditioner_from_pts.m conditioning shift+scaling from image points

Self-calibration and similar:

  • vgg_signsPX_from_x.m swaps signs of P and X so that projection scales are positive
  • vgg_selfcalib_qaffine.m quasi-affine from projective reconstruction
  • vgg_selfcalib_metric_vansq.m metric from projective and 3 orthogonal principal directions and square pixels

Estimation:

  • vgg_X_from_xP_lin.m 3D point from image projections and cameras, linear
  • vgg_X_from_xP_nonlin.m MLE of that, non-linear method
  • vgg_line3d_from_lP_lin.m 3D line segment from image line segments and cameras, linear
  • vgg_line3d_from_lP_nonlin.m MLE of that, non-linear method

VGG User Interface Library

GUI’s:

  • vgg_gui_F.m Visualizes epipolar geometry between two views
  • vgg_gui_H.m Visualizes a homography between two views

Examples

These examples use images and matrices included in the directory vgg_examples. Change to that directory before running the example functions.

  • view_homog_ex.m Example of using vgg_gui_H
  • view_fund_ex.m Example of using vgg_gui_F
  • Haffine_from_x_MLE_ex.m Example of using vgg_Haffine_from_x_MLE
  • F_from_Ps_ex.m Example on computing F from two camera matrices using vgg_F_from_P
  • H_from_image_corr_ex.m Example on computing H from points using vgg_H_from_x_lin
  • 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.

Links to other highly recommended Computer Vision software

Note on release versions

November 2012 updates to

  • ransacfithomography_vgg.m
  • testhomog_vgg.m
  • vgg_H_from_x_nonlin.m

To maintain compatibility with Peter Kovesi's functions and for Matlab R2012a compatibility.

Thanks to: Relja Arandjelovic, Peter Corke and Alexander Khanin.

vgg-multiple-view-geometry's People

Contributors

jmmanley avatar

Stargazers

Hemang Purohit  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.