我正在使用这个 repo 进行一些测试,因为我对 OpenCV 很陌生: https ://github.com/devicehive/devicehive-video-analysis
我的目标是计算有多少检测到的对象作为“人”被限制在视频的特定区域。
所以我想在这里玩代码:
for o in predictions:
x1 = o['box']['left']
x2 = o['box']['right']
y1 = o['box']['top']
y2 = o['box']['bottom']
color = o['color']
class_name = o['class_name']
# Draw box
cv2.rectangle(frame, (x1, y1), (x2, y2), color, 60)
all_objects.append((o, class_name))
# Draw label
(test_width, text_height), baseline = cv2.getTextSize(
class_name, cv2.FONT_HERSHEY_SIMPLEX, 0.75, 1)
cv2.rectangle(frame, (x1, y1),
(x1+test_width, y1-text_height-baseline),
color, thickness=cv2.FILLED)
cv2.putText(frame, class_name, (x1, y1-baseline),
cv2.FONT_HERSHEY_SIMPLEX, 0.75, (0, 0, 0), 1)
# People Count
if class_name == 'person':
test += 1
但是当预测发生时我真的无法弄清楚,我如何计算对象区域并检测它是否在另一个预定义的范围内。
任何帮助表示赞赏。谢谢你