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:
- Local Binary Patterns fundamentals - LBP definition and parameters.
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.