Simple image stitching algorithm based on SIFT, homography, KNN and Ransac in Python and OpenCV
Clone or download
Latest commit e11056c Oct 15, 2018
Type Name Latest commit message Commit time
Failed to load latest commit information.
images Add files via upload Oct 15, 2018 Add files via upload Oct 15, 2018 Update Oct 15, 2018
image_stitching.pdf Add files via upload Oct 15, 2018


Simple image stitching algorithm using SIFT, homography, KNN and Ransac in Python. For full details and explanations, you're welcome to read image_stitching.pdf.

The project is to implement a featured based automatic image stitching algorithm. When we input two images with overlapped fields, we expect to obtain a wide seamless panorama.

We use scale invariant features transform(SIFT) to extract local features of the input images, K nearest neighbors algorithms to match these features and Random sample consensus(Ransac) to calculate the homograph matrix, which will be used for image warping. Finally we apply a weighted matrix as a mask for image blending.


  • Python 2 or 3
  • OpenCV 3


python Image_Stitching [/PATH/img1] [/PATH/img2]


Input images



Output image


other examples

Room: room

Another building: This is a stitching of three related images. It doesn't work so well. Trying to improve. gym