#pragma once #include #include "opencv2/core.hpp" namespace Ivs { struct TInputImageMeta { cv::Mat matImage; std::vector vecObjRegions; }; class ISequenceCompensator { public: virtual ~ISequenceCompensator() = default; virtual void SetInputMeta(const TInputImageMeta& tInput) = 0; virtual void Process() = 0; virtual bool IsBackgroundRecover() = 0; virtual cv::Mat GetBackgroundImage() = 0; }; typedef std::unique_ptr PtrSequenceCompensator; PtrSequenceCompensator CreateSequenceCompensator(); }