Go to the documentation of this file.00001
00006
00007
00008
00009
00010
00011
00012
00013
00014 #ifndef VL_HOG_H
00015 #define VL_HOG_H
00016
00017 #include "generic.h"
00018
00019 enum VlHogVariant_ { VlHogVariantDalalTriggs, VlHogVariantUoctti } ;
00020
00021 typedef enum VlHogVariant_ VlHogVariant ;
00022
00023 struct VlHog_
00024 {
00025 VlHogVariant variant ;
00026 vl_size dimension ;
00027 vl_size numOrientations ;
00028 vl_bool transposed ;
00029 vl_bool useBilinearOrientationAssigment ;
00030
00031
00032 vl_index * permutation ;
00033
00034
00035 float * glyphs ;
00036 vl_size glyphSize ;
00037
00038
00039 float * orientationX ;
00040 float * orientationY ;
00041
00042
00043 float * hog ;
00044 float * hogNorm ;
00045 vl_size hogWidth ;
00046 vl_size hogHeight ;
00047 } ;
00048
00049 typedef struct VlHog_ VlHog ;
00050
00051 VL_EXPORT VlHog * vl_hog_new (VlHogVariant variant, vl_size numOrientations, vl_bool transposed) ;
00052 VL_EXPORT void vl_hog_delete (VlHog * self) ;
00053 VL_EXPORT void vl_hog_process (VlHog * self,
00054 float * features,
00055 float const * image,
00056 vl_size width, vl_size height, vl_size numChannels,
00057 vl_size cellSize) ;
00058
00059 VL_EXPORT void vl_hog_put_image (VlHog * self,
00060 float const * image,
00061 vl_size width, vl_size height, vl_size numChannels,
00062 vl_size cellSize) ;
00063
00064 VL_EXPORT void vl_hog_put_polar_field (VlHog * self,
00065 float const * modulus,
00066 float const * angle,
00067 vl_bool directed,
00068 vl_size width, vl_size height, vl_size cellSize) ;
00069
00070 VL_EXPORT void vl_hog_extract (VlHog * self, float * features) ;
00071 VL_EXPORT vl_size vl_hog_get_height (VlHog * self) ;
00072 VL_EXPORT vl_size vl_hog_get_width (VlHog * self) ;
00073
00074
00075 VL_EXPORT void vl_hog_render (VlHog const * self,
00076 float * image,
00077 float const * features,
00078 vl_size width,
00079 vl_size height) ;
00080
00081 VL_EXPORT vl_size vl_hog_get_dimension (VlHog const * self) ;
00082 VL_EXPORT vl_index const * vl_hog_get_permutation (VlHog const * self) ;
00083 VL_EXPORT vl_size vl_hog_get_glyph_size (VlHog const * self) ;
00084
00085 VL_EXPORT vl_bool vl_hog_get_use_bilinear_orientation_assignments (VlHog const * self) ;
00086 VL_EXPORT void vl_hog_set_use_bilinear_orientation_assignments (VlHog * self, vl_bool x) ;
00087
00088
00089 #endif