YOLOv5可视化界面
Pyside6可视化界面
安装Pyside6
激活之前的虚拟环境yolov5
在该环境的终端输入以下命令
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pyside6
输入where python
找到当前使用的Python的路径
找到该路径下的designer.exe文件(/Lib/site-packages/PySide6/designer.exe),然后发送到桌面创建快捷方式
UI设计
- 打开designer
- 选择Main Window
- 移除菜单栏
- 拖两个label个一个line进来
- 拖两个button进入,并进行命名
- 调整界面,填写两个label里面文件,将界面调小一些
- 居中对齐,同时勾选scaledContents
- 元素名称更改
- Ctrl+S保存,保存到上一部分训练数据集的文件内
设置Pyside6-uic 工具
- 在当前虚拟环境的Python路径下,打开
Scripts
文件夹夹,找到pyside6-uic.exe
,记住当前路径
- 创建工具
名称:PyUic(可自己定义)
程序:E:\kaifa\Anaconda3\envs\yolov5\Scripts\pyside6-uic.exe
实参:$FileName$ -o $FileNameWithoutExtension$.py
工作目录: $FileDir$
- 使用该工具
先在pycharm中打开刚才生成的ui文件
双击打不开的话,把文件拖到右边就可以打开了
然后在【工具】选项卡下的【external tools】下,点击【PyUic】(这个名称是你刚才自己设计的)
如果生成了相同文件名的.py文件,即说明设置成功
编写运行程序
创建模板文件base_ui.py
import sys
import torch
from PySide6.QtGui import QPixmap, QImage
from PySide6.QtWidgets import QMainWindow, QApplication, QFileDialogfrom main_window import Ui_MainWindow #main_windows是刚才生成的ui对用的Python文件名def convert2QImage(img):height, width, channel = img.shapereturn QImage(img, width, height, width * channel, QImage.Format_RGB888)class MainWindow(QMainWindow, Ui_MainWindow):def __init__(self):super(MainWindow, self).__init__()self.setupUi(self)if __name__ == "__main__":app = QApplication(sys.argv)window = MainWindow()window.show()app.exec()
编译运行,弹出窗口说明成功
编写内部具体功能的代码
讲解视频:YOLOv5 Pyside6可视化界面
import sys
import cv2
import torch
from PySide6.QtGui import QPixmap, QImage
from PySide6.QtWidgets import QMainWindow, QApplication, QFileDialog
from PySide6.QtCore import QTimerfrom main_window import Ui_MainWindow # main_windows是刚才生成的ui对用的Python文件名def convert2QImage(img):height, width, channel = img.shapereturn QImage(img, width, height, width * channel, QImage.Format_RGB888)class MainWindow(QMainWindow, Ui_MainWindow):def __init__(self):super(MainWindow, self).__init__()self.setupUi(self)self.model = torch.hub.load("./", "custom", path="runs/train/exp/weights/best.pt", source="local")self.video = Noneself.timer = QTimer()self.timer.setInterval(1)self.bind_slots() # 绑定槽函数def image_pred(self, file_path): # 图片检测results = self.model(file_path) image = results.render()[0]return convert2QImage(image)def open_image(self): # 打开图片print("点击了检测图片按钮")self.timer.stop() # 停止视频检测file_path = QFileDialog.getOpenFileName(self, dir="./data02/images/train", filter="*.jpg;*.png;*.jpeg")if file_path[0]:file_path = file_path[0]qimage = self.image_pred(file_path)self.input.setPixmap(QPixmap(file_path))self.output.setPixmap(QPixmap.fromImage(qimage))def video_pred(self): # 视频检测ret, frame = self.video.read()if not ret:self.timer.stop()else:frame = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)self.input.setPixmap(QPixmap.fromImage(convert2QImage(frame)))results = self.model(frame)image = results.render()[0]self.output.setPixmap(QPixmap.fromImage(convert2QImage(image)))def open_video(self): # 打开视频print("点击了检测视频!")file_path = QFileDialog.getOpenFileName(self, dir="./data02", filter="*.mp4")if file_path[0]:file_path = file_path[0]self.video = cv2.VideoCapture(file_path)self.timer.start()def bind_slots(self): # 绑定槽函数self.det_image.clicked.connect(self.open_image)self.det_video.clicked.connect(self.open_video)self.timer.timeout.connect(self.video_pred)if __name__ == "__main__":app = QApplication(sys.argv)window = MainWindow()window.show()app.exec()
Gradio搭建Web GUI
安装Gradio
激活之前的虚拟环境yolov5
在该环境的终端输入以下命令
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple gradio
实现
新建gradio_demo.py
文件
输入图片、输出图片、预测函数
Gradio不支持实时检测
import torch
import gradio as grmodel = torch.hub.load("./", "custom", path="runs/train/exp/weights/best.pt", source="local")title = "基于Gradio的YOLOv5演示项目"desc = "这是一个基于Gradio的YOLOv5演示项目,非常简洁,非常方便!"base_conf, base_iou = 0.25, 0.45def det_image(img, conf_thres, iou_thres):model.conf = conf_thresmodel.iou = iou_thresreturn model(img).render()[0]gr.Interface(inputs=["image", gr.Slider(minimum=0, maximum=1, value=base_conf), gr.Slider(minimum=0, maximum=1, value=base_iou)],outputs=["image"],fn=det_image,title=title,description=desc,live=True,examples=[["./data02/images/train/30.jpg", base_conf, base_iou],["./data02/images/train/60.jpg", 0.3, base_iou]]
).launch(share=True)
如果想发布到网上,设置share=True参数,但是运行的时候会因为网络原因,报出下面的错误,可以通过提示的网址下载对应文件,重命名后放到相应的目录下,重新运行
相关文章:

YOLOv5可视化界面
Pyside6可视化界面 安装Pyside6 激活之前的虚拟环境yolov5 在该环境的终端输入以下命令 pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pyside6输入where python找到当前使用的Python的路径 找到该路径下的designer.exe文件(/Lib/site-packages/PySi…...
C语言使用库函数实现大小写字母转换
功能;多行输入,输入大写字母,返回相应的小写字母;输入小写字母,返回相应的大写字母 需要用到的库函数: islower() -- 判断是否为小写,是,返回非0,…...

Redis简单学习
Redis是一个基于内存的key-value结构数据库 linux上面安装: Redis存储的是key-value结构的数据,其中key是字符串,value有常见的5中数据类型: 字符串 string哈希 hash列表 list集合 set有序集合 sorted set 字符串常用操作&am…...

《Python入门到精通》函数详解
「作者主页」:士别三日wyx 「作者简介」:CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」:小白零基础《Python入门到精通》 函数 1、函数的调用2、函数的参数2.1、变量的就近原则2.2、传递参数2.3、形参和实…...

PHP流浪动物招领网站mysql数据库web结构apache计算机软件工程网页wamp
一、源码特点 PHP流浪动物招领网站 是一套完善的web设计系统,对理解php编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。 下载链接 nullhttps://download.csdn.net/download/qq_41221322/88190168视频演示 …...
android—ktor-client封装使用,请求网络
ktor-client封装使用步骤: 1.导入依赖: 设置版本号: buildscript {ext.ktor_version 2.3.1 }添加依赖: implementation "io.ktor:ktor-client-okhttp:$ktor_version"implementation "io.ktor:ktor-client-auth…...

GD32F103VE侵入事件
GD32F103VE的TAMPER引脚(PC13),当PC13输入低电平时,会产生一个侵入检测事件。它会将所有“数据备份寄存器”内容清除。 这个功能有什么用? 一是防止被人开壳,抄袭。二是自毁功能。 直奔主题,多一句就是浪费时间。测试…...

将tp5项目、fastadmin项目部署到服务器宝塔面板
目录 一、将你的fastadmin或者tp5项目文件夹上传至你的服务器域名根目录下 二、修改你的网站目录指向,指向public目录,点击保存,并取消勾选防跨站攻击。 三、配置伪静态 四、fastadmin框架上传至服务器后如果想要访问后台可以进行重定向&am…...

Jenkins+Docker+SpringCloud微服务持续集成
JenkinsDockerSpringCloud微服务持续集成 JenkinsDockerSpringCloud持续集成流程说明SpringCloud微服务源码概述本地运行微服务本地部署微服务 Docker安装和Dockerfile制作微服务镜像Harbor镜像仓库安装及使用在Harbor创建用户和项目上传镜像到Harbor从Harbor下载镜像 微服务持…...

系统架构设计师-系统可靠性分析与设计
目录 一、可靠性相关基本概念 二、可靠性指标 1、串联系统与并联系统可靠性指标计算 2、混合系统 三、可靠性设计 1、影响软件可靠性的主要因素: 2、增加可靠性的解决方案 2.1 避错技术 2.2 降低复杂度设计 2.3 检错技术 2.4 容错技术 3、双机容错 一、可靠性相关…...

Linux(CentOS7)搭建达梦数据库
参考官方文档 本文记录一下达梦数据库的安装步骤,在安装的过程中出现了一些问题,进行了处理。 文章目录 安装前准备数据库安装命令行安装图形化安装 配置实例注册服务启动、停止数据库达梦数据库卸载 安装前准备 用户在安装 DM 数据库之前需要检查或修…...
[杂谈]-国产MCU竞争力浅析
[杂谈]-国产MCU竞争力浅析 文章目录 [杂谈]-国产MCU竞争力浅析1、研发方面2、技术方面3、市场方面4、应用方面5、生态方面6、总结 微控制器(MCU)是一种集成了微处理器、存储器、输入/输出接口和其他外设的单片电路,广泛应用于各种电子产品和系…...
4.1、Flink任务怎样读取集合中的数据
1、API说明 非并行数据源: def fromElements[T: TypeInformation](data: T*): DataStream[T] def fromCollection[T: TypeInformation](data: Seq[T]): DataStream[T] def fromCollection[T: TypeInformation] (data: Iterator[T]): Data…...

JD商品详情页面+关键词搜索商品列表API接口数据,详情页面数据返回值说明
作为一个工作助手,我无法直接为您提供实时的京东商品详情。您可以通过访问京东官方网站或使用API接口来查看商品的详细信息。每个商品的详情页面通常会包括以下内容: 1. 商品标题:商品的名称和简要描述。 2. 价格信息:包括原价、…...
Electron v26.0.0-beta.11 发布,跨平台桌面应用开发工具
Electron是一款跨平台桌面应用开发工具,它基于Web技术,使用HTML、CSS和JavaScript来构建应用程序。它能够让开发者使用熟悉的Web开发技术来创建强大的桌面应用,并且可以运行在Windows、macOS和Linux等多个操作系统上。 一、Electron的特点 跨平台:Electron可以将Web技术转…...

提高办案效率:公检系统引入自动校对技术
引入自动校对技术到公检系统中可以有效提高办案效率。自动校对技术结合公检系统的特点,可以在以下方面提高办案效率: 1.节省时间:自动校对技术可以快速检测和修正法律文书中的语法、拼写和标点符号等错误。与手动校对相比,自动校对…...

iptables 清空
清空 iptables中所有策略。 -Z: 重置计数器 -F:删除所有规则(flush) -X:删除所有自定义的链 规则清理和重建如下: iptables -Z iptables -t nat -F iptables -t nat -X iptables -t nat -P PREROUTING A…...

网络安全(黑客)零基础入门
导语 什么是 Web 安全?我又该如何入门学习它呢?学习过程中又应注意哪些问题呢?... 或许你的心中有着这样的疑问、不过别着急,本文会为你一一解答这些问题。 正文 定义 Web 安全,顾名思义便是由保障 Web 应用能够持续…...
Al Go: 蒙特卡洛树搜索(MCTS)简介
目录 1. 前言 1.1 Minimax 1.2 剪枝 1.3 蒙特卡洛树搜索 1.4 为什么随机走子会可行呢? 2. vanilla Monte Carlo tree search 3. UCT-based trade-off between exploitation and exploration 4. MCTS基本算法流程 5. Efficiency Through Expert Policies 6…...
Client-go操作Deployment
在工作中需要对kubernetes进行自定义资源的开发,操作K8s的资源肯定是必不可少的。K8s原生语言是用Go编写的,所以在CRD中使用client-go来操作资源。本次介绍一下使用client-go来操作Deployment。 1. 创建main函数 func main() {homePath : homedir.Home…...
FFmpeg 低延迟同屏方案
引言 在实时互动需求激增的当下,无论是在线教育中的师生同屏演示、远程办公的屏幕共享协作,还是游戏直播的画面实时传输,低延迟同屏已成为保障用户体验的核心指标。FFmpeg 作为一款功能强大的多媒体框架,凭借其灵活的编解码、数据…...

【HarmonyOS 5.0】DevEco Testing:鸿蒙应用质量保障的终极武器
——全方位测试解决方案与代码实战 一、工具定位与核心能力 DevEco Testing是HarmonyOS官方推出的一体化测试平台,覆盖应用全生命周期测试需求,主要提供五大核心能力: 测试类型检测目标关键指标功能体验基…...
Qt Http Server模块功能及架构
Qt Http Server 是 Qt 6.0 中引入的一个新模块,它提供了一个轻量级的 HTTP 服务器实现,主要用于构建基于 HTTP 的应用程序和服务。 功能介绍: 主要功能 HTTP服务器功能: 支持 HTTP/1.1 协议 简单的请求/响应处理模型 支持 GET…...

GC1808高性能24位立体声音频ADC芯片解析
1. 芯片概述 GC1808是一款24位立体声音频模数转换器(ADC),支持8kHz~96kHz采样率,集成Δ-Σ调制器、数字抗混叠滤波器和高通滤波器,适用于高保真音频采集场景。 2. 核心特性 高精度:24位分辨率,…...
重启Eureka集群中的节点,对已经注册的服务有什么影响
先看答案,如果正确地操作,重启Eureka集群中的节点,对已经注册的服务影响非常小,甚至可以做到无感知。 但如果操作不当,可能会引发短暂的服务发现问题。 下面我们从Eureka的核心工作原理来详细分析这个问题。 Eureka的…...

sipsak:SIP瑞士军刀!全参数详细教程!Kali Linux教程!
简介 sipsak 是一个面向会话初始协议 (SIP) 应用程序开发人员和管理员的小型命令行工具。它可以用于对 SIP 应用程序和设备进行一些简单的测试。 sipsak 是一款 SIP 压力和诊断实用程序。它通过 sip-uri 向服务器发送 SIP 请求,并检查收到的响应。它以以下模式之一…...

安宝特方案丨船舶智造的“AR+AI+作业标准化管理解决方案”(装配)
船舶制造装配管理现状:装配工作依赖人工经验,装配工人凭借长期实践积累的操作技巧完成零部件组装。企业通常制定了装配作业指导书,但在实际执行中,工人对指导书的理解和遵循程度参差不齐。 船舶装配过程中的挑战与需求 挑战 (1…...

【笔记】WSL 中 Rust 安装与测试完整记录
#工作记录 WSL 中 Rust 安装与测试完整记录 1. 运行环境 系统:Ubuntu 24.04 LTS (WSL2)架构:x86_64 (GNU/Linux)Rust 版本:rustc 1.87.0 (2025-05-09)Cargo 版本:cargo 1.87.0 (2025-05-06) 2. 安装 Rust 2.1 使用 Rust 官方安…...

Netty从入门到进阶(二)
二、Netty入门 1. 概述 1.1 Netty是什么 Netty is an asynchronous event-driven network application framework for rapid development of maintainable high performance protocol servers & clients. Netty是一个异步的、基于事件驱动的网络应用框架,用于…...

MySQL 知识小结(一)
一、my.cnf配置详解 我们知道安装MySQL有两种方式来安装咱们的MySQL数据库,分别是二进制安装编译数据库或者使用三方yum来进行安装,第三方yum的安装相对于二进制压缩包的安装更快捷,但是文件存放起来数据比较冗余,用二进制能够更好管理咱们M…...