关于hog特征维数的计算

https://blog.****.net/xl890727/article/details/7920199此博客有关于block,cell,_blockStride,winsize的详细介绍

下面我根据代码来实际算一下

我采用的图片大小是100*100

关于hog特征维数的计算

上面采用的winsize窗口大小为10*10,blocksize块大小为10*10,blockstride块滑移量为5,胞大小是5*5,每个胞的直方图特征数是9;

那么可以计算每一个块blocksize的直方图特征数是4*9(因为一个块包含4个cell),一个窗口包含一个block块,则一个窗口的特征数是36

利用compute来计算特征数,compute的窗口滑移量为1*1,则整个图像拥有的窗口数是(((100-10)/1)+1)的平方即8281

那么总的特征数是8281*36=298116

需要注意的是compute的第三个参数必须是2的幂次方,否则会出现hog Assertion failed ((n & (n - 1)) == 0) in cv::alignSize的错误

关于窗口数的计算可以看这个图,类似推导

关于hog特征维数的计算

下面打屏结果

关于hog特征维数的计算