Giter Club home page Giter Club logo

daniel1896 / feature-matching-and-homography Goto Github PK

View Code? Open in Web Editor NEW

This project forked from whoisraibolt/feature-detection-and-matching

0.0 0.0 1.0 171.97 MB

Feature Detection and Matching with SIFT, SURF, KAZE, BRIEF, ORB, BRISK, AKAZE and FREAK through the Brute Force and FLANN algorithms using Python and OpenCV

License: MIT License

Python 8.56% Jupyter Notebook 91.44%
feature-matching opencv sift surf homography comparison computer-vision

feature-matching-and-homography's Introduction

Open In Colab

Feature Matching and Homography

Feature detection and mapping using classical algorithms to locate an image of an object in the target image.

From this application it is possible to solve several problems in the area of Computer Vision, such as: image recovery, motion tracking, motion structure detection, object detection, recognition and tracking, 3D object reconstruction, and others.

Overview

This project performs Feature Detection and Matching with SIFT, SURF, KAZE, BRIEF, ORB, BRISK, AKAZE and FREAK through the Brute Force and FLANN algorithms. It is possible to compute every combination of feature detector, descriptor and matcher to be able to easily compare and determine the best for the given input images. Finally the image of the object is located in the target image using homography, which is visualized by framing it in the target image. This is done mainly using OpenCV (3.4.2). Different can be used, however it cannot be guaranteed that all feature matching approaches will work. SURF for example is not available for OpenCV versions higher than 3.4.2.

Feature Detection and Matching with KAZE through the Brute Force algorithm

Dependencies

  • Python 2.7 or Python 3.4-3.7

To install the dependencies run:

pip install -r requirements.txt

Usage

python main.py --detector <detector> --descriptor <descriptor> --matcher <matcher>

Arguments Info
-h, --help Show help message and exit
--detector Specify SIFT or SURF or KAZE or ORB or BRISK or AKAZE
--descriptor Specify SIFT or SURF or KAZE or BRIEF or ORB or BRISK or AKAZE or FREAK
--matcher Specify BF or FLANN
--all Run all combinations of detector, descriptor and matcher

If no arguments are given or one of the arguments (detector, descriptor or matcher) is missing, it defaults to run all combinations.

Examples

Help

python main.py --help

Brute Force with ORB

python main.py --detector ORB --descriptor ORB --matcher BF

Run all combinations

python main.py
python main.py --all

Recommended Readings

License

Code released under the MIT license.

feature-matching-and-homography's People

Contributors

whoisraibolt avatar daniel1896 avatar sahiladiv avatar dependabot[bot] 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.