Skip to content

Latest commit

 

History

History
50 lines (46 loc) · 2.78 KB

README.md

File metadata and controls

50 lines (46 loc) · 2.78 KB

Understanding Features

Will just try to understand what are features, why are they important, why corners are important etc.

Features are regions of images with variation. Like the corners of a image.

Harris Corner Detection

Will understand the concepts behind Harris Corner Detection. We will see the functions: cv2.cornerHarris(), cv2.cornerSubPix().

Shi-Tomasi Corner Detector

Will learn about the another corner detector: Shi-Tomasi Corner Detector We will see the function: cv2.goodFeaturesToTrack().

This function is more appropriate for tracking

Scale-Invariant Feature Transform

Will learn about the concepts of SIFT algorithm We will learn to find SIFT Keypoints and Descriptors.

NOTE:: Make sure you have installed the required modules from here

pip install -r requirements.txt
  • SIFT
    There is another modification of SIFT which is SURF (Speeded Up Robust Features).
    As these both are SIFT and SURF are patented so not free for commercial use. To implement SIFT you need to install opencv-contrib
pip install opencv-contrib-python

After installing this the SIFT program will run properly.

FAST Algorithm for Corner Detection

We will find corners using OpenCV functionalities for FAST algorithm.

All the above methods are really good but when it comes to real time application they are not fast enough. It is several times faster than other existing corner detectors. But it is not robust to high levels of noise. It is dependant on a threshold.

BRIEF

It provides a shortcut to find the binary strings directly without finding descriptors, other than SIFT and SURF which require descriptors and takes a lot of memory.

But BRIEF doesn't provide feature detectors for that you can use SIFT or SURF, but it is recommended to use CesnSurE as it works slightly better.

ORB

An efficient alternative to SIFT or SURF. SIFT and SURF are patented and you are supposed to pay them for its use. But ORB is not !!!

Feature Matching

Will see how to match features in one image with others. We will use the Brute-Force matcher and FLANN Matcher in OpenCV

Feature Matching + Homography to find Objects

We will mix up the feature matching and findHomography from calib3d module to find known objects in a complex image.