Skip to content

Instantly share code, notes, and snippets.

@madhawav
Last active November 29, 2022 15:30
  • Star 11 You must be signed in to star a gist
  • Fork 3 You must be signed in to fork a gist
Star You must be signed in to star a gist
Save madhawav/a951f3790987532d32126a5f437ca28a to your computer and use it in GitHub Desktop.
import cv2
import time
hog = cv2.HOGDescriptor()
hog.setSVMDetector(cv2.HOGDescriptor_getDefaultPeopleDetector())
cap = cv2.VideoCapture("/path/to/test/video")
while True:
r, frame = cap.read()
if r:
start_time = time.time()
frame = cv2.resize(frame,(1280, 720)) # Downscale to improve frame rate
gray_frame = cv2.cvtColor(frame, cv2.COLOR_RGB2GRAY) # HOG needs a grayscale image
rects, weights = hog.detectMultiScale(gray_frame)
# Measure elapsed time for detections
end_time = time.time()
print("Elapsed time:", end_time-start_time)
for i, (x, y, w, h) in enumerate(rects):
if weights[i] < 0.7:
continue
cv2.rectangle(frame, (x,y), (x+w,y+h),(0,255,0),2)
cv2.imshow("preview", frame)
k = cv2.waitKey(1)
if k & 0xFF == ord("q"): # Exit condition
break
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment