fill(nfeatures);
}
-void sft::ICFFeaturePool::preprocess(const Mat& frame, Mat& integrals) const
+void sft::ICFFeaturePool::preprocess(cv::InputArray frame, cv::OutputArray integrals) const
{
preprocessor.apply(frame, integrals);
}
public:
Preprocessor() {}
- void apply(const cv::Mat& frame, cv::Mat& integrals) const
+ void apply(cv::InputArray _frame, cv::OutputArray _integrals) const //const cv::Mat& frame, cv::Mat& integrals
{
- CV_Assert(frame.type() == CV_8UC3);
+ CV_Assert(_frame.type() == CV_8UC3);
+
+ cv::Mat frame = _frame.getMat();
+ cv::Mat& integrals = _integrals.getMatRef();
int h = frame.rows;
int w = frame.cols;
virtual int size() const { return (int)pool.size(); }
virtual float apply(int fi, int si, const cv::Mat& integrals) const;
- virtual void preprocess(const cv::Mat& frame, cv::Mat& integrals) const;
+ virtual void preprocess(cv::InputArray _frame, cv::OutputArray _integrals) const;
virtual void write( cv::FileStorage& fs, int index) const;
virtual ~ICFFeaturePool();
virtual float apply(int fi, int si, const Mat& integrals) const = 0;
virtual void write( cv::FileStorage& fs, int index) const = 0;
- virtual void preprocess(const Mat& frame, Mat& integrals) const = 0;
+ virtual void preprocess(InputArray frame, OutputArray integrals) const = 0;
virtual ~FeaturePool();
};