残念ながら、私は python と openCV の両方の初心者なので、質問がばかげていたらすみません。
cv2.HOGDescriptor
を使用してビデオ内のオブジェクトを認識しようとしています。フレームごとの認識に関心があります (つまり、トラッキングがないなど)。
これが私がやっていることです:
を使用してビデオ(現在は
.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
ここでどの要素が本当の問題なのか本当に理解できません。つまり、浮動小数点数にする必要があるのはどれですか?
どんな助けでも大歓迎