1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- #include <opencv2/opencv.hpp>
- #include <opencv2/core.hpp>
- #include <opencv2/imgcodecs.hpp>
- #include <opencv2/video/tracking.hpp>
- #include <opencv2/videostab/motion_stabilizing.hpp>
- #include <lensfun.h>
- #include "postprocess.h"
- using namespace std;
- using namespace cv;
- #ifndef POSTPROCESSD__STACKERCPP_H
- #define POSTPROCESSD__STACKERCPP_H
- class Stacker {
- public:
- Stacker(bool verbose, struct Imagedata imagedata);
- void
- add_frame(unsigned char *data, int width, int height);
- char *
- get_result();
- char *
- postprocess(unsigned char *data, int width, int height);
- int
- get_width();
- int
- get_height();
- private:
- bool verbose;
- int layers;
- cv::Mat reference;
- cv::Mat stacked;
- clock_t stopwatch;
- int export_width;
- int export_height;
- float trimratio;
- // Lensfun
- struct Imagedata imagedata;
- struct lfDatabase *ldb;
- Mat
- postprocess_mat(Mat input);
- void
- stopwatch_start();
- void
- stopwatch_mark(const char *name);
- };
- #endif //POSTPROCESSD__STACKERCPP_H
|