第一步、在detect.py中177行左右,cv.imshow(str(p),im0)之前加上:

cv2.putText(im0,f"{n} {names[int(c)]}{'s' * (n > 1)}", (5,50),cv2.FONT_HERSHEY_SIMPLEX, 1.2, (0, 0, 255), 2)代码即可

之后运行detect,可以在输出图片中左上角看到相应的人数输出。

此方法同样适用于视频检测,统计的人数会随着视频画面的变换同步变换。

im0 = annotator.result()
if view_img:
    #下面这一行就是在对应图片上输出文本框的代码
    cv2.putText(im0,f"{n} {names[int(c)]}{'s' * (n > 1)}", (5,50), cv2.FONT_HERSHEY_SIMPLEX, 1.2, (0, 0, 255), 2)
    cv2.imshow(str(p), im0)
    cv2.waitKey(1)  # 1 millisecond

-----------------------------------------------------------------------------------------------------------------------------

第二步、加一个YOLOv5只检测person(人)的小tips:

在detect.py中 ,如图所示,在'--classes', nargs='+', type=int, help='filter by class: --classes 0, or --classes 0 2 3'   中加上   default='0',  即可

上面两步才可以实现的哦

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐