ImageStitching
ImageStitching copied to clipboard
A CV project, based on cimg library to deal with simple Image Stitching task.
trafficstars
ImageStitching

1. Requirements
- Windows10 + VS2015
- C++
- cimg library : http://www.cimg.eu/
- opencv (For extracting features of images)
2. Main Procedure
- Image feature extraction with
SIFTalgorithm - Image feature points matching with
RANSACalgorithm - Image blending with matched feature points
3. Intermediate Results
1) Image feature extraction with SIFT algorithm
relevant code:
MySift.handMySift.cpp
- results of key feature points (each with a feature descriptor of 128 dimention) of two images:

2) Image feature points matching with RANSAC algorithm
relevant code:
MyMatching.handMyMatching.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:


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

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

3) Image blending with matched feature points
relevant code:
MyBlending.handMyBlending.cpp
- First use a simple translation method:

becomes

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

- Stitched Result of two images

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