Функция «hog.detectMultiScale(кадр)» ничего не возвращает

#opencv #image-processing #artificial-intelligence #vision #histogram-of-oriented-gradients

Вопрос:

Я написал это, и это работает. но последняя функция (hog.detectMultiScale) ничего не возвращает. Я не знаю, почему.

»’

 import numpy as np
import cv2
hog = cv2.HOGDescriptor()
hog.setSVMDetector(cv2.HOGDescriptor_getDefaultPeopleDetector())

cv2.startWindowThread()

# open video stream
cap = cv2.VideoCapture("E:\3.mp4")

# the output will be written to output.avi
out = cv2.VideoWriter('output.avi',cv2.VideoWriter_fourcc(*'MJPG'),15.,
    (640, 480))

while (True):
    # Capture frame-by-frame
    ret, frame = cap.read()

    # resizing for faster detection
    frame = cv2.resize(frame, (640, 480))
    returns the bounding boxes for the detected objects
       
    (boxes, weights) = hog.detectMultiScale(frame)
 

»’

Комментарии:

1. определите «ничего». показать print(boxes); print(weights) . почему вы ожидаете, что он вернется? покажите изображение , для которого вы ожидаете обнаружения

2. Я имел в виду «эти переменные были пусты после запуска и отладки кода». Теперь я понимаю , что в каком-то кадре алгоритм обнаружения ничего не обнаруживает, и поэтому переменные ничего не сохраняют.