niobures's picture
VideoCompensator
1bfe214 verified
#pragma once
#include <memory>
#include "opencv2/core.hpp"
namespace Ivs
{
struct TInputImageMeta
{
cv::Mat matImage;
std::vector<cv::Rect> 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<ISequenceCompensator> PtrSequenceCompensator;
PtrSequenceCompensator CreateSequenceCompensator();
}