hog.h
Go to the documentation of this file.
00001 
00006 /*
00007  Copyright (C) 2007-12 Andrea Vedaldi and Brian Fulkerson.
00008  All rights reserved.
00009 
00010  This file is part of the VLFeat library and is made available under
00011  the terms of the BSD license (see the COPYING file).
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   /* left-right flip permutation */
00032   vl_index * permutation ;
00033 
00034   /* glyphs */
00035   float * glyphs ;
00036   vl_size glyphSize ;
00037 
00038   /* helper vectors */
00039   float * orientationX ;
00040   float * orientationY ;
00041 
00042   /* buffers */
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 /* VL_HOG_H */
00089 #endif


libvlfeat
Author(s): Andrea Vedaldi
autogenerated on Thu Jun 6 2019 20:25:51