Histograms are a popular tool used in a wide range of image and video analysis applications, mainly due to easy of use and implementation, and to some degree of invariance to photometric and geometric transformations. A color histogram is a representation of the distribution of colors in an image, derived by counting the number of pixels of each set of color ranges in a given color space. Similarly, an intensity histogram models the distribution of the brightness values of an image.
The integral histogram method allows to obtain (in a computationally efficient way) the color or intensity histogram of all possible target regions in a Cartesian data space (i.e., an image). The method was initially proposed in , as a generic method to match image patches efficiently. It has been successively adopted for more specific problems, such as visual tracking .
This project provides an implementation of the method in the form of a library for the Processing programming environment. The library can be used without limitations from any Java program as well.
 Porikli, F., "Integral Histogram: A Fast Way to Extract Histograms in Cartesian Spaces", proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR), June 2005.
 Amit Adam, Ehud Rivlin, Ilan Shimshoni, "Robust Fragments-based Tracking using the Integral Histogram," proceeding of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR), June 2006.
Integral Histogram works on Linux, OS X and Windows
Please follow Getting Started instructions.
IntegralHistogram is released under the LGPLv3 license.