Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

fl::DescriptorLBP Class Reference

#include <descriptor.h>

Inheritance diagram for fl::DescriptorLBP:

fl::Descriptor List of all members.

Public Methods

 DescriptorLBP (int P=8, float R=1.0f, float supportRadial=4.2f, int supportPixel=32)
 DescriptorLBP (std::istream &stream)
void initialize ()
void preprocess (const Image &image)
 Prepare gray version of image. Subroutine of value().

void add (const int x, const int y, Vector< float > &result)
 Does the actual LBP calculation for one pixel. Subroutine of value().

virtual Vector< float > value (const Image &image, const PointAffine &point)
 Returns a vector of floats that describe the image patch near the interest point.

virtual Vector< float > value (const Image &image)
 Describe entire region that has non-zero alpha values. Descriptor may treat all non-zero alpha values the same, or use them to weight the pixels. This method is only available in Descriptors that don't require a specific point of reference. IE: a spin image must have a central point, so it can't implement this method.

virtual Image patch (const Vector< float > &value)
 Return a graphical representation of the descriptor. Preferrably an image patch that would stimulate this descriptor to return the given value.

virtual Comparisoncomparison ()
 Return an instance of the recommended Comparison for feature vectors from this type of Descriptor. Caller is responsible to destroy instance.

virtual void read (std::istream &stream)
virtual void write (std::ostream &stream, bool withName=true)

Public Attributes

int P
 Number of evenly spaced sample points around center.

float R
 Radius of circle of sample points.

int supportPixel
 Radius of patch to draw off if point specifies a shape change.

void * lastBuffer
 For detecting change in cached image.

double lastTime
 For detecting change in cached image.

ImageOf< unsigned char > categoryImage
 Cached LBP categories for each pixel. P is limited to 254.

std::vector< Interpolateinterpolates
 Cached data for doing bilinear interpolation of pixel values along circle.


Detailed Description

"Local Binary Patterns": histogram counts of various patterns the appear in the binarized itensity along a circle around a point. The idea is to take a circle at a certain radius from the center point, and binarize the intensity at regular intervals along the circle with reference to the intensity of the center point. Characterize the resulting string of 0s and 1s according to two measures: 1) how many lo-hi or hi-lo transitions there are. 2) How many 1s there are. If there are no more than 2 transitions, then the LBP value for the point is the count of 1s. If there are more than 2 transitions, then the LBP value is "miscellaneous". Finally, histogram the LBP values over the specified region.


Constructor & Destructor Documentation

DescriptorLBP::DescriptorLBP int    P = 8,
float    R = 1.0f,
float    supportRadial = 4.2f,
int    supportPixel = 32
 

DescriptorLBP::DescriptorLBP std::istream &    stream
 


Member Function Documentation

void fl::DescriptorLBP::add const int    x,
const int    y,
Vector< float > &    result
 

Does the actual LBP calculation for one pixel. Subroutine of value().

Comparison * DescriptorLBP::comparison   [virtual]
 

Return an instance of the recommended Comparison for feature vectors from this type of Descriptor. Caller is responsible to destroy instance.

Reimplemented from fl::Descriptor.

void DescriptorLBP::initialize  
 

Image DescriptorLBP::patch const Vector< float > &    value [virtual]
 

Return a graphical representation of the descriptor. Preferrably an image patch that would stimulate this descriptor to return the given value.

Implements fl::Descriptor.

void DescriptorLBP::preprocess const Image   image [inline]
 

Prepare gray version of image. Subroutine of value().

void DescriptorLBP::read std::istream &    stream [virtual]
 

Reimplemented from fl::Descriptor.

Vector< float > DescriptorLBP::value const Image   image [virtual]
 

Describe entire region that has non-zero alpha values. Descriptor may treat all non-zero alpha values the same, or use them to weight the pixels. This method is only available in Descriptors that don't require a specific point of reference. IE: a spin image must have a central point, so it can't implement this method.

Reimplemented from fl::Descriptor.

Vector< float > DescriptorLBP::value const Image   image,
const PointAffine   point
[virtual]
 

Returns a vector of floats that describe the image patch near the interest point.

Implements fl::Descriptor.

void DescriptorLBP::write std::ostream &    stream,
bool    withName = true
[virtual]
 

Reimplemented from fl::Descriptor.


Member Data Documentation

ImageOf<unsigned char> fl::DescriptorLBP::categoryImage
 

Cached LBP categories for each pixel. P is limited to 254.

std::vector<Interpolate> fl::DescriptorLBP::interpolates
 

Cached data for doing bilinear interpolation of pixel values along circle.

void* fl::DescriptorLBP::lastBuffer
 

For detecting change in cached image.

double fl::DescriptorLBP::lastTime
 

For detecting change in cached image.

int fl::DescriptorLBP::P
 

Number of evenly spaced sample points around center.

float fl::DescriptorLBP::R
 

Radius of circle of sample points.

int fl::DescriptorLBP::supportPixel
 

Radius of patch to draw off if point specifies a shape change.


The documentation for this class was generated from the following files:
Generated on Thu Dec 9 17:13:26 2004 for fl by doxygen1.2.18