YoloV5实时推理最短的代码

news2025/1/16 1:46:42

YoloV5实时推理最简单代码

import cv2
import torch

# 加载YOLOv5模型
model = torch.hub.load('ultralytics/yolov5', 'yolov5s')

# 使用CPU或GPU进行推理
device = 'cuda' if torch.cuda.is_available() else 'cpu'
model.to(device)

# 打开摄像头(默认摄像头)
cap = cv2.VideoCapture(0)

while True:
    # 读取摄像头帧
    ret, frame = cap.read()

    if not ret:
        break

    # 进行推理
    results = model(frame)

    # 获取检测结果的图像
    output_img = results.render()[0]

    # 显示图像
    cv2.imshow('YOLOv5', output_img)

    # 检测键盘输入,按 'q' 键退出循环
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break

# 释放摄像头并关闭窗口
cap.release()
cv2.destroyAllWindows()

  1. 导入必要的库:
    • cv2:OpenCV库,用于图像和视频处理。
    • torch:PyTorch库,用于加载和运行YOLOv5模型。
  2. 加载YOLOv5模型:
    • 使用torch.hub.load函数从指定的GitHub仓库 'ultralytics/yolov5' 中加载YOLOv5模型 'yolov5s'(小型版本)。模型将自动下载并加载。
  3. 确定推理设备:
    • 根据系统是否支持CUDA(GPU加速),选择在GPU(‘cuda’)或CPU(‘cpu’)上执行模型推理。
  4. 打开摄像头:
    • 使用cv2.VideoCapture打开默认的摄像头(通常是计算机内置摄像头或外部摄像头)。
  5. 进入主循环:
    • 使用while True创建一个无限循环,以连续地从摄像头获取帧并进行目标检测。
  6. 读取摄像头帧:
    • 使用cap.read()方法读取摄像头的下一帧图像。ret表示成功与否,frame包含捕获的图像。
  7. 进行推理:
    • 将读取的帧传递给YOLOv5模型进行目标检测,结果存储在results中。
  8. 获取检测结果的图像:
    • 使用results.render()方法获取包含检测框和标签的图像,这里使用索引 [0] 表示获取第一帧的检测结果。
  9. 显示图像:
    • 使用cv2.imshow()方法在名为’YOLOv5’的窗口中显示检测结果图像。
  10. 检测键盘输入:
    • 使用cv2.waitKey(1)检测键盘输入,等待1毫秒。如果按下键盘上的 ‘q’ 键(ASCII码为0x71),则退出循环。
  11. 释放摄像头并关闭窗口:
    • 在循环结束后,释放摄像头资源(cap.release())并关闭显示窗口(cv2.destroyAllWindows())。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1057756.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【论文笔记】Diffusion-based 3D Object Detection with Random Boxes

原文链接:https://arxiv.org/abs/2309.02049 1. 引言 基于激光雷达的3D目标检测方法通常依赖经验设置锚框或中心半径,而本文探索从随机框直接预测真实边界框。   本文提出Diff3Det,使用扩散模型进行3D目标检测。首先为真实边界框添加高斯噪…

[论文必备]最强科研绘图分析工具Origin(1)——安装教程

之前在论文中pr曲线和loss曲线对比用到了Origin这个最强科研绘图分析工具,被导师狠狠夸了,下面来分享一下~ 本篇先带你手把手安装这个软件,可以先点再慢慢看哦~ 目录 📢一、软件简介 🌻二、安装教程 &#x1f384…

想要精通算法和SQL的成长之路 - 验证二叉搜索树和不同的二叉搜索树

想要精通算法和SQL的成长之路 - 验证二叉搜索树和不同的二叉搜索树 前言一. 验证二叉搜索树二. 不同的二叉搜索树三. 不同的二叉搜索树II 前言 想要精通算法和SQL的成长之路 - 系列导航 二叉搜索树的定义: 节点的左子树只包含 小于 当前节点的数。节点的右子树只包…

Docker中将静态页面部署nginx

1.启动nginx docker start nginx 2.进入nginx cd /usr/share/nginx/html 3.vim index.html 说明:没有vim命令,docker镜像只保留了基本的功能(文件)。 4.解决方法 数据卷:是一个虚拟目录,是容器内目录与…

山西电力市场日前价格预测【2023-10-04】

日前价格预测 预测说明: 如上图所示,预测明日(2023-10-04)山西电力市场全天平均日前电价为311.79元/MWh。其中,最高日前电价为427.05元/MWh,预计出现在18: 45。最低日前电价为249.76元/MWh,预计…

Linux apt-get update - Could not connect to XXX(Connection refused)

Linux: apt-get update ----Err:Could not connect to XXX(Connection refused) - 知乎 先换源(vi不好使用,可以换成gedit) 若还是不行,可以再尝试执行: unset http_proxy unset https_proxy

决策树C4.5算法的技术深度剖析、实战解读

目录 一、简介决策树(Decision Tree)例子: 信息熵(Information Entropy)与信息增益(Information Gain)例子: 信息增益比(Gain Ratio)例子: 二、算…

【好玩的开源项目】Docker部署cook菜谱工具

【好玩的开源项目】Docker部署cook菜谱工具 一、cook菜谱工具介绍二、本地环境介绍2.1 本地环境规划2.2 本次实践介绍 三、本地环境检查3.1 检查Docker服务状态3.2 检查Docker版本 四、下载cook镜像五、部署cook菜谱工具5.1 创建cook容器5.2 查看容器状态5.3 检查容器日志 六、…

C/S架构学习之TCP的三次握手和四次挥手

TCP的三次握手:一定由客户端主动发起的,发生在建立连接的过程中。此过程发生在客户端的connect()函数和服务器的accept()函数之间。第一次握手:客户端向服务器发送一个带有SYN标志的数据包,表示客户端请求建立连接。并且客户端会选…

码多多ChatAI智能聊天系统-PHP源码版V2.5.0+开源端 安装教程

码多多ChatAI智能聊天系统PHP源码版,基于前后端分离架构以及Vue3、uni-app、ThinkPHP6.x、PHP8.0技术栈开发,包含PC端、H5端、小程序端、APP端。 该系统播播资源测试安装了针对环境要求高,PHP8.0MYSQL5.7。根目录下check文件加密文件&#x…

Ae 效果:CC Ripple Pulse

扭曲/CC Ripple Pulse Distort/CC Ripple Pulse CC Ripple Pulse (CC 波纹脉冲)主要用于创建动态的波纹脉冲效果,适用于需要动态涟漪或水波效果的场景。 效果将被限制在图层大小范围。 ◆ ◆ ◆ 效果属性说明 Center 中心 用于设置波纹脉冲…

Spring源码篇(十一)注册bean的方式

文章目录 前言bean注册的方式class扫描beanComponentScanImportDeferredImportSelectorImportBeanDefinitionRegistrar xml注册beanspring扩展点总结 前言 本篇主要以注册bean的方式从源码角度展开分析总结。 bean注册的方式 首先,由spring管理的对象&#xff0c…

数学建模三大类模型适用场景及建模方法(纯干货)(3)

目录 一,评价类算法 1,层次分析法 ●基本思想: ●基本步骤: ●优点: ●缺点 ●适用范围: ●改进方法: 2,灰色综合评价法(灰色关联度分析) ●基本思想: ●基本步骤: ●优点: ●缺点: ●适用范围: ●改进方…

海外媒体发稿:商务视频推广销售利器之完全指南

在当今数字化时代,商务视频推广已经成为了企业获取市场份额和提升销售业绩的重要手段。视频作为一种视听媒体,拥有更强大的感染力和传达信息的能力,因此在各种销售场景中得到了广泛应用。本文为大家提供了一份完全指南,帮助你了解…

为什么炒股人更爱融资?融券交易背后的风险与获利机会

炒股过程中,融资和融券交易是常见的操作方式。然而,据观察,炒股的人更倾向于选择融资交易,而融券交易相对较少。那么,是什么导致了这种偏好呢?本文将解析融资和融券交易的运作机制,以及投资者为…

【Linux】TCP的服务端 + 客户端

文章目录 📖 前言1. 服务端基本结构1.1 类成员变量:1.2 头文件1.3 初始化:1.3 - 1 全双工与半双工1.3 - 2 inet_aton1.3 - 3 listen 2. 服务端运行接口2.1 accept:2.2 服务接口: 3. 客户端3.1 connect:3.2 …

RSIC-V工具链介绍及其安装教程

前言 (1)此系列文章是跟着汪辰老师的RISC-V课程所记录的学习笔记。 (2)该课程相关代码gitee链接; (3)PLCT实验室实习生长期招聘:招聘信息链接 (4)在配置RSIC-…

私有云OpenStack保姆级教学

一、Openstack介绍 OpenStack是由美国国家航空航天局(NASA)与Rackspace公司合作研发并发起的,以Apache许可证授权的自由软件和开放源代码的云计算技术解决方案,其是一个项目也是一个软件,主要用于实现云项目,因云项目操作系统而存…

“把握拐点,洞悉投资者情绪与比特币价格的未来之路!“

“本来这篇文章是昨天晚上发的,国庆节庆祝喝多了,心有余而力不足!直接头躺马桶GG了” 标准普尔 500 指数 200 天移动平均线云是我几个月来一直分享的下行目标,上周正式重新测试了该目标。200 日移动平均线云表示为: 200 天指数移…