Go to the documentation of this file.00001
00009 #ifndef IMGFEATURES_H
00010 #define IMGFEATURES_H
00011
00012 #include <cxcore.h>
00013
00015 enum feature_type
00016 {
00017 FEATURE_OXFD,
00018 FEATURE_LOWE,
00019 };
00020
00022 enum feature_match_type
00023 {
00024 FEATURE_FWD_MATCH,
00025 FEATURE_BCK_MATCH,
00026 FEATURE_MDL_MATCH,
00027 };
00028
00029
00030
00031 #define FEATURE_OXFD_COLOR CV_RGB(255,255,0)
00032 #define FEATURE_LOWE_COLOR CV_RGB(255,0,255)
00033
00035 #define FEATURE_MAX_D 128
00036
00037
00044 struct feature
00045 {
00046 double x;
00047 double y;
00048 double a;
00049 double b;
00050 double c;
00051 double scl;
00052 double ori;
00053 int d;
00054 double descr[FEATURE_MAX_D];
00055 int type;
00056 int klass;
00057 struct feature* fwd_match;
00058 struct feature* bck_match;
00059 struct feature* mdl_match;
00060 CvPoint2D64f img_pt;
00061 CvPoint2D64f mdl_pt;
00062 void* feature_data;
00063 };
00064
00065
00083 extern int import_features( char* filename, int type, struct feature** feat );
00084
00085
00096 extern int export_features( char* filename, struct feature* feat, int n );
00097
00098
00106 extern void draw_features( IplImage* img, struct feature* feat, int n );
00107
00108
00118 extern double descr_dist_sq( struct feature* f1, struct feature* f2 );
00119
00120
00121 #endif