【发布时间】:2021-06-16 01:59:51
【问题描述】:
我想检测移动的人及其质心(不使用 centroidtracker),我有行走的人的视频,
这是我的代码
import cv2
face_cascade=cv2.CascadeClassifier('haarcascade_fullbody.xml')
frame=cv2.imread('person.png')
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
faces = face_cascade.detectMultiScale(gray, 1.1, 4)
for (x, y, w, h) in faces:
cv2.rectangle(frame, (x, y), (x + w, y + h), (255, 0, 0), 3)
cX = int((x+ w) / 2.0)
cY = int((y + h) / 2.0)
print(cX)
print(cY)
cv2.circle(frame, (cX, cY), 10, (205, 0, 255), -1)
cv2.imshow('img',frame)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
cv2.waitKey()
cv2.destroyAllWindows()
【问题讨论】:
-
这不是鸟瞰图。为什么你的边界框不紧贴图?为此,如果您想测量距离,我会假设边界框的底部位于地面。否则对于质心,您将不得不假设人们的高度相同,并且知道世界坐标中的垂直高度以测量 3D 距离。使用底部意味着垂直尺寸为零。
-
是的,它不是,但我打算用birdeyeviw解决这个问题
标签: python tensorflow opencv computer-vision artificial-intelligence