#pragma once #include #include // all opencv header #include "hdrplus/burst.h" #include "hdrplus/align.h" #include "hdrplus/merge.h" #include "hdrplus/finish.h" namespace hdrplus { class hdrplus_pipeline { private: hdrplus::align align_module; hdrplus::merge merge_module; hdrplus::finish finish_module; public: void run_pipeline( const std::string& burst_path, const std::string& reference_image_path ); bool run_pipeline( const std::vector& burst_paths, int reference_image_index, cv::Mat& finalImg ); bool run_pipeline( const std::vector >& burst_contents, int reference_image_index, cv::Mat& finalImg ); bool run_pipeline( const std::vector >& burst_contents, int reference_image_index, cv::Mat& finalImg ); hdrplus_pipeline() = default; ~hdrplus_pipeline() = default; }; } // namespace hdrplus