Skip to content

DMAHW28/FeatureDetection

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🔍 Feature Matching with LBP & Corner Detection (FAST & Harris)

This project implements corner detection (FAST & Harris) and feature matching using LBP descriptors in both Python and C++ with OpenCV. It allows for feature extraction, comparison, and visualization of keypoints and matching results.

🚀 Features

  • FAST & Harris corner detection 🔥🏁
  • LBP (Local Binary Pattern) descriptor matching
  • Implementation in Python & C++ 💻🐍
  • Comparison between custom and OpenCV's built-in implementations
  • Image visualization of detected keypoints & matching results

📁 Project Structure

FeatureDetection/
images/                # Image dataset for testing and results visualization
docs/                  # Documentation, including research papers and result images
cpp/                   # C++ implementation
   src/                   
       descriptors.cpp    # Descriptors extraction and matching algorithm implementation
       fast.cpp           # Fast corner detection implementation
       harris.cpp         # Harris corner detection implementation
       main.cpp           # C++ entry point for testing the algorithms
python/                # Python implementation
   notebooks/             
       main.ipynb         # upyter notebook for testing the Python implementation
   src/                   
       descriptors.py     # Descriptors extraction and matching algorithm implementation
       fast.py            # Fast corner detection implementation
       harris.py          # Harris corner detection implementation
requirements.txt       # List of required dependencies
cmake-build-debug/     # C++ compilation and installation
README.md              # Project documentation

📥 Installation

📌 Requirements

🔹 Python (≥ 3.x)
🔹 OpenCV (for Python & C++)
🔹 CMake and g++ (for C++ version)

🐍 Python Installation

  1. Install dependencies::
pip install -r requirements.txt
  1. Open and run the Jupyter notebook:
jupyter notebook python/notebooks/main.ipynb

C++ Compilation & Execution

  1. Navigate to the cmake-build-debug folder:
cd cmake-build-debug
  1. Build the C++ project using CMake:
cmake --build .
  1. Run the compiled program:
./FeatureDetection

📷 Example Results

Below are some example results for corner detection and feature matching:

🔹 Harris Corner Detection

Here are some example Harris Corner Detection results:

Sample Predictions

🔹 FAST Corner Detection

Here are some example 🔹 FAST Corner Detection results:

Sample Predictions

🔹 LBP Feature Matching

Here’s an example of feature matching using the LBP descriptor:

Sample Predictions

📜 License

This project is licensed under the MIT License.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors