00001 /******************************************************************************* 00002 * CvHomography.h 00003 * 00004 * (C) 2007 AG Aktives Sehen <agas@uni-koblenz.de> 00005 * Universitaet Koblenz-Landau 00006 *******************************************************************************/ 00007 00008 #ifndef Homography_H 00009 #define Homography_H 00010 00011 #include "Point2D.h" 00012 #include <vector> 00013 00019 class Homography 00020 { 00021 public: 00022 00023 Homography( ) {} 00024 00025 Homography( double homMat[9] ); 00026 00027 Homography( const Homography& other ); 00028 00029 Homography& operator=( const Homography& other ); 00030 00032 Point2D transform ( Point2D point2 ); 00033 00037 void transform ( std::vector<Point2D>& points2, std::vector<Point2D> &projPoints ); 00038 00040 bool checkValidity ( std::vector<Point2D>& points2 ); 00041 00042 std::string toString(); 00043 00044 // private: // FIXME made public to create ROS message 00045 00046 double m_HomMat[9]; 00047 }; 00048 00049 #endif