Automatically stiching several individual images to generate a panorama image. Follow the routine described in the paper Automatic Panoramic Image Stitching using Invariant Features. For more details about theory and practice of panorama image stitching including algorithms, results and analysis, please read my post. Any feedback is welcomed!
Implement with The CImg Library and VLFeat open source library in C++ language.
Test on Visual Studio 2015, C++11. You can also compile in Linux with linuxbuild.sh.
Images should be of bmp
format(much easier to convert by ImageMagick).
Download and unpack the latest VLFeat binary distribution (I used VLFeat 0.9.20 binary package on May 11, 2017) in a directory of your choice (e.g. F:\vlfeat-0.9.20-bin
)
For Mac users, read this Apple X-Code tutorial.
These instructions show how to setup a basic VLFeat project with Visual Studio 2015 on Windows 10 (64 bit). Instructions for other versions of Visual Studio and Windows should be similar.
F:\vlfeat-0.9.20-bin\vlfeat-0.9.20\bin\win64
to Path
, where win64
depends on your architecture.File > New > Project
and choose General > Empty Project
.Project > Properties
to open Property Pages. Choose Configuration > All Configurations
.Configuration Properties > C/C++ > General
and add the root path of the VLFeat folder (e.g. F:\vlfeat-0.9.20-bin\vlfeat-0.9.20
) to Additional Include Directories
.Configuration Properties > Linker > General
and add the bin/win32
folder (even if your architecture is win64) (e.g. F:\vlfeat-0.9.20-bin\vlfeat-0.9.20\bin\win32
) to Additional Library Directories
. Configuration Properties > Linker > Input
and add vl.lib
to Additional Dependencies
. vl.dll
file in bin/win32
folder (e.g. F:\vlfeat-0.9.20-bin\vlfeat-0.9.20\bin\win32
) to your VS project's debug or release folder (e.g. C:\Users\HYPJUDY\Documents\Visual Studio 2015\Projects\PanoramaImageStitching\Debug
).Reference: Using from C and Microsoft Visual Studio tutorial.