public class DescribeDenseHogAlg<Input extends boofcv.struct.image.ImageBase> extends BaseDenseHog<Input>
Implementation of the Histogram of Oriented Gradients (HOG) [1] dense feature descriptor. Several variants are described in the paper. The algorithm used here is the "R-HOG unsigned orientation" variant. The descriptor is computed from a regular grid of cells and an unsigned histogram is computed. Unsigned as in the angle is from 0 to 180 degrees instead of 0 to 360.
This is a (hopefully) faithful implementation to the algorithm described in the paper. The descriptors are computed with the following steps.[1] Dalal, Navneet, and Bill Triggs. "Histograms of oriented gradients for human detection." Computer Vision and Pattern Recognition, 2005. CVPR 2005.
| Modifier and Type | Field and Description |
|---|---|
protected boofcv.struct.image.GrayF64 |
magnitude |
protected boofcv.struct.image.GrayF32 |
orientation |
derivX, derivY| Constructor and Description |
|---|
DescribeDenseHogAlg(int orientationBins,
int pixelsPerCell,
int cellsPerBlockX,
int cellsPerBlockY,
int stepBlock,
boofcv.struct.image.ImageType<Input> imageType)
Configures HOG descriptor computation
|
| Modifier and Type | Method and Description |
|---|---|
protected void |
computeWeightBlockPixels()
Compute gaussian weights applied to each pixel in the block
|
void |
process()
Computes the descriptor across the input image
|
void |
setInput(Input input)
Specifies input image.
|
_getDerivX, _getDerivY, createDescription, getCellsPerBlockX, getCellsPerBlockY, getDescriptions, getImageType, getLocations, getOrientationBins, getPixelsPerCell, getRegionWidthPixelX, getRegionWidthPixelY, getStepBlockprotected boofcv.struct.image.GrayF32 orientation
protected boofcv.struct.image.GrayF64 magnitude
public DescribeDenseHogAlg(int orientationBins,
int pixelsPerCell,
int cellsPerBlockX,
int cellsPerBlockY,
int stepBlock,
boofcv.struct.image.ImageType<Input> imageType)
orientationBins - Number of bins in a cell's histogram. 9 recommendedpixelsPerCell - Number of pixel's wide a cell is. 8 recommendedcellsPerBlockX - Number of cells's wide a block is. x-axis 3 recommendedcellsPerBlockY - Number of cells's wide a block is. x-axis 3 recommendedstepBlock - Number of cells which are skipped between each blockprotected void computeWeightBlockPixels()
public void setInput(Input input)
setInput in class BaseDenseHog<Input extends boofcv.struct.image.ImageBase>input - input imagepublic void process()
process in class BaseDenseHog<Input extends boofcv.struct.image.ImageBase>