Skip to content

AmiraKhalid04/PanoStitch

 
 

Repository files navigation

PanoStitch

A modular panoramic image stitching pipeline featuring both classic algorithms and modern Deep Learning integrations.

Overview

PanoStitch is an intelligent panoramic image stitching system that seamlessly combines multiple overlapping images into a single high-resolution panorama. Our modular architecture supports both traditional computer vision techniques and cutting-edge deep learning approaches, offering flexibility and robustness for various stitching scenarios.

Input Images

Image 1 Image 2
Input Image 1 Input Image 2

Result Panorama

Stitched Panorama Result

Block Diagram

This diagram illustrates the complete pipeline architecture of our panoramic stitching system:

PanoStitch Pipeline Architecture

💡 Test Cases: You can find 8 comprehensive test cases with their stitched panorama results in the imgs/ folder (bicycle, boat, clock, dam, flower, mountain, river, tree).

Features

  • Feature Detection: Custom Harris Corner Detector or SIFT.
  • Feature Description: Custom 128D HOG-based descriptors.
  • Matching: Vectorized Brute-force matcher with Lowe's ratio test.
  • Deep Learning: Integration with DISK + LightGlue for robust matching.
  • Homography: RANSAC with Direct Linear Transform (DLT).
  • Processing: Gain compensation for exposure correction and weighted blending.

Installation

pip install -r requirements.txt

Usage

Basic Usage (Recommended)

Stitch all images in a directory using the standard SIFT pipeline:

python panostitch.py imgs/boat/

Comparing Methods

1. Custom "From Scratch" Implementation (Harris + HOG Descriptors)

python panostitch.py imgs/boat/ --harris

2. Deep Learning Pipeline (DISK + LightGlue)

python panostitch.py imgs/boat/ --dnn

Contributors

Amira Khalid Youssef Noser Hussein Abdulrahman Medhat
Amira Khalid Youssef Noser Hussein Mohammed Abdulrahman Medhat

About

Automated panoramic image stitching using classical computer vision. Combines multiple overlapping images into seamless wide-angle panoramas using Harris Corner Detection, HOG descriptors, Lowe's Ratio Test, RANSAC, Direct Linear Transform (DLT), inverse warping with bilinear interpolation, and linear alpha blending.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Python 71.0%
  • TypeScript 20.0%
  • HTML 7.1%
  • Shell 1.7%
  • JavaScript 0.2%