xpano
xpano copied to clipboard
Automated photo stiching tool. Lets you import a directory of images and then export the autodetected panoramas.
xpano
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
Built with
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.
Demo
Check out the demo on YouTube. This is how the app looks after importing a directory of 200 images.
Installation
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
Command line
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]
Development
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.
NixOS
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.
MacOS
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
Ubuntu 22.04
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
Ubuntu 20.04
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
Windows
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
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.
License
Distributed under the GPL-3.0-or-later license. See the full license text for more information.
Contact
Tomas Krupka - krupkat.cz