initializes the histogram, which header and bins are allocated by user. No cvReleaseHist need to be called afterwards. Only dense histograms can be initialized this way.
Namespace: Emgu.CVAssembly: Emgu.CV (in Emgu.CV.dll) Version: 2.2.1.1150 (2.2.1.1150)
Syntax
C# | Visual Basic | Visual C++ |
public: static IntPtr cvMakeHistHeaderForArray( int dims, [InAttribute] array<int>^ sizes, IntPtr hist, IntPtr data, [InAttribute] array<IntPtr>^ ranges, int uniform )
Parameters
- dims
- Int32
Number of histogram dimensions
- sizes
- array<Int32>[]()[][]
Array of histogram dimension sizes
- hist
- IntPtr
Pointer to the histogram
- data
- IntPtr
The underline memory storage (pointer to array of float)
- ranges
- array<IntPtr>[]()[][]
Array of ranges for histogram bins. Its meaning depends on the uniform parameter value. The ranges are used for when histogram is calculated or backprojected to determine, which histogram bin corresponds to which value/tuple of values from the input image[s].
- uniform
- Int32
Uniformity flag; if true, the histogram has evenly spaced bins and for every 0<=i<cDims ranges[i] is array of two numbers: lower and upper boundaries for the i-th histogram dimension. The whole range [lower,upper] is split then into dims[i] equal parts to determine i-th input tuple value ranges for every histogram bin. And if uniform=false, then i-th element of ranges array contains dims[i]+1 elements: lower0, upper0, lower1, upper1 == lower2, ..., upperdims[i]-1, where lowerj and upperj are lower and upper boundaries of i-th input tuple value for j-th bin, respectively. In either case, the input values that are beyond the specified range for a histogram bin, are not counted by cvCalcHist and filled with 0 by cvCalcBackProject