00001 /* 00002 * affine_transform.h 00003 * online_patch 00004 * 00005 * Created by Victor Eruhimov on 5/16/09. 00006 * Copyright 2009 Argus Corp. All rights reserved. 00007 * 00008 */ 00009 00010 #if !defined(_AFFINE_TRANSFORM_H) 00011 #define _AFFINE_TRANSFORM_H 00012 00013 #include <vector> 00014 00015 #include <cv.h> 00016 00017 #include "outlet_pose_estimation/detail/features.h" 00018 #include "outlet_pose_estimation/detail/one_way_descriptor_base.h" 00019 00020 void FindAffineTransform(const std::vector<CvPoint>& p1, const std::vector<CvPoint>& p2, CvMat* affine); 00021 void MapVectorAffine(const std::vector<CvPoint>& p1, std::vector<CvPoint>& p2, CvMat* transform); 00022 void MapFeaturesAffine(const std::vector<feature_t>& features, std::vector<feature_t>& mapped_features, CvMat* transform); 00023 float CalcAffineReprojectionError(const std::vector<CvPoint>& p1, const std::vector<CvPoint>& p2, CvMat* transform); 00024 00025 00026 #endif //_AFFINE_TRANSFORM_H