Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

HOG.Compute

Hi, i am trying to compute the descriptor vector with HOGDescriptor.Compute() method in C#. Documetation is very poor, and I'm not sure what all the parameters mean in Compute(image, winstride, padding, location). It is similar to CvInvoke.CvHOGDescriptorCompute(_ptr, image, desc, winStride, padding, locationSeq) in OpenCV. Does anyone know it? In this simple example method Compute() return vector which has 3780 elements (float[3780]). I tis correct or not? Not too long? Resolution of input image is 210x150px.

// This are default values for HOGDescriptor:
//  WinSize – new Size(64,128)
//  BlockSize – new Size(64,128)
//  BlockStride – new Size(64,128)
//  CellSize – new Size(64,128)
//  NumBins - 9
//  DerivApertrure - 1
//  WinSigma - -1
//  L2HysTreshold – 0.2
//  GammaCorrection – true

public static float[] GetVector(string pFilename)
{
    HOGDescriptor hog = new HOGDescriptor();    // with defaults values
    pImage.ROI = new Rectangle(new Point(0,0),new Size(64,128) );
    return hog.Compute(new Image<Bgr, byte>(pFilename), new Size(8,8), new Size(0,0), null);
}

Thanks for some help, i am beginer in EmguCV.