不幸的是,我既是一個Python和一個openCV初學者,所以如果問題是愚蠢的,希望對不起。HOGDescriptor與視頻識別對象
我正在嘗試使用cv2.HOGDescriptor
來識別視頻中的對象。我關心的是逐幀識別(即沒有跟蹤等)。
下面是我在做什麼:
我用
capture = cv.CreateFileCapture(video_path) #some path in which I have my video #capturing frames frame = cv.QueryFrame(capture) #returns cv2.cv.iplimage
爲了最終使用的幀探測器讀取視頻(目前
.mpg
) (我會用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
我真的不明白哪個元素是真正的問題。即哪個數字應該是浮點數?
任何幫助理解
謝謝你,謝謝你的python課程!我對另一件事感到困惑:爲什麼在cv2綁定中沒有打開窗口的函數?即'cv2.NamedWindow'給我錯誤,而'cv.NamedWindow'沒有。有沒有正確的方法來打開窗口並使用新的綁定? – Acorbe
@Acorbe不幸的是許多函數已被重命名,你可能在'cv2.namedWindow'後面(外殼是不同的)。 – mmgp
謝謝!我會試圖找出我的方式.. – Acorbe