YOLOv8 只检测人 只画框不要标签

参考了这个:YOLOv8只检测人(或其他一种或者多种类别)_yolov8只检测指定类别-CSDN博客

  1. 只检测人:predict的时候指定参数classes=[0]

  2. 只画框不要标签:plot的时候传入labels=False

  3. 标签中去掉置信度:result.plot(conf=False)

示例代码如下:

python 复制代码
#!/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 print

model = YOLO("yolov8s.pt")
person_cls = 0  # 人员标签的类别ID
total = 200  # 总共截多少桢
interval = 20  # 每隔几桢推理一次
folder = Path(__file__).parent / "images"  # 未检测到人的图片存在这里
folder.mkdir(exist_ok=True)


cap = cv2.VideoCapture(0)  # 打开电脑摄像头
count = 0
while True:
    if not cap.isOpened():
        print(f"Failed to open video capture with {cap=}")
        break
    ok, frame = cap.read()
    if not ok:
        continue
    count += 1
    if count > total:
        print(f"Success to capture {total} frames~")
        break
    elif count % interval != 0:
        continue
    # 通过指定classes参数,限定要检测的类别
    # result = model(frame, classes=[person_cls], save=False, show=False, verbose=False)[0]
    result = model(frame, classes=[person_cls], save=False, verbose=False)[0]
    has_person = bool(result.summary())
    if has_person:
        print(f"{count=}, result: {result.verbose()}")
        result.show()
    else:
        file = folder / f"{count}.jpg"
        content = 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.")
相关推荐
知来者逆1 小时前
计算机视觉——对比YOLOv12、YOLOv11、和基于Darknet的YOLOv7的微调对比
深度学习·yolo·目标检测·计算机视觉·yolov7·yolov11·yolov12
AI军哥15 小时前
MySQL8的安装方法
人工智能·mysql·yolo·机器学习·deepseek
白熊1881 天前
【计算机视觉】CV实战项目 - 基于YOLOv5的人脸检测与关键点定位系统深度解析
人工智能·yolo·计算机视觉
一勺汤1 天前
YOLOv11改进-双Backbone架构:利用双backbone提高yolo11目标检测的精度
人工智能·yolo·双backbone·double backbone·yolo11 backbone·yolo 双backbone
豆芽8191 天前
图解YOLO(You Only Look Once)目标检测(v1-v5)
人工智能·深度学习·学习·yolo·目标检测·计算机视觉
Eric.Lee20211 天前
数据集-目标检测系列- F35 战斗机 检测数据集 F35 plane >> DataBall
人工智能·算法·yolo·目标检测·计算机视觉
白熊1882 天前
【计算机视觉】CV实战项目 - 基于YOLOv5与DeepSORT的智能交通监控系统:原理、实战与优化
人工智能·yolo·计算机视觉
FPGA开源工坊2 天前
FPGA上实现YOLOv5的一般过程
yolo·fpga开发
埃菲尔铁塔_CV算法3 天前
YOLO 模型的深度剖析及其在生物医药领域的创新应用
深度学习·神经网络·yolo·目标检测·计算机视觉
limengshi1383923 天前
使用Python将YOLO的XML标注文件转换为TXT文件格式
xml·python·yolo