Documentation>C API
Functions
vlad.h File Reference

VLAD encoding (Vector of Locally Aggregated Descriptors (VLAD) encoding) More...

`#include "generic.h"`

## Macros

VLAD options
#define | VL_VLAD_FLAG_NORMALIZE_COMPONENTS (0x1 << 0)
| Normalize each VLAD component individually.
#define | VL_VLAD_FLAG_SQUARE_ROOT (0x1 << 1)
| Use signed squared-root.
#define | VL_VLAD_FLAG_UNNORMALIZED (0x1 << 2)
| Do not globally normalize the VLAD descriptor.
#define | VL_VLAD_FLAG_NORMALIZE_MASS (0x1 << 3)
| Normalize each component by the number of features assigned to it.

## Functions

void | vl_vlad_encode (void *enc, vl_type dataType, void const *means, vl_size dimension, vl_size numClusters, void const *data, vl_size numData, void const *assignments, int flags)
| VLAD encoding of a set of vectors. More...

## Detailed Description

Author
  David Novotny
  Andrea Vedaldi

See also
  Vector of Locally Aggregated Descriptors (VLAD) encoding

## Function Documentation

## ◆ vl_vlad_encode()

void vl_vlad_encode | ( | void * | enc,
|  | vl_type | dataType,
|  | void const * | means,
|  | vl_size | dimension,
|  | vl_size | numClusters,
|  | void const * | data,
|  | vl_size | numData,
|  | void const * | assignments,
|  | int | flags
| ) |  |

Parameters

  enc | output VLAD encoding (out).
  dataType | the type of the input data (VL_TYPE_DOUBLE or VL_TYPE_FLOAT).
  numData | number of data vectors to encode.
  means | cluster means.
  numClusters | number of clusters.
  data | the data vectors to encode.
  dimension | dimensionality of the data.
  assignments | data to cluster soft assignments.
  flags | options.

enc is the VLAD vector of size numClusters by dimension. means is a matrix with numClusters columns and dimension rows. data is the matrix of vectors to be encoded, with dimension rows and numData columns. assignments is a matrix with numClusters rows and numData columns. All the matrices should be stored in column-major order.

flag allows controlling further options: VL_VLAD_FLAG_NORMALIZE_COMPONENTS, VL_VLAD_FLAG_SQUARE_ROOT, VL_VLAD_FLAG_UNNORMALIZED, and VL_VLAD_FLAG_NORMALIZE_MASS.

See also
  Vector of Locally Aggregated Descriptors (VLAD) encoding