n[1], line 23 21 frame = cv2.resize(frame, (width, height)) 22 #行人检测 ---> 23 (rects, weights) = hog.detectMultiScale(frame, winStride=(4.4), padding=(8, 8), scale=1.05) 24 #遍历检测结果 25 for i, (x, y, w, h) in enumerate(rects): 26 #去除重复检测 error: OpenCV(4.7.0) :-1: error: (-5:Bad argument) in function 'detectMultiScale' > Overload resolution failed: > - Can't parse 'winStride'. Input argument doesn't provide sequence protocol > - Can't parse 'winStride'. Input argument doesn't provide sequence protocol
时间: 2024-04-26 22:23:44 浏览: 127
v-resize::party_popper:实时监听元素widthheight属性变化的自定义vue指令
根据报错信息可以看出问题是 "winStride" 参数的输入类型不正确,导致了 "detectMultiScale" 函数的调用失败。根据 OpenCV 官方文档,"winStride" 参数需要传入一个元组类型的值,表示 HOG 检测窗口在水平方向和垂直方向上的步长。建议您将代码中的 "winStride" 参数的值改为元组类型的值,例如:
(rects, weights) = hog.detectMultiScale(frame, winStride=(4, 4), padding=(8, 8), scale=1.05)
这样就可以避免该报错的出现。同时,建议您也检查一下代码中其他参数是否有输入错误的情况。
阅读全文