不幸的是,我既是 python 又是 openCV 初学者,所以如果这个问题很愚蠢,请原谅我。
我正在尝试使用 acv2.HOGDescriptor
来识别视频中的对象。我关心逐帧识别(即没有跟踪左右)。
这是我正在做的事情:
我通过使用阅读了视频(当前为 a
.mpg
)capture = cv.CreateFileCapture(video_path) #some path in which I have my video #capturing frames frame = cv.QueryFrame(capture) #returns cv2.cv.iplimage
为了最终在框架上使用检测器(我会使用
found, w = hog.detectMultiScale(frame, winStride, padding, scale)
) 我认为我需要
frame
从 我所做的转换cv2.cv.iplimage
为numpy.ndarray
tmp = cv.CreateImage(cv.GetSize(frame),8,3) cv.CvtColor(frame,tmp,cv.CV_BGR2RGB) ararr = np.asarray(cv.GetMat(tmp)).
现在我有以下错误:
found, w = hog.detectMultiScale(ararr, winStride, padding, scale)
TypeError: a float is required
在哪里
winStride=(8,8)
padding=(32,32)
scale=1.05
我真的不明白哪个元素是这里真正的问题。即哪个数字应该是浮点数?
任何帮助表示赞赏