NativeSticher is a C library for multiband image merging using the Laplacian blending technique. It enables seamless blending of overlapping images, useful for applications such as panorama generation, image stitching, and exposure fusion. Only supports JPEGS for now.
A helper script (build.sh) is included to streamline the build process for different platforms.
Use this script to build or clean the project easily.
- Build for macOS:
./build.sh build macos
- Build for ios:
./build.sh build ios
To verify the functionality of NativeSticher, follow the instructions below based on your setup.
If you have libturbojpeg installed, compile and run the test with the following command:
gcc-14 -O3 -mavx2 -mfma -I simde/ -pthread -fsanitize=address -g -o stitch \
-I../ -I/usr/local/include \
-L/usr/local/lib -lturbojpeg \
stitch.c ../blending.c ../jpeg.c ../image_operations.c ../utils.c && time ./stitchIf you have manually built the NativeSticher library, use the following command to test it:
gcc-14 -pthread -fsanitize=address -g -o stitch \
-I../installs/native-stitcher/macos/x86_64/include \
-L../installs/native-stitcher/macos/x86_64/lib \
-Wl,-rpath,../installs/native-stitcher/macos/x86_64/lib \
-lNativeSticher stitch.c && ./stitchThe commands above assume a mac as working machine.