123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207 |
- #ifndef __OPENCV_SUPERRES_HPP__
- #define __OPENCV_SUPERRES_HPP__
- #include "opencv2/core.hpp"
- #include "opencv2/superres/optical_flow.hpp"
- namespace cv
- {
- namespace superres
- {
- class CV_EXPORTS FrameSource
- {
- public:
- virtual ~FrameSource();
- virtual void nextFrame(OutputArray frame) = 0;
- virtual void reset() = 0;
- };
- CV_EXPORTS Ptr<FrameSource> createFrameSource_Empty();
- CV_EXPORTS Ptr<FrameSource> createFrameSource_Video(const String& fileName);
- CV_EXPORTS Ptr<FrameSource> createFrameSource_Video_CUDA(const String& fileName);
- CV_EXPORTS Ptr<FrameSource> createFrameSource_Camera(int deviceId = 0);
-
- class CV_EXPORTS SuperResolution : public cv::Algorithm, public FrameSource
- {
- public:
-
- void setInput(const Ptr<FrameSource>& frameSource);
-
- void nextFrame(OutputArray frame);
- void reset();
-
- virtual void collectGarbage();
-
-
- virtual int getScale() const = 0;
-
- virtual void setScale(int val) = 0;
-
-
- virtual int getIterations() const = 0;
-
- virtual void setIterations(int val) = 0;
-
-
- virtual double getTau() const = 0;
-
- virtual void setTau(double val) = 0;
-
-
- virtual double getLabmda() const = 0;
-
- virtual void setLabmda(double val) = 0;
-
-
- virtual double getAlpha() const = 0;
-
- virtual void setAlpha(double val) = 0;
-
-
- virtual int getKernelSize() const = 0;
-
- virtual void setKernelSize(int val) = 0;
-
-
- virtual int getBlurKernelSize() const = 0;
-
- virtual void setBlurKernelSize(int val) = 0;
-
-
- virtual double getBlurSigma() const = 0;
-
- virtual void setBlurSigma(double val) = 0;
-
-
- virtual int getTemporalAreaRadius() const = 0;
-
- virtual void setTemporalAreaRadius(int val) = 0;
-
-
- virtual Ptr<cv::superres::DenseOpticalFlowExt> getOpticalFlow() const = 0;
-
- virtual void setOpticalFlow(const Ptr<cv::superres::DenseOpticalFlowExt> &val) = 0;
- protected:
- SuperResolution();
- virtual void initImpl(Ptr<FrameSource>& frameSource) = 0;
- virtual void processImpl(Ptr<FrameSource>& frameSource, OutputArray output) = 0;
- bool isUmat_;
- private:
- Ptr<FrameSource> frameSource_;
- bool firstCall_;
- };
-
- CV_EXPORTS Ptr<SuperResolution> createSuperResolution_BTVL1();
- CV_EXPORTS Ptr<SuperResolution> createSuperResolution_BTVL1_CUDA();
- }
- }
- #endif
|