首页 > 其他分享 >YOLO-物体检测

YOLO-物体检测

时间:2024-10-22 17:44:14浏览次数:7  
标签:box name 检测 物体 YOLO num text half font

#encoding:utf-8
from ultralytics import YOLO
from PIL import Image, ImageDraw,ImageFont

model  = YOLO("yolov8n.pt")
image1_path = "img/guangzhou.jpg"
result = model.predict(image1_path)

img = Image.open(image1_path)
draw = ImageDraw.Draw(img)
font_size = 16
font = ImageFont.truetype("/usr/share/fonts/truetype/wqy/wqy-microhei.ttc",size=font_size)

classify_dict = {}
for r in result:
    names = r.names
    boxes = r.boxes
    probs = boxes.conf
    labels = boxes.cls
    label_num = labels.shape[0]
    for i in range(label_num):
        box = boxes[i].xyxy[0].cpu().numpy()
        name = names[int(labels[i])]
        probability = round(float(probs[i]),2)
        if name not in classify_dict:
            num = 1
            classify_dict[name] = num
        else:
            num = classify_dict[name] + 1
            classify_dict[name] += 1
        if probability >= 0.3:
            draw.rectangle(box,outline="red",width=1)
            half_width = int(box[0]+box[2])//2
            half_height = int(box[1]+box[3])//2
            text_position = (half_width-font_size*2,half_height)
            draw.rectangle((box[0],half_height,box[2],half_height+font_size+4),fill="white")
            text = "{}{}: {}".format(name, num,probability)
            draw.text(text_position,text,font=font,fill="black")
img.save("out.jpg")

最终效果如下:
image

模型下载可以参考
模型下载:https://github.com/ultralytics/assets/releases/download/v8.2.0/yolov8n.pt
参考链接:

https://docs.ultralytics.com/modes/predict/

标签:box,name,检测,物体,YOLO,num,text,half,font
From: https://www.cnblogs.com/commuter/p/18493402

相关文章

  • YOLOv11模型改进-注意力-引入简单无参数注意力模块SimAM 提升小目标和遮挡检测
                本篇文章将介绍一个新的改进机制——卷积和注意力融合模块SimAM ,并阐述如何将其应用于YOLOv11中,显著提升模型性能。首先,SimAM是一种用于卷积神经网络的简单且无参数的注意力模块,它基于神经科学理论定义能量函数来计算3-D注意力权重,能有效提升网络......
  • 新 Chrome 插件可检测 AI 伪造声音;Canary Speech 推出用于临床对话的语音分析技术丨 R
       开发者朋友们大家好: 这里是「RTE开发者日报」,每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享RTE(Real-TimeEngagement)领域内「有话题的新闻」、「有态度的观点」、「有意思的数据」、「有思考的文章」、「有看点的会议」,但内容仅代表编......
  • LaMI-DETR:基于GPT丰富优化的开放词汇目标检测 | ECCV'24
    现有的方法通过利用视觉-语言模型(VLMs)(如CLIP)强大的开放词汇识别能力来增强开放词汇目标检测,然而出现了两个主要挑战:(1)概念表示不足,CLIP文本空间中的类别名称缺乏文本和视觉知识。(2)对基础类别的过拟合倾向,在从VLMs到检测器的转移过程中,开放词汇知识偏向于基础类别。为了解决这些挑......
  • Linux使用nc(netcat)命令检测网络端口是否畅通以及Linux查看CPU架构命令arch及CentOS
    一、Linux使用nc(netcat)命令检测网络端口是否畅通    nc命令netcat的简写,netcat即是网络猫的意思,在linux系统中nc命令实际执行命令是ncat。nc命令是一个功能强大的网络工具。平常主要用于实现TCP/UDP端口的侦听和收发,nc可作为server以TCP或UDP方式侦听指定端口,也可作为cl......
  • Unity Physics.Raycast发射一条射线并检测它与场景中物体的碰撞
    在Unity中,Physics.Raycast是一种非常常用的物理检测方法,用于发射一条射线并检测它与场景中物体的碰撞。这种方法在许多游戏场景中非常重要,例如用于射击、检测地面、触发事件等。1.基本概念射线(Ray):在三维空间中,射线是一个从某一点出发并沿着某个方向延伸的无穷长线。碰撞......
  • TWS耳机入耳检测:【技术路线】
    在TWS耳机入耳检测领域,目前主要分为电容检测和光学检测两大技术路线。1:电容检测电容检测技术是发展得比较早的一种入耳检测技术,主要通过电容传感器利用RC振荡的原理来检测电容变化。其工作原理和我们经常使用到的手机电容触控屏类似,当人体与电容传感器相互靠近或接触时,电容传......
  • 基于YOLOV5车牌检测的数据集
    数据集数量为四百张,内标签为face、green、blue、yellow。即人脸、绿色车牌、蓝色车牌、黄色车牌各一百张数据。本资源免费下载,因数据量较少可以给大家玩一下,不能作为任务来做的。图片均为网上数据,自己用工具标注,想要使用自动辅助标注工具可以看https://blog.csdn.net/willnzd......
  • Yolo v5简单理解
    YOLOv5(YouOnlyLookOnceversion5)是一个高效的目标检测模型,采用深度学习技术,旨在实现实时物体检测。它在准确性和速度之间达到了良好的平衡,适用于多种应用场景,如自动驾驶、视频监控和工业检测。技术上,YOLOv5使用了PyTorch框架,具有更好的可扩展性和灵活性。其结构包含了CSPN......
  • 服务器端训练yolov5使用tensorboard+端口转发 实时查看训练成果
    服务器端训练yolov5使用tensorboard+端口转发实时查看训练成果本文参照博客园的一位大佬(相当感谢!!!):本地浏览器查看云服务器训练模型的tensorboard界面-拾一贰叁-博客园服务器端操作运行train.py开始训练新开一个终端进入到yolov5目录输入tensorboard--logdirruns/exp{......
  • YOLOv11改进 | 代码逐行解析(三) | 从yaml文件到网络结构解析到模型定义
     ......