How to calculate Local Binary Pattern Histograms with OpenCV?

EijiAdachi picture EijiAdachi · Dec 5, 2012 · Viewed 40.6k times · Source

I have already seen that OpenCV provides a classifier based on LBP histograms:

But I want to have access to the LBP histogram itself. For instance:

histogram = calculate_LBP_Histogram( image )

Is there any function that performs this in OpenCV?

Answer

lightalchemist picture lightalchemist · Dec 6, 2012

You can get the C++ code for computing LBP using OpenCV's Mat data structure here:

http://www.bytefish.de/blog/local_binary_patterns

You should be able to find the Python version as well on the same site.

The code is written by Philipp Wagner, who I believe contributed the face recognition code you mentioned to OpenCV, so it should be the same thing.

The LBP code is found in the file: OpenCV-2.4.2/modules/contrib/src/facerec.cpp as a static function. Unfortunately, it does not appear to be exposed for public use (at least for OpenCV 2.4.2).