yolo5图片视频、摄像头推理demo
yolo5图片、视频推理demo
图片
import torch# 加载预训练模型
model = torch.hub.load('./yolo5', 'custom', path='yolov5s.pt', source='local')# 加载图片
img = '1.jpg'# 进行推理
results = model(img)# 解析结果
detections = results.xyxy[0].cpu().numpy() # [x1, y1, x2, y2, confidence, class]# 输出结果
for detection in detections:x1, y1, x2, y2, confidence, cls = detectionprint(f"Class: {model.names[int(cls)]}, Confidence: {confidence:.2f}, Box: [{x1}, {y1}, {x2}, {y2}]")# 显示结果
results.show()
视频
import cv2
import torch# 加载预训练模型
model = torch.hub.load('../yolo5', 'custom', path='yolov5s.pt', source='local')# 加载视频
video_path = '1.mp4'
cap = cv2.VideoCapture(video_path)# 获取视频的宽度、高度和帧率
width = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH))
height = int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT))
fps = cap.get(cv2.CAP_PROP_FPS)# 定义视频写入对象
output_path = 'output_video.mp4'
fourcc = cv2.VideoWriter_fourcc(*'mp4v') # 编码格式
out = cv2.VideoWriter(output_path, fourcc, fps, (width, height))while cap.isOpened():ret, frame = cap.read()if not ret:break# 将帧转换为RGB格式img_rgb = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)# 进行推理results = model(img_rgb)# 解析结果detections = results.xyxy[0].cpu().numpy() # [x1, y1, x2, y2, confidence, class]# 在帧上绘制检测结果并打印坐标for detection in detections:x1, y1, x2, y2, confidence, cls = detectionlabel = f"{model.names[int(cls)]} {confidence:.2f}"cv2.rectangle(frame, (int(x1), int(y1)), (int(x2), int(y2)), (255, 0, 0), 2)cv2.putText(frame, label, (int(x1), int(y1) - 10), cv2.FONT_HERSHEY_SIMPLEX, 0.9, (255, 0, 0), 2)# 打印目标的坐标和类别print(f"Class: {model.names[int(cls)]}, Confidence: {confidence:.2f}, Box: [{x1}, {y1}, {x2}, {y2}]")# 显示结果cv2.imshow('YOLOv5 Detection', frame)# 写入帧到输出视频out.write(frame)# 按 'q' 键退出实时显示if cv2.waitKey(1) & 0xFF == ord('q'):break# 释放资源
cap.release()
out.release()
cv2.destroyAllWindows()
摄像头
import torch
import cv2
import numpy as np
import time# 加载预训练模型
model = torch.hub.load('../yolov5-master', 'custom', path='yolo_test/yolo_test-gpu7/weights/best.pt', source='local')# 打开摄像头
cap = cv2.VideoCapture(0)# 检查摄像头是否成功打开
if not cap.isOpened():print("Error: Could not open video.")exit()# 初始化计时器
prev_time = time.time()# 进行实时检测
while True:# 读取摄像头帧ret, frame = cap.read()if not ret:print("Error: Failed to capture image")break# 将帧转换为YOLOv5模型需要的格式results = model(frame)# 解析结果detections = results.xyxy[0].cpu().numpy() # [x1, y1, x2, y2, confidence, class]# 在帧上绘制检测结果for detection in detections:x1, y1, x2, y2, confidence, cls = detectionlabel = f"{model.names[int(cls)]} {confidence:.2f}"cv2.rectangle(frame, (int(x1), int(y1)), (int(x2), int(y2)), (0, 255, 0), 2)cv2.putText(frame, label, (int(x1), int(y1) - 10), cv2.FONT_HERSHEY_SIMPLEX, 0.9, (36, 255, 12), 2)# 计算并显示帧率current_time = time.time()fps = 1 / (current_time - prev_time)prev_time = current_timecv2.putText(frame, f"FPS: {fps:.2f}", (10, 30), cv2.FONT_HERSHEY_SIMPLEX, 1, (255, 0, 0), 2)# 显示结果cv2.imshow('YOLOv5 Real-Time Detection', frame)# 按 'q' 键退出循环if cv2.waitKey(1) & 0xFF == ord('q'):break# 释放摄像头并关闭所有窗口
cap.release()
cv2.destroyAllWindows()
相关文章:
yolo5图片视频、摄像头推理demo
yolo5图片、视频推理demo 图片 import torch# 加载预训练模型 model torch.hub.load(./yolo5, custom, pathyolov5s.pt, sourcelocal)# 加载图片 img 1.jpg# 进行推理 results model(img)# 解析结果 detections results.xyxy[0].cpu().numpy() # [x1, y1, x2, y2, confid…...
Scala学习笔记19: 隐式转换和隐式参数
目录 第十九章 隐式转换和隐式参数1- 隐式转换1. 隐式准换函数: 施展魔法的咒语2. 隐式类: 为已有类型添加魔法3. 隐式转换规则: 魔法生效的条件4. 举例说明: 见证魔法的时刻5. 注意事项: 谨慎使用魔法 2. 隐式参数1. 语义: 隐藏在背后的参数2. 使用 隐式参数的方式2.1 隐式值:…...
用户登录安全是如何保证的?如何保证用户账号、密码安全?
1.HTTP协议直接传输密码(无加密) 前端 直接发送HTTP请求(无加密),攻击者可直接捕获网络包,看到下面的明文信息 因此,使用HTTP协议传输会直接暴露用户敏感信息。 2.HTTPS协议直接传输密码&…...
Java 写一个可以持续发送消息的socket服务端
前言 最近在学习flink, 为了模仿一个持续的无界的数据源, 所以需要一个可以持续发送消息的socket服务端. 先上效果图 效果图 socket服务端可以持续的发送消息, flink端是一个统计单词出现总数的消费端,效果图如下 源代码 flink的消费端就不展示了, 需要引入一些依赖和版本…...
Ubuntu2204搭建ceph17
Ceph 环境初始化搭建Ceph 本次实验基于VMware17 节点IPstorage01192.168.200.161storage01192.168.200.162storage01192.168.200.163 环境初始化 初始化基础环境,三节点执行 #!/bin/bash# 定义节点信息 NODES("192.168.200.161 storage01 root" "…...
Druid 面试题及答案整理,最新面试题
Druid连接池在项目中有哪些优势? 1、高性能: Druid连接池在性能方面进行了大量优化,可以快速回收和分配数据库连接,减少数据库访问延迟。 2、实时监控: 提供Druid Monitor监控功能,可以实时监控数据库访问性能和连接池状态,便于及时发现和解决问题。 3、扩展性强: 支持…...
数据库基础与安装MYSQL数据库
一、数据库管理系统DBMS 数据库技术是计算机科学的核心技术之一,具有完备的理论基础。使用数据库可以高效且条理分明地存储数据,使人们能够更加迅速、方便地管理数据 1.可以结构化存储大量的数据信息,方便用户进行有效的检索和访问 2.可以…...
昇思25天学习打卡营第18天| DCGAN生成漫画头像
DCGAN,全称深度卷积对抗生成网络(Deep Convolutional Generative Adversarial Networks),是一种通过对抗训练生成图像的技术。它在判别器和生成器中都使用了卷积和转置卷积层。 训练分为两个部分:训练判别器和训练生成…...
【面试八股文】计算机操作系统
参考:大佬图解文章 → 小林coding 简介:之前在学习小林大佬的八股文时,摘录了一些个人认为比较重要的内容,方便后续自己复习。【持续更新ing ~💯】 注:加五角星标注的,是当前掌握不牢固的&…...
宝塔Wordpress 插件 Redis object cache 导致内存很高 80%以上的原因和解决
查看内存前X 使用以下命令查看前10,修改10数字即可查看前X ps aux | head -1;ps aux |grep -v PID |sort -rn -k 4 | head -10 查看cpu占用 查看前10 ps aux | head -1;ps aux |grep -v PID |sort -rn -k 3 | head -10 原因是 4GiB 内存的服务器,Redis会…...
node解析Excel中的考试题并实现在线做题功能
1、背景 最近公司安排业务技能考试,下发excel文件的题库,在excel里查看并不是很方便,就想着像学习驾考题目一样,一边看一边做,做完之后可以查看正确答案。 2、开始分析需求 题目格式如下图 需求比较简单,…...
怎么降低美国服务器硬盘故障率?
要降低硬盘故障率,首先需要了解其产生的原因,常见的美国服务器硬盘故障原因包括温度过高、振动过大、电流不稳定、质量问题等。对于美国服务器而言,由于其运行环境可能存在差异,如温湿度变化大、电力供应不稳定等,这些…...
Java---后端事务管理
代码世界聚眸光,昼夜敲盘思绪长。 算法心间精构建,编程路上细思量。 屏前架构乾坤定,键上飞驰智慧扬。 默默耕耘成果现,创新科技铸辉煌。 目录 一,概念 二,Spring事务管理 三,rollbackFor事务回…...
Leetcode 3223. Minimum Length of String After Operations
Leetcode 3223. Minimum Length of String After Operations 1. 解题思路2. 代码实现 题目链接:3223. Minimum Length of String After Operations 1. 解题思路 这一题还是比较简单的,其实就是想明白对于任何一个字符,如果其个数在3个或以…...
oops使用笔记
oops-plugin-excel-to-json 使用 gitee上的文档图片不可见 参考 > https://forum.cocos.org/t/topic/156800 配置,打开“项目设置”,拖动到最下面,有一个"Excel to Json",前3项采用默认配置吧Excel, 默认的Excel目录是与assets平级的excel目…...
redistemplate介绍与演示
redistemplate是一个用于在Redis中存储和检索数据的模板库。它提供了一组简单易用的函数和接口,使开发者能够更方便地使用Redis进行数据操作。 使用redistemplate,你可以实现以下功能: 存储和检索数据:redistemplate提供了存储和…...
代谢组数据分析(十五):基于python语言构建PLS-DA算法构建分类模型
介绍 本教程描述了一个具有二元分类结果的研究的典型代谢组学数据分析工作流程。主要步骤包括: 从Excel表格导入代谢物和实验数据。基于汇总QC的数据清洗。利用主成分分析可视化来检查数据质量。两类单变量统计。使用偏最小二乘判别分析(PLS-DA)进行多变量分析,包括: 模型…...
任务3 git基础知识(主要是pr的笔记)
任务要求 https://github.com/InternLM/Tutorial/blob/camp3/docs/L0/Git/task.md 文档 https://github.com/InternLM/Tutorial/blob/camp3/docs/L0/Git/readme.md 任务 任务1:提交PR https://github.com/InternLM/Tutorial/pull/1242 任务2:实践…...
三相PWM整流器滞环电流控制仿真matlab simulink
1、内容简介 略 88-可以交流、咨询、答疑 2、内容说明 略 三相PWM整流器已广泛应用工业与电气控制领域电流控制技术决定着三相PWM整流器系统的控制性能。综合比 较了各种电流控制方法应用较多的滞环比较…...
AVL树超详解上
前言 学习过了二叉树以及二叉搜索树后(不了解二叉搜索树的朋友可以先看看这篇博客,二叉搜索树详解-CSDN博客),我们在一般情况下对于二叉搜索树的插入与查询时间复杂度都是O(lgN),是十分快的,但是在一些特殊…...
spring boot 实现token验证登陆状态
1、添加maven依赖到pom.xml <dependency><groupId>io.jsonwebtoken</groupId><artifactId>jjwt-api</artifactId><version>0.11.5</version></dependency><dependency><groupId>io.jsonwebtoken</groupId>…...
【.NET全栈】ASP.NET开发Web应用——用户控件和绘图
文章目录 前言一、用户控件1、创建用户控件2、使用用户控件3、在web.config中注册用户控件4、用户控件中公开属性5、用户控件事件6、动态加载用户控件 二、动态绘图1、基本绘图2、绘制一个自定义的图片3、在Web页面放置自定义图片4、图片格式和质量5、一个Web绘图示例程序 前言…...
一行Python代码实现数据清洗的18种方法
目录 1. 去除字符串两边空格 2. 转换数据类型 3. 大小写转换 4. 移除列表中的重复元素 5. 快速统计元素出现次数 6. 字符串分割成列表 7. 列表合并 8. 数据填充 9. 提取日期时间 10. 字符串替换 11. 快速排序 12. 提取数字 13. 空值处理(假设是列表&am…...
Java API练习 (1) (2024.7.20)
Date类 package APIExercise20240720; import java.util.Date; // 导包,Date是util下的 public class Date20240720 {public static void main(String[] args) {Date nowTime new Date(); // 得到当前系统时间System.out.println(nowTime);Date startTime new Da…...
JavaScript之WebAPIs-BOM
目录 BOM操作浏览器一、Window对象1.1 BOM(浏览器对象模型)1.2 定时器-延时函数1.3 js执行机制1.4 location对象1.5 navigator对象1.6 history对象 二、本地存储三、补充数组中的map方法数组中的join方法数组中的forEach方法(重点)数组中的filter方法(重…...
Math Reference Notes: 数学思想和方法
文章目录 1. 数学思想1.1 数形结合思想1.2 转化思想1.3 分类讨论思想1.4 整体思想 2. 数学方法2.1 配方法2.2 因式分解法2.3 待定系数法2.4 换元法2.5 构造法2.6 等积法2.7 反证法2.8 判别式法 1. 数学思想 1.1 数形结合思想 定义:将数与形(代数与几何…...
Spring Cloud GateWay(4.1.4)
介绍 该项目提供了一个建立在 Spring 生态系统之上的 API 网关,包括:Spring 6、Spring Boot 3 和 Project Reactor。Spring Cloud Gateway 旨在提供一种简单而有效的方法来路由到 API,并为其提供跨领域关注点,例如:安…...
基于PHP+MYSQL开发制作的趣味测试网站源码
基于PHPMYSQL开发制作的趣味测试网站源码。可在后台提前设置好缘分, 自己手动在数据库里修改数据,数据库里有就会优先查询数据库的信息, 没设置的话第一次查询缘分都是非常好的 95-99,第二次查就比较差 , 所以如果要…...
【微信小程序】wx.navigateTo传参时不能使用const定义的数据类型
2024年7月21日更新 今日调试时发现似乎是因为使用vant-weapp时按照官方提示关闭了style:"v2"导致的此情况,打开之后无法复现该内容,特此提示。 以下是原内容 如题,笔者测试了好久才找到这个bug,想传递的数据是this.d…...
【Android studio环境搭建】Android studio连接夜神模拟器
Android studio连接夜神模拟器 一、 步骤 1.下载好Android Studio和夜神模拟器, 2.打开夜神模拟器,找到其安装目录下的 nox_adb.exe文件 3.右键进入cmd命令打开,管理员权限执行下面命令 PS D:\Program Files\Nox\bin> .\nox_adb.exe connect 127.…...
好网站求推荐/网站分析
我正试图让我的新samba服务器运行几天,我开始失去理智而不知道我做错了什么.这是我的设置:OpenLDAP 2.4.21服务器,包含~15个组和> 100个用户,所有服务器都具有存储在LDAP中的unix和samba密码,以及分配和存储在LDAP中的用户SID和主要组SID,这些服务器来自SID LDAP…...
wordpress摘要添加省略号/宁波seo排名费用
Java NIO Path基本概念Path的创建创建绝对路径Path创建相对路径PathPath类的方法normalize基本概念 Path接口在java.nio.file包下在Java中 ,Path表示文件系统的路径,可以指向文件或者文件夹,有绝对路径和相对路径之分java.nio.file.Path接口和操作系统的path环境变量没有任何关…...
信息网站设计案例/企业网站推广的方法有
题意: 给定一棵树,n个节点,若删除点v使得剩下的连通快最大都不超过n/2,则称这样的点满足要求。求所有这样的点,若没有这样的点,输出NONE。 思路: 只需要拿“求树的重心”的代码改一行就OK了。因…...
最好的网站建设用途/seo营销外包公司
这两天,鸿蒙操作系统因为在华为合作伙伴大会上的正式亮相,再次成为公众关注的一大热门话题。但操作系统毕竟不像折叠屏手机那样,看得见、摸得着,所以对它诞生的重要意义,以及对未来5G应用的影响,需要详细地…...
xiu主题做的网站/seo软件定制
一、产业链概述 砂石是砂子和石子的统称,因其良好的硬度和稳定的化学性质,常常作为优质的建筑材料、混凝土原料而广泛应用于房屋、道路、公路、铁路、工程等领域。砂石产业的上游包括原材料、相关机械设备、爆破材料等,中游是砂石的处理环节&…...
贵阳个人做网站/网站建设平台官网
转自:https://blog.csdn.net/KYJL888/article/details/77846122 a) int a;表示一个内存空间,这个空间用来存放一个整数(int); b) int* a;表示一个内存空间,这个空间用来存放一个指针,这个指针指…...