Code Monkey home page Code Monkey logo

epipolar-geometry's Introduction

1. Stereo-Correspondence-Matching

This project is about estimating the disparity between two images when one of the image is taken by slightly moving towards the right. By knowing the focal length of the camera and the baseline distance, we can accurately determine the 3-d location of the point. This project aims at implementing some of those Stereo-Matching algorithms in Python.

1. BLOCK-MATCHING method for which the code is written in BlockMatching.py

1. ENERGY MINIMIZATION VIA DYNAMIC PROGRAMMING method for which the code is written in Dynamic.py

Input images are Left and Right correspondingly.

LEFT Image RIGHT Image
Block-matching Disparity Energy-Minimization via Dynamic Programming
THE BRIGHTER THE COLOR, THE NEARER THE OBJECT IS.

2. Epipolar-Line-Estimation

This section is about finding the Epipolar-Lines given a correspondence pair. Essentially, we estimate the FundaMental matrix such that x1.TFx = 0. The famous 8-point algorithm is used to find the F matrix. Link to paper- https://www.cse.unr.edu/~bebis/CS485/Handouts/hartley.pdf

The resulting epipoles are shown below.

VIEW-A VIEW-B

3. Stereo-Rectification

Based on the fundamental-matrix estimated, we can rectify the images such that their epilines lie horizontally.

Run the StereoRectification/Stereo_rectify.py to rectify both the images.

The resulting Rectified views are shown below.

RECTIFIED VIEW-A RECTIFIED VIEW-B
THE HOMOGRAPHY-WARP IS DONE IN NUMPY, HENCE THE RECTIFICATION ALGORITHM IS MUCH FASTER THAN FOR-LOOPS.

4. ( TO-DO ) REPROJECTION TO 3D CO-ORDINATES FROM DISPARITY.

epipolar-geometry's People

Contributors

chetanpatil28 avatar

Watchers

James Cloos 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.