- Windows10 + VS2015
- C++
- cimg library : http://www.cimg.eu/
- opencv (For extracting features of images)
- Image feature extraction with
SIFT
algorithm - Image feature points matching with
RANSAC
algorithm - Image blending with matched feature points
relevant code:
MySift.h
andMySift.cpp
- results of key feature points (each with a feature descriptor of 128 dimention) of two images:
relevant code:
MyMatching.h
andMyMatching.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
RANSAC
algorithm 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:
relevant code:
MyBlending.h
andMyBlending.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