SLAMflex SE  0.1.0
SLAMflex provides detection and tracking of dominant planes for smartphone devices. This plane can then be used to show AR content relative to the plane orientation. The detection of plane is performed in the field of view of the smartphone camera. In subsequent frames it is tracked. The interface returns the plane position and orientation.
Classes | Namespaces | Functions
utility.h File Reference
#include "image.h"
#include "is_pod.h"
#include "pixel_traits.h"
#include "convert_pixel_types.h"

Go to the source code of this file.

Classes

struct  CVD::ZeroPixel< T, pod >
 
struct  CVD::ZeroPixel< T, true >
 
struct  CVD::ZeroPixels< T, pod >
 
struct  CVD::ZeroPixels< T, true >
 
struct  CVD::SumSquaredDifferences< R, D, T >
 

Namespaces

 CVD
 

Functions

template<class S , class T >
void CVD::copy (const BasicImage< S > &in, BasicImage< T > &out, ImageRef size=ImageRef(-1,-1), ImageRef begin=ImageRef(), ImageRef dst=ImageRef())
 
template<class T >
void CVD::zeroPixel (T &pixel)
 
template<class T >
void CVD::zeroPixels (T *pixels, int count)
 
template<class T >
void CVD::zeroBorders (BasicImage< T > &I)
 Set the one-pixel border (top, bottom, sides) of an image to zero values. More...
 
template<class T >
void CVD::fillBorders (SubImage< T > &im, const T pix, int w=1)
 
template<class A , class B >
void CVD::differences (const A *a, const A *b, B *diff, size_t count)
 
template<class A , class B , class C >
void CVD::add_multiple_of_sum (const A *a, const A *b, const C &c, B *out, size_t count)
 
template<class A , class B , class C >
void CVD::assign_multiple (const A *a, const B &c, C *out, size_t count)
 
template<class T >
double CVD::inner_product (const T *a, const T *b, size_t count)
 
template<class T1 , class T2 >
void CVD::square (const T1 *in, T2 *out, size_t count)
 
template<class T1 , class T2 >
void CVD::subtract_square (const T1 *in, T2 *out, size_t count)
 
template<class T >
double CVD::sum_squared_differences (const T *a, const T *b, size_t count)
 
template<int bytes>
bool CVD::is_aligned (const void *ptr)
 Check if the pointer is aligned to the specified byte granularity. More...
 
template<>
bool CVD::is_aligned< 8 > (const void *ptr)
 
template<>
bool CVD::is_aligned< 16 > (const void *ptr)
 
template<int A, class T >
size_t CVD::steps_to_align (const T *ptr)
 Compute the number of pointer increments necessary to yield alignment of A bytes. More...
 
void CVD::differences (const byte *a, const byte *b, short *diff, unsigned int size)
 
void CVD::differences (const short *a, const short *b, short *diff, unsigned int size)
 
void CVD::differences (const float *a, const float *b, float *diff, size_t size)
 
void CVD::add_multiple_of_sum (const float *a, const float *b, const float &c, float *out, size_t count)
 
void CVD::assign_multiple (const float *a, const float &c, float *out, size_t count)
 
double CVD::inner_product (const float *a, const float *b, size_t count)
 
double CVD::sum_squared_differences (const float *a, const float *b, size_t count)
 
void CVD::square (const float *in, float *out, size_t count)
 
void CVD::subtract_square (const float *in, float *out, size_t count)
 
void CVD::differences (const int32_t *a, const int32_t *b, int32_t *diff, size_t size)
 
void CVD::differences (const double *a, const double *b, double *diff, size_t size)
 
void CVD::add_multiple_of_sum (const double *a, const double *b, const double &c, double *out, size_t count)
 
void CVD::assign_multiple (const double *a, const double &c, double *out, size_t count)
 
double CVD::inner_product (const double *a, const double *b, size_t count)
 
double CVD::sum_squared_differences (const double *a, const double *b, size_t count)
 
long long CVD::sum_squared_differences (const byte *a, const byte *b, size_t count)