00001 // This is oxl/mvl/HMatrix2DSimilarityCompute.h 00002 #ifndef HMatrix2DSimilarityCompute_h_ 00003 #define HMatrix2DSimilarityCompute_h_ 00004 #ifdef VCL_NEEDS_PRAGMA_INTERFACE 00005 #pragma interface 00006 #endif 00007 //: 00008 // \file 00009 // 00010 // HMatrix2DSimilarityCompute contains a linear method to compute 00011 // a 2D similarity transformation. The H returned is such that 00012 // \f\[ x_2 \sim H x_1 \f\] 00013 // 00014 // \author 00015 // David Capel, Oxford RRG, 13 May 98 00016 // \verbatim 00017 // Modifications: 00018 // FSM 23-08-98 made modification as described in HMatrix2DAffineCompute.h 00019 // \endverbatim 00020 00021 #include <mvl/HMatrix2DCompute.h> 00022 00023 class HMatrix2DSimilarityCompute : public HMatrix2DCompute 00024 { 00025 public: 00026 HMatrix2DSimilarityCompute(void); 00027 ~HMatrix2DSimilarityCompute(); 00028 00029 // left in for capes : 00030 static HMatrix2D compute(PairMatchSetCorner const& matches); 00031 static HMatrix2D compute(PointArray const& p1, PointArray const& p2); 00032 int minimum_number_of_correspondences() const { return 2; } 00033 protected: 00034 bool compute_p(PointArray const&, PointArray const&, HMatrix2D *); 00035 private: 00036 static bool tmp_fun(PointArray const&, PointArray const&, HMatrix2D*); 00037 }; 00038 00039 #endif // HMatrix2DSimilarityCompute_h_