我致力于提高图像帧中人体检测的效率。我没有在整个图像上应用HOG描述符,而是计划仅在提取的感兴趣区域上使用HOG描述符(使用从背景减法获得的掩模进行运动的区域)。
当使用OpenCV2提供的HOG描述符中的detectMultiScale(...)时,程序返回分段错误(SVM的Python 2.7和cv2.HOGDescriptor_getDefaultPeopleDetector())。来自图像的许多提取区域具有不同的纵横比。在整个图像上应用HOG描述符工作正常但在某些区域上存在段错误。
Segmentation fault: 11
为什么会这样? 输入图像的宽度和高度是否受限于描述符?
文档没有说明http://www.swarthmore.edu/NatSci/mzucker1/opencv-2.4.10-docs/modules/gpu/doc/object_detection.html
的任何内容(rects, weights) = hog.detectMultiScale(region,
winStride=(4, 4),
padding=(8, 8),
scale=1.05)
rects = np.array([[x, y, x + w, y + h] for (x, y, w, h) in rects])
pick = non_max_suppression(rects, probs=None, overlapThresh=0.65)
区域是从原始图像提取的图像切片。我想要尝试捕捉分段错误,就像可以发现一个错误(How can I "catch" a seg fault while importing an F2Py module?),但这似乎不起作用。