#pragma once #ifndef _FEATURE_H_ #define _FEATURE_H_ #include #include "oc_array.h" #include "oc_image.h" #include "oc_point.h" namespace opencorr { class Feature2D { protected: Image2D* ref_img = nullptr; Image2D* tar_img = nullptr; public: virtual ~Feature2D() = default; void setImages(Image2D& ref_img, Image2D& tar_img); virtual void prepare() = 0; virtual void compute() = 0; }; class Feature3D { protected: Image3D* ref_img = nullptr; Image3D* tar_img = nullptr; public: virtual ~Feature3D() = default; void setImages(Image3D& ref_img, Image3D& tar_img); virtual void prepare() = 0; virtual void compute() = 0; }; }//namespace opencorr #endif //_FEATURE_H_