/burst-align

Course project for CS270: Digital Image Processing.

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

Quick Alignment for Burst Photography

This repository contains a multi-threading implementation of L2/L1 mixed alignment algorithm described in Hasinoff et. al, HDR+, SIGGRAPH'16.

Author: Rundong Li <lird@shanghaitech.edu.cn>

Get Started

Note this implementation gets NO WARRANTY of running on Windows platform. MacOS with LLVM >= 6.0 or Ubuntu with GCC >= 4.9 is required.

  1. If you're using MacOS:

    Install LLVM with:

    brew install llvm
  2. Install required Python extensions by pip or anaconda, note that Python >= 3.6 is required.

    conda install -r requirements.txt

    Then you may build C- extensions by

    ./build.sh
  3. Create a folder data and copy your burst into it, execute

    python faster_align_cpu.py

    then you should find the results plotted in data/demo.png.

    Note: the demo.py is just for illustrating the algorithms we used, itself can work too, but very slow.

  4. To run tests for C- extensions, execute

    pytest test

    under project folder.

License

This work is licensed under GNU GPLv3, see LICENSE for details.