Back to Aurora Vision Library website

You are here: Start » Function Reference » Computer Vision » Texture Analysis » LinearBinaryPattern

LinearBinaryPattern


Header: AVL.h
Namespace: avl
Module: FoundationBasic

Creates histogram and map of Linear Binary Patterns (with radius 1 and size 8) of provided image.

Syntax

C++
C#
 
void avl::LinearBinaryPattern
(
	const avl::Image& inImage,
	atl::Optional<const avl::Region&> inRoi,
	avl::LinearBinaryPatternType::Type inPatternType,
	avl::Histogram& outPatternHistogram,
	avl::Image& outTextureImage
)

Parameters

Name Type Default Description
Input value inImage const Image& Mono-channel image.
Input value inRoi Optional<const Region&> NIL Region of Interest.
Input value inPatternType LinearBinaryPatternType::Type Type of LBP to produce.
Output value outPatternHistogram Histogram& Histogram of LBP codes found in inImage.
Output value outTextureImage Image& LBP map of input image.

Requirements

For input inImage only pixel formats are supported: 1⨯uint8.

Read more about pixel formats in Image documentation.

Description

The LPB histogram (treated as a 256 dimensional feature vector) is a texture visual descriptor useful for texture classification. It is obtained by calculating a pattern for each pixel, and then producing a histogram from all these numbers. The pattern is a 8-bit array (coded in uint8) with results of comparisons of the center pixel value to all its neighbours.
Following types of LPB can be calculated:

  • Plain
  • RotationInvariant - all patterns (and thus histogram bins) that can be obtained by binary shifts from each other are merged into one
  • Uniform - non-uniform patterns (these containing more than two 01 or 10 transitions - e.g. 00110010 has 4) are merged into one bin
  • UniformRotationInvariant - apply both RotationInvariant and Uniform operations

More information can be found at https://en.wikipedia.org/wiki/Local_binary_patterns

Examples

Source image with following ROIs defined:
top-left fur (reference), top-right fur, and bottom nose.

LBP histograms calculated for top-left and top-right regions (different parts of fur)
The mean-squared distance between these feature vectors (histograms) is 264,6.

LBP histograms calculated for top-left region and bottom region (nose)
The mean-squared distance between these feature vectors is 1472,3.

Errors

List of possible exceptions:

Error type Description
DomainError Not supported inImage pixel format in LinearBinaryPattern. Supported formats: 1xUInt8.