重庆网站建设 优化,网站建设捌金手指下拉七,网络营销比较成功的企业,wordpress设置伪静态参考了这个#xff1a;YOLOv8只检测人#xff08;或其他一种或者多种类别#xff09;_yolov8只检测指定类别-CSDN博客
1. 只检测人#xff1a;predict的时候指定参数classes[0]
2. 只画框不要标签#xff1a;plot的时候传入labelsFalse
3. 标签中去掉置信度#xff1a… 参考了这个YOLOv8只检测人或其他一种或者多种类别_yolov8只检测指定类别-CSDN博客
1. 只检测人predict的时候指定参数classes[0]
2. 只画框不要标签plot的时候传入labelsFalse
3. 标签中去掉置信度result.plot(confFalse)
示例代码如下
#!/usr/bin/env python
import contextlib
from datetime import datetime
from pathlib import Path# pip install opencv-python pillow ultralytics rich
import cv2
from ultralytics import YOLO # type:ignore[import-untyped]with contextlib.suppress(ImportError):from rich import printmodel YOLO(yolov8s.pt)
person_cls 0 # 人员标签的类别ID
total 200 # 总共截多少桢
interval 20 # 每隔几桢推理一次
folder Path(__file__).parent / images # 未检测到人的图片存在这里
folder.mkdir(exist_okTrue)cap cv2.VideoCapture(0) # 打开电脑摄像头
count 0
while True:if not cap.isOpened():print(fFailed to open video capture with {cap})breakok, frame cap.read()if not ok:continuecount 1if count total:print(fSuccess to capture {total} frames~)breakelif count % interval ! 0:continue# 通过指定classes参数限定要检测的类别# result model(frame, classes[person_cls], saveFalse, showFalse, verboseFalse)[0]result model(frame, classes[person_cls], saveFalse, verboseFalse)[0]has_person bool(result.summary())if has_person:print(f{count}, result: {result.verbose()})result.show()else:file folder / f{count}.jpgcontent cv2.imencode(.jpg, result.plot())[1].tobytes()file.write_bytes(content)print(datetime.now(), f{count}, result: {has_person}, save to {file})
cap.release()
print(✨ Done.)