Local Binary Patterns (LBP) descriptor

lbp.h implements the Local Binary Pattern (LBP) feature descriptor. The LBP descriptor [22] is a histogram of quantized LBPs pooled in a local image neighborhood. Getting started with LBP demonstrates how to use the C API to compute the LBP descriptors of an image. For further details refer to:

# Getting started with LBP

To compute the LBP descriptor of an image, start by creating a VlLbp object instance by specifying the type of LBP quantization. Given the configure LBP object, then call vl_lbp_process to process a grayscale image and obtain the corresponding LBP descriptors. This function expects as input a buffer large enough to contain the computed features. If the image has size width x height, there are exactly floor(width/cellSize) x floor(height/cellSize) cells, each of which has a histogram of LBPs of size dimension (as returned by vl_lbp_get_dimension). Thus the required buffer has size floor(width/cellSize) x floor(height/cellSize) x dimension.

VlLbp supports computing transposed LPBs as well. A transposed LBP is the LBP obtained by transposing the input image (regarded as a matrix). This functionality can be useful to compute the features when the input image is stored in column major format (e.g. MATLAB) rather than row major.