//一个块(blockSize)里面有多少个单元(cellSize)
int hCellNum = blockSize.height / cellSize.height;
int wCellNum = blockSize.width / cellSize.width;
有人说是图片大小的问题:
关于为什么图像的HOG特征向量debug后是15876的问题。答案是因为原作者的窗口是64*64的,所以维数为9*4*7*7=1764(图像的大小也是64*64,所以图像的特征维数与一个窗口的维数是相同的,compute()里的窗口步进(8,8)也是无效的)。而我的图像时64*128大小的,我把窗口也换成
64*128,所以维数就是3780了,与setSVMDetector默认的getDefaultPeopleDetector大小一样(大概小于getDefaultPeopleDetector()大小为(3781*1))的vector传到setSVMDetector()里都没关系吧,不会出现断言错误。
有人说是图片大小的问题:
事实证明的确是这个问题。
另外还有一个问题,就是当
cvShowImage("img", img);时显示不了图片时,要考虑其后是否少了一句WAIT:cvWaitKey();