#pragma once #include #include // std::pair #include // all opencv header #include "hdrplus/burst.h" namespace hdrplus { class align { public: align() = default; ~align() = default; /** * @brief Run alignment on burst of images * * @param burst_images collection of burst images * @param aligements alignment in pixel value pair. * Outer most vector is per alternative image. * Inner most two vector is for horizontle & verticle tiles */ void process( const hdrplus::burst& burst_images, \ std::vector>>>& aligements ); private: // From original image to coarse image const std::vector inv_scale_factors = { 1, 2, 4, 4 }; const std::vector distances = { 1, 2, 2, 2 }; // L1 / L2 distance const std::vector search_radious = { 1, 4, 4, 4 }; const std::vector tile_sizes = { 16, 16, 16, 8 }; const int num_levels = 4; }; } // namespace hdrplus