Skip to content

EthanGreen75/panorama

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Panorama

Introduction

This is an image stitching program written in C++11.

Compile Dependencies:

Compile:

$ make

Config:

Various parameters are saved in src/config.cfg

Without special needs, we only have to set PANO, TRANS, CROP.

The program does some extra work to optimize the output when knowing the input pictures were taken by a camera moving in pure translation or pure rotation.

  • PANO = 1 indicates that the camera moved in pure rotation. A panorama is expected to be the output;
  • TRANS = 1 indicates that the camera moved in pure translation. Result will be better than one without this option set;
  • CROP decides whether to crop the final image to a rectangular;

Run:

$ ./main <file1> <file2> ...

The output file is out.png.

Usually, input images should not exeeds 20(files) x 1500(pixels) x 1000(pixels), since your computer may not have enough memory.

The input file names given in the command line need to be well ordered, to make sure the adjacent images can be stitched together.

Examples:

Zijing Apartment in Tsinghua University: dorm

Myselves: myself

Zijing Playground in Tsinghua University: planet

For more examples, see results.

Algorithms

I use SIFT for feature detection and RANSAC to estimate transformation.

For more details, please see readme.pdf.

About

Image Stitching using SIFT Feature

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 77.1%
  • TeX 16.8%
  • Python 4.1%
  • Makefile 2.0%