Xpano is a tool for panorama stitching with focus on simplicity and ease of use, major features include:
- Auto detection of groups of images that can be stitched into panoramas
- Preview + zoom + pan of the computed panoramas
- Crop mode, boundary auto fill, selectable projection types
- Projection adjustments: pitch, yaw and roll
- Export of full resolution panoramas including exif metadata
The app uses the excellent OpenCV library for image manipulation and its stitching module for computing the panoramas.
Other dependencies include imgui, SDL, spdlog, Catch2, nativefiledialog-extended, alpaca, thread-pool, expected, Exiv2, multiblend, SIMDe and the Google Noto fonts.
Check out the demo on YouTube.
Install directly from Flathub or the Microsoft Store:
Get additional packages:
- Windows and MacOS executables from GitHub
- Ubuntu packages from my Launchpad PPA
- Nix packages from nixpkgs
Xpano has basic CLI support, you can either run it fully automatic in the command line, or launch to gui with the --gui
flag.
Xpano [<input files>] [--output=<path>] [--gui] [--help] [--version]
The project can be built by running a single script from the misc/build
directory. You will need at least CMake 3.21, git and a compiler with C++20 support.
Run the build script from the root of the repository:
nix-shell misc/build/nix/default.nix
./misc/build/build-nixos.sh
Possible issues when running - troubleshooting.
Library prerequisites: SDL2, spdlog, catch2
Install with brew: brew install sdl2 spdlog catch2
Install with macports: sudo port install libsdl2 spdlog catch2
(for details: #96)
Run the build script from the root of the repository:
./misc/build/build-macos.sh
Library prerequisites:
sudo apt install libgtk-3-dev libopencv-dev libsdl2-dev libspdlog-dev
Run the build script from the root of the repository:
./misc/build/build-ubuntu-22.sh
Build works with g++-10
from the system repository. You will have to install a more recent version of CMake, e.g. from Kitware.
Library prerequisites:
sudo apt install libgtk-3-dev
Run the build script from the root of the repository:
./misc/build/build-ubuntu-20.sh
Open the "Developer PowerShell for VS 2022" profile in Windows Terminal and run the build script from the root of the repository:
./misc/build/build-windows-latest.ps1
Contributions are more than welcome, there is a couple of ideas for enhancements in open issues which you could take on - if you start working on one of them, please add a comment there.
Please check the contribution guidelines for further details regarding formatting and coding style.
Distributed under the GPL-3.0-or-later license. See the full license text for more information.
Tomas Krupka - krupkat.cz