#ifndef vision_INC #define vision_INC #include #include #include #include #include #include "camera.h" #include "types.h" using cv::Mat; using cv::RotatedRect; using cv::Rect; using Eigen::Vector2d; using Eigen::Vector3d; using Eigen::Matrix; using std::vector; /* * ===================================================================================== * Class: Vision * Description: * ===================================================================================== */ class Vision { public: /* ==================== LIFECYCLE ======================================= */ Vision (); /* constructor */ /* ==================== ACCESSORS ======================================= */ void drawMeasurements( const vector &z, const Camera &cam, const cv::Scalar &colsrc, const cv::Scalar &colref, bool drawEllipse); void show(); /* ==================== MUTATORS ======================================= */ /* ==================== OPERATORS ======================================= */ void open(const char *fn, const Camera &cam); void acquireFeatures(const Camera &cam, vector &z, const vector &curz); void getTemplate( Mat &p, const Vector3d &pt); void measure( const Camera &cam, const measurement_t &zin, measurement_t &zout); void measurements( const Camera &cam, const vector &zin, vector &zout); void searchRegion( const Camera &cam, const measurement_t &z, cv::RotatedRect &rr); protected: /* ==================== METHODS ======================================= */ /* ==================== DATA MEMBERS ======================================= */ private: /* ==================== METHODS ======================================= */ /* ==================== DATA MEMBERS ======================================= */ Mat original, gray, display; static int _id; }; /* ----- end of class Vision ----- */ #endif /* ----- #ifndef vision_INC ----- */