MarkMoHR / ImageStitching

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

Home Page:https://blog.csdn.net/qq_33000225/article/details/70906106

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

About

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

https://blog.csdn.net/qq_33000225/article/details/70906106


Languages

Language:C++ 100.0%Language:C 0.0%