phog-descriptor
phog-descriptor extracts a Pyramid Histogram of Oriented Gradients descriptor from an image (canvas):
var hog = ; var descriptor = hog; console; // [0.455, 0.003, 0.987, ...]
Install
For node.js:
npm install hog-descriptor
API
extractHOG()
takes options for the cell size (default is 4
pixels), block size (default is 2
cells), block stride (default is blockSize / 2
), number of bins per orientation histogram (default is 6
), and block normalization method (one of "L1"
, "L1-sqrt"
, and default "L2"
):
extractPHOG()
takes options for number of levels(default is3
), other parameters are same as that of extractHOG()
var options = cellSize: 4 // length of cell in px blockSize: 2 // length of block in number of cells blockStride: 1 // number of cells to slide block window by (block overlap) bins: 6 // bins per histogram norm: 'L2' // block normalization method var descriptor = hog;
Other Goodies
In the process of computing a HOG descriptor, a bunch of other intermediate things have to be computed, like the image gradient, so these steps are also provided as secret goodies on the library:
intensities
Get a 2d array of the pixel intensities (normalized to fall between 0
and 1
):
var intensities = hog;
The return array is indexed first by row (y direction) then by column (x direction).
gradients
Get a 2d array of the image gradient at each pixel of the canvas with respect to the vertical and horizontal directions using a [-1, 0, 1]
filter:
var gradients = hog;
Return looks like this:
x: 00084 0354 /* , ... */ y: 0056 07888 /* , ... */
gradientVectors
Get a 2d array of the gradient vectors at each pixel of the canvas:
var vectors = hog;
Return value is the vector at each pixel with mag
and orient
for magnitude and orientation (in radians):
mag: 04 orient: -152 /*, ... */
drawGreyscale
Greyscales a canvas:
hog
drawGradient
Draws the gradient of the canvas with respect to 'x' or 'y' direction:
hog
hog
drawMagnitude
Draws the magnitude of the gradient vectors over the canvas:
hog