Skip to content
A CV project, based on cimg library to deal with simple Image Stitching task.
C++
Branch: master
Clone or download
Latest commit 8cb1f1a Nov 2, 2018

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
ImageStitching
figures Uploaded all files Nov 2, 2018
.gitignore
README.md Update README.md Nov 2, 2018

README.md

ImageStitching

Image text Image text

1. Requirements

  • Windows10 + VS2015
  • C++
  • cimg library : http://www.cimg.eu/
  • opencv (For extracting features of images)

2. Main Procedure

  1. Image feature extraction with SIFT algorithm
  2. Image feature points matching with RANSAC algorithm
  3. Image blending with matched feature points

3. Intermediate Results

1) Image feature extraction with SIFT algorithm

relevant code: MySift.h and MySift.cpp

  • results of key feature points (each with a feature descriptor of 128 dimention) of two images:

Image text

2) Image feature points matching with RANSAC algorithm

relevant code: MyMatching.h and MyMatching.cpp

  • First do a coarse-grained feature points matching by calculating the distance of two feature descriptors, and regard the two points as matched if the distance is lower than some threshold. The matched points are lined together as shown below:

Image text

Image text

  • Clearly there exist many outliers, which can be removed by RANSAC algorithm as shown below. The algorithm works on selecting the main transforming direction with most inliers:

Image text

  • Removed the outliers which are conflicted with the selected transforming direction:

Image text

3) Image blending with matched feature points

relevant code: MyBlending.h and MyBlending.cpp

  • First use a simple translation method:

Image text

becomes

Image text

  • Then apply a RGB interpolation at fusion region A/B:

Image text

  • Stitched Result of two images

Image text

  • Repeat this procedure and get the stitched Result of all images

Image text

You can’t perform that action at this time.