Detect LBP textureπŸ”—

This tool is a compound that combines key point finder and local binary patterns to an easy-to-use keypoint and feature vector detector.


  • image: Input image.

  • scale: This parameters relates to the sizes of the detectable objects in the input image. The scale is a relative unitless value. The default value is one, which typically works reasonably well. If the size of the input image is e.g. halved or doubled, scale should be doubled or halved accordingly.

  • sensitivity: Sensitivity of keypoint filtering. The smaller the value, the fewer keypoints are generated. The value range is 0…100.

  • keypointAlgorithm: Keypoint selection algorithm. The options are Corners and Grid. Corners means that keypoints are generated at sharp edges in the image. Grid means that the keypoints form an evenly spaced grid. Grid points which are deemed uninteresting are filtered away (see sensitivity above).

  • roiRadius: Radius of the region-of-interest (ROI) around each key point on which the histogram is calculated, in pixels.

  • noiseThreshold: A threshold for noise cancellation. The bigger the threshold, the more noise is filtered out but also more local texture is ignored.

  • mode: The mode of operation of Local Binary Pattern algorithm.


  • keyPoints: The coordinates of extracted key points. A N-by-2 matrix in which each row holds the world (x, y) coordinates of a key point.

  • features: A shape context feature vector for each key point. An N-by-M matrix where M depends on the parameters of the shape context descriptor.

enum ModeπŸ”—

The operation mode of the LBP.


enumerator StandardπŸ”—

The output image has up to (2^N) different LBP codes where N is the number of neighborhood samples.

enumerator UniformπŸ”—

Only β€œuniform” binary codes are accepted.

All other pixels are mapped into a single β€œmiscellaneous” LBP code. This reduces the number of possible LBP codes significantly and increases robustness in some applications. Uniform binary codes are binary numbers that have at most two 1-to-0 or 0-to-1 transitions in their circularly interpreted binary representation. For example, the 8-bit binary number 10000011 is uniform whereas 10000101 is not.

enumerator RotationInvariantπŸ”—

Each code is rotated to its minimum value so that rotation of the image does not (ideally) change the result.

This reduces the number of codes. For example, the 8-bit codes 11100000, 01110000, and 00111000 would all become 00000111.

enumerator UniformRotationInvariantπŸ”—

Like RotationInvariant, but only uniform codes are accepted.

This results in a short, rotation invariant feature vector.

enumerator SymmetricπŸ”—

An LBP operator that compares opposing pairs of pixels in a circular neighborhood and ignores the center.

The advantage is that only N/2 comparisons per pixel are needed compared to N comparisons in the original LBP operator. Furthermore, the length of the (standard) feature vector will be (2^{N/2}) instead of (2^N), which makes classification faster. Unfortunately, there is no free lunch. The symmetric version cannot be made rotation invariant as easily as the basic LBP. Its classification accuracy may also be somewhat worse. Uniform patterns and rotation invariance lose their meaning with the symmetric LBP.