当前位置: 首页 > news >正文

编写一个yolov5的模型检测,只要运行后,就不结束,只要有文件放入到文件夹中,就去执行读取

编写一个yolov5的模型检测,只要运行后,就不结束,只要有文件放入到文件夹中,就去执行读取

import os  
import cv2  
import torch  
from torchvision import transforms  
from PIL import Image  
from yolo.model import YOLOv5  # 设置YOLOv5模型路径  
YOLO_MODEL_PATH = 'path/to/your/yolov5_model.pt'  # 设置要检测的文件夹路径  
FOLDER_PATH = 'path/to/your/folder'  # 加载YOLOv5模型  
model = YOLOv5(weights=YOLO_MODEL_PATH)  # 预处理图像  
preprocess = transforms.Compose([  transforms.ToTensor(),  transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225])  
])  # 进入循环,不断检测新文件  
while True:  # 获取文件夹中的所有文件  files = os.listdir(FOLDER_PATH)  # 遍历每个文件  for file in files:  # 获取文件的完整路径  file_path = os.path.join(FOLDER_PATH, file)  # 打开并预处理图像  image = Image.open(file_path).convert('RGB')  image = preprocess(image).unsqueeze(0)  # 使用YOLOv5模型进行检测  results = model(image)  # 处理检测结果(例如,输出到控制台或保存为文件)  # ...  # 休眠一段时间,以减少CPU使用率  import time  time.sleep(1)

为了让程序持续执行并不断检测新文件,你需要使用一个循环来不断读取文件夹中的文件并进行检测。在每次检测完一个文件后,程序会返回到循环的开始,继续读取下一个文件。在循环中,你可以添加适当的延迟来控制程序的执行速度,减少CPU使用率。
以下是修改后的代码示例,添加了一个无限循环和一个休眠的延迟:

import os  
import cv2  
import torch  
from torchvision import transforms  
from PIL import Image  
from yolo.model import YOLOv5  # 设置YOLOv5模型路径  
YOLO_MODEL_PATH = 'path/to/your/yolov5_model.pt'  # 设置要检测的文件夹路径  
FOLDER_PATH = 'path/to/your/folder'  # 加载YOLOv5模型  
model = YOLOv5(weights=YOLO_MODEL_PATH)  # 预处理图像  
preprocess = transforms.Compose([  transforms.ToTensor(),  transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225])  
])  # 无限循环,不断检测新文件  
while True:  # 获取文件夹中的所有文件  files = os.listdir(FOLDER_PATH)  # 遍历每个文件  for file in files:  # 获取文件的完整路径  file_path = os.path.join(FOLDER_PATH, file)  # 打开并预处理图像  image = Image.open(file_path).convert('RGB')  image = preprocess(image).unsqueeze(0)  # 使用YOLOv5模型进行检测  results = model(image)  # 处理检测结果(例如,输出到控制台或保存为文件)  # ...  # 休眠一段时间,以减少CPU使用率  import time  time.sleep(1)  # 设置休眠时间,单位为秒

相关文章:

编写一个yolov5的模型检测,只要运行后,就不结束,只要有文件放入到文件夹中,就去执行读取

编写一个yolov5的模型检测,只要运行后,就不结束,只要有文件放入到文件夹中,就去执行读取 import os import cv2 import torch from torchvision import transforms from PIL import Image from yolo.model import YOLO…...

vscode调试PHP代码

目录 准备工作ssh的连接以及配置调试 准备工作 1.首先你需要下载一个vscode 2.下载模块 你需要在VScode中去下载我们所需的两个模块PHP Debug以及remote -ssh 3.安装对应版本的xdebug 需要在xdebug的官方去进行分析,选择适合你自己版本的xdebug 去往官方&#x…...

js reverse实现数据的倒序

2023.8.25今天我学习了如何在数组顺序进行倒序排列,如: 原数组为: 我们只需要对数组使用reverse()方法 let demo [{id: 1, name: 一号},{id: 2, name: 二号},{id: 3, name: 三号},]demo.reverse()console.log(demo) 扩展: 当我…...

日常踩坑记录

本篇文章主要介绍一下最近的开发中用到的些小问题。问题不大,但有些小细节,记录一下,有遇到的朋友可以看一下,有更好的解决方法欢迎分享。 浏览器记住密码自动填充表单 这个问题我在火狐浏览器遇到了。我登录系统时选择了浏览器…...

threejs特殊几何体(一:文字几何体对象)

threejs中文字几何体通过newTextGeometry&#xff08;&#xff09;生成&#xff0c;它被单独作为一个类存在于threejs中const txtGeo new TextGeometry("threejs", { ...opts, font: font }); 我们先看效果&#xff1a; <template><div></div> &…...

链表的实现

本程序List链表用两种方式实现&#xff0c;一种是双向链表&#xff0c;一种是双向循环链表。循环双向链表和双向链表&#xff0c;它们的编码差别很小&#xff1b;但是循环链表在插入效率上胜出很多&#xff0c;同时查询时候更灵活。综合考虑&#xff0c;循环链表是首选。 另外…...

c++ std::mutex与std::condition_variable

1. std::mutex lock()加锁; try_lock()尝试加锁; unlock()解锁; std::mutex m_mutex; m_mutex.lock(); ... m_mutex.unlock(); 2. std::lock_guard 类模板;等同自动锁,直接取代lock()和unlock(); 构造时加锁,析构时解锁; std::mutex m_mutex; {std::lock_guard<std:…...

Aspose.Tasks for .NET V23Crack

Aspose.Tasks for .NET V23Crack 改进了大型项目的内存占用。 添加了API&#xff0c;允许您在应用程序无法访问系统字体文件夹时指定用户的字体文件夹。 Aspose.Tasksfor.NET是处理MicrosoftProject文件的可靠的项目管理API。API支持在不依赖Microsoft Project的情况下读取、写…...

vue过渡及动画

文章目录 前言类名使用自己定义动画样式多个元素过渡使用第三方库 前言 对于vue中的过渡与动画&#xff0c;官网上是这样概述的&#xff1a; Vue 在插入、更新或者移除 DOM 时&#xff0c;提供多种不同方式的应用过渡效果。包括以下工具&#xff1a; 在 CSS 过渡和动画中自动…...

Linux环境下SVN服务器的搭建与公网访问:使用cpolar端口映射的实现方法

文章目录 前言1. Ubuntu安装SVN服务2. 修改配置文件2.1 修改svnserve.conf文件2.2 修改passwd文件2.3 修改authz文件 3. 启动svn服务4. 内网穿透4.1 安装cpolar内网穿透4.2 创建隧道映射本地端口 5. 测试公网访问6. 配置固定公网TCP端口地址6.1 保留一个固定的公网TCP端口地址6…...

【ubuntu】 DNS 设置工具 resolvectl

什么是 resolvectl “resolvectl” 是一个用于管理系统 DNS 解析配置的命令行工具。它是 systemd-resolved 服务的一部分&#xff0c;该服务是在许多基于 Systemd 的 Linux 发行版中用于管理网络配置和 DNS 解析的系统服务。 通过 resolvectl 命令&#xff0c;可以查看当前系…...

Keepalived+Lvs(dr)调度器主备配置小实验

目录 前言 一、实验拓扑图 二、配置LVS&#xff08;dr&#xff09;模式 三、配置调配器热备 四、测试 总结 前言 Keepalived和LVS&#xff08;Linux Virtual Server&#xff09;是两个常用的开源软件&#xff0c;通常结合使用以提供高可用性和负载均衡的解决方案。 Keepalive…...

第四讲Java基本语法——数组结构(多维数组)

前言 前面几讲,我们讲了Java基本语法,初学者也能够有一定的入门。本讲,我们也是继续来讲解一下Java另一个基础语法——数组,其实在前面讲解数据类型的时候,我们也有提到数组是引用类型,那今天我们就来分析一下什么是数组,怎么用数组呢? 一、数组是什么 数组是…...

【题解】JZOJ6578 / 洛谷P5201[USACO2019Jan]Shortcut G

洛谷 P5201 [USACO19JAN] Shortcut G 题意 在一个带权无向连通图上&#xff0c;每个点有 a i a_i ai​ 只奶牛&#xff0c;奶牛会走最短路径到 1 1 1&#xff0c;如果有多条路径&#xff0c;选择字典序最小的&#xff0c;定义移动总时间为所有奶牛走到 1 1 1 的时间之和。…...

npm install sentry-cli失败的问题

1. 目前报错 2. 终端运行 npm set ENTRYCLI_CDNURLhttps://cdn.npm.taobao.org/dist/sentry-cli npm set sentrycli_cdnurlhttps://cdn.npm.taobao.org/dist/sentry-cli3. 再安装 npx sentry/wizardlatest -i nextjs即可成功...

Node opensslErrorStack 错误解决方法记录

从Git仓库中下载了一个老项目&#xff0c;使用npm install 安装后没有问题&#xff0c;当我使用npm run dev 的时候遇到了 OpenSSL 相关错误&#xff0c;例如 opensslErrorStack: [error:03000086:digital envelope routines::initialization error] 网上找了一下相关信息&am…...

你知道什么是Grandmillennial风格吗,进来看看吧

如果你既欣赏祖母的印花棉布扶手椅和大胆的图案&#xff0c;又喜欢千禧一代朋友现代家居中的开放空间和时尚家具&#xff0c;那么 "千禧一代 “风格就是为你量身打造的。它借鉴了几十年来的流行趋势&#xff0c;形成了一种独特的、带有现代风格的老式设计。 在典型的 &quo…...

App Inventor 2 开发 ChatGPT 对话App

ChatGPT大家应该不会陌生&#xff0c;它的回答内容非常的专业及深入&#xff0c;具有实际的可指导性。我们通过App Inventor 2开发一个简单的对话App&#xff0c;先看效果&#xff1a; App Inventor 2 ChatGPT教育领域对话演示 代码块如下&#xff1a; 用到的核心组件“ChatBot…...

SQL 大小敏感问题

在SQL中&#xff0c;关键字和函数名 是不区分 大小写的 比如&#xff08;select、where、order by 、group by update 等关键字&#xff09;&#xff0c;以及函数(ABS、MOD、round、min等) window系统默认是大小写不敏感 &#xff08;ZEN文件和zen 文件 不能同时存在&#xff…...

微信小程序+Taro 混编,Taro 使用微信原生 behaviors

最近有一个小程序项目&#xff0c;因为一些原因项目架构选择了微信小程序原生Taro 混编的方式进行开发&#xff0c;在开发的过程中发现 Taro 不支持使用原生的 behaviors 特性&#xff0c;因为混编的原因项目当中已有原生页面在使用 behaviors&#xff0c;所以需要一个方案在不…...

UI自动化测试--02(Xpath与CSS定位全攻略)

1.Xpath定位xpath和css定位可以利用以下元素的信息来完成定位&#xff1a; 层级结构 元素自身的所有信息 什么是Xpath&#xff1a; 是一种专门在xml文档中找元素的公式&#xff08;表达式&#xff09;&#xff0c;而HTML刚好和XML结构很类似&#xff0c;所以XPATH的表达 式也可…...

HunyuanVideo-Foley环境音生成挑战赛:最佳提示词与生成作品赏析

HunyuanVideo-Foley环境音生成挑战赛&#xff1a;最佳提示词与生成作品赏析 1. 挑战赛背景与规则 最近&#xff0c;一场以"城市夜晚"为主题的HunyuanVideo-Foley环境音生成挑战赛吸引了众多音频创作者参与。这场赛事要求参赛者使用HunyuanVideo-Foley系统&#xff…...

LightGBM实战:极速梯度提升框架的多变量时序预测深度解析

LightGBM实战&#xff1a;极速梯度提升框架的多变量时序预测深度解析 【免费下载链接】LightGBM microsoft/LightGBM: LightGBM 是微软开发的一款梯度提升机&#xff08;Gradient Boosting Machine, GBM&#xff09;框架&#xff0c;具有高效、分布式和并行化等特点&#xff0c…...

Z-Image-Turbo-辉夜巫女详细步骤:Xinference服务状态检查+Gradio端口映射配置

Z-Image-Turbo-辉夜巫女详细步骤&#xff1a;Xinference服务状态检查Gradio端口映射配置 1. 模型简介 Z-Image-Turbo-辉夜巫女是基于Z-Image-Turbo模型的LoRA版本&#xff0c;专门用于生成具有辉夜巫女风格的人物图片。这个模型通过Xinference框架部署&#xff0c;提供了稳定…...

查重率亮红灯反复修改,有哪些真正闭眼可入的的AI智能降重工具推荐?

毕业论文降重&#xff0c;核心在于语义优化 去AI痕迹 降低查重率&#xff0c;工具选择直接影响修改效率。推荐免费与付费工具结合使用&#xff0c;既能节省成本又保证效果。下面按中文、英文、免费/付费分类整理&#xff0c;附上实测效果与适用场景。 一、中文论文降重工具&a…...

如何全面移除开源工具残留?四步环境净化实施方案

如何全面移除开源工具残留&#xff1f;四步环境净化实施方案 【免费下载链接】ralph-claude-code Autonomous AI development loop for Claude Code with intelligent exit detection 项目地址: https://gitcode.com/GitHub_Trending/ra/ralph-claude-code 一、问题诊断…...

# 发散创新:基于事件驱动架构的实时日志监控系统设计与实现在现代分布式系统中,**事件驱动编程模型

发散创新&#xff1a;基于事件驱动架构的实时日志监控系统设计与实现 在现代分布式系统中&#xff0c;事件驱动编程模型正逐渐成为构建高可扩展、高性能应用的核心范式。相比传统的轮询或阻塞式处理方式&#xff0c;事件驱动能够显著降低资源消耗并提升响应效率。本文将深入探讨…...

TPS5430做正负电源,一接负载就烧芯片?我烧了10片才找到这个关键电容

TPS5430正负电源设计避坑指南&#xff1a;为什么Vin与负Vout之间必须加Cd电容&#xff1f; 当我在实验室里闻到第十颗TPS5430芯片烧毁的焦糊味时&#xff0c;终于意识到这个看似简单的正负电源设计背后藏着不为人知的设计陷阱。作为一款经典的DC-DC降压芯片&#xff0c;TPS5430…...

Dalamud:构建安全高效的插件开发框架从入门到精通

Dalamud&#xff1a;构建安全高效的插件开发框架从入门到精通 【免费下载链接】Dalamud FFXIV plugin framework and API 项目地址: https://gitcode.com/GitHub_Trending/da/Dalamud 在现代应用开发中&#xff0c;扩展功能与保持系统稳定性之间的矛盾始终存在。开发人员…...

OpenClaw性能对比:GLM-4.7-Flash与其他模型实测数据

OpenClaw性能对比&#xff1a;GLM-4.7-Flash与其他模型实测数据 1. 测试背景与实验设计 最近在优化个人自动化工作流时&#xff0c;我注意到OpenClaw对不同大模型的表现差异显著。特别是当任务链较长时&#xff0c;模型响应速度和稳定性直接影响最终效果。本次测试聚焦于GLM-…...