OpenCV不断丢帧

时间:2016-10-31 21:12:20

标签: python python-2.7 opencv opencv3.0

我正在尝试使用HOGDescriptor_getDefaultPeopleDetector()识别我的视频Feed中是否存在人物。

对于每个收到的帧,它会检查其中是否有人,但由于某种原因,OpenCV会将帧左右丢弃到我的Feed非常滞后的点。此GIF演示了生成的Feed延迟和丢帧。

以下是导致问题的解压缩代码

修改

我尝试将图像调整为400X400,现在看起来效果更好了。框架仍然偶尔会被丢弃,但这次进给顺畅。 New GIF

import cv2
import datetime

hog = cv2.HOGDescriptor()
hog.setSVMDetector(cv2.HOGDescriptor_getDefaultPeopleDetector())
hogParams = {'winStride': (8, 8), 'padding': (32, 32), 'scale': 1.05}

def detectHuman(frame):
    start = datetime.datetime.now()
    frame = cv2.resize(frame, (400, 400))
    cv2.imshow('Reduced Frame', frame)
    result = hog.detectMultiScale(frame, **hogParams)
    print("Detection Took: {}s".format((datetime.datetime.now()-start).total_seconds()))
    print result

camera = cv2.VideoCapture(0)

while True:
    grabbed, frame = camera.read()

    if not grabbed:
        break

    detectHuman(frame)

    cv2.imshow('Main', frame)

    if cv2.waitKey(1) & 0xFF == ord('q'):
        break    

camera.release()
cv2.destroyAllWindows()

0 个答案:

没有答案