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

深度学习目标检测ui界面-交通标志检测识别

深度学习目标检测ui界面-交通标志检测识别

为了将算法封装起来,博主尝试了实验pyqt5的上位机界面进行封装,其中遇到了一些坑举给大家避开。这里加载的训练模型参考之前写的博客:
自动驾驶目标检测项目实战(一)—基于深度学习框架yolov的交通标志检测

效果

在这里插入图片描述
输入设置好账号密码

在这里插入图片描述
加载一张交通标志图片
在这里插入图片描述
点击开始
在这里插入图片描述
测试使用cpu跑的,使用gpu的话检测速度会更快。

过程

主要包括检测代码和界面代码:
在这里插入图片描述
我们只需要将检测完的图片在界面显示即可,但是这样遇到一些问题:

(1)QtGui.QImage加载图片时,图片的红色变成蓝色,解决方法:一开始猜想是图像通道问题,于是把:

 _image = QtGui.QImage(self.img_defect[:], self.img_defect.shape[1], self.img_defect.shape[0],self.img_defect.shape[1] * 3,QtGui.QImage.Format_RGB888) 

中的Format_RGB888改为Format_BGR888,即:

 _image = QtGui.QImage(self.img_defect[:], self.img_defect.shape[1], self.img_defect.shape[0],self.img_defect.shape[1] * 3,QtGui.QImage.Format_BGR888) 

就可以正常显示图片的颜色。

(2)另外,如何使用以下代码直接读取截图的png图片时,图片会乱码:

  img_orignal = cv_imread(self.fname)  # opencv读取图片res = cv2.resize(img_orignal, (200, 200), interpolation=cv2.INTER_CUBIC)  # 用cv2.resize设置图片大小self.img_o = res_image = QtGui.QImage(self.img_o[:], self.img_o.shape[1], self.img_o.shape[0], self.img_o.shape[1] * 3,QtGui.QImage.Format_BGR888)  # pyqt5转换成自己能放的图片格式jpg_out = QtGui.QPixmap(_image)  # 转换成QPixmapself.label_4.setPixmap(jpg_out)  # 设置图片显示

在这里插入图片描述
解决方法:
先用opencv保存图片,如何再加载:

 # 显示图片img_orignal = cv_imread(self.fname)  # opencv读取图片cv2.imwrite('./images/res/origin.jpg', img_orignal)img = cv_imread("./images/res/origin.jpg")res = cv2.resize(img, (200, 200), interpolation=cv2.INTER_CUBIC)  # 用cv2.resize设置图片大小self.img_o = res_image = QtGui.QImage(self.img_o[:], self.img_o.shape[1], self.img_o.shape[0], self.img_o.shape[1] * 3,QtGui.QImage.Format_BGR888)  # pyqt5转换成自己能放的图片格式jpg_out = QtGui.QPixmap(_image)  # 转换成QPixmapself.label_4.setPixmap(jpg_out)  # 设置图片显示

就可以解决:

在这里插入图片描述

当然这只是其中一种解决方法,其他我还没发现。

记录到这里,需要源码的私信

相关文章:

深度学习目标检测ui界面-交通标志检测识别

深度学习目标检测ui界面-交通标志检测识别 为了将算法封装起来,博主尝试了实验pyqt5的上位机界面进行封装,其中遇到了一些坑举给大家避开。这里加载的训练模型参考之前写的博客: 自动驾驶目标检测项目实战(一)—基于深度学习框架yolov的交通…...

ubuntu不同版本的源(换源)(镜像源)(lsb_release -c命令,显示当前系统的发行版代号(Codename))

文章目录查看unbuntu版本名(lsb_release -c命令)各个版本源代号(仅供参考,具体代号用上面命令查)各版本软件源Ubuntu20.10阿里源:清华源:Ubuntu20.04阿里源:清华源:Ubunt…...

linux入门---程序翻译的过程

我们在vs编译器中写的代码按下ctrl f5就可以直接运行起来,并且会将运行的结果显示到显示器上,这里看上去只有一个步骤但实际上这里会存在很多的细节,比如说生成结果在这里插入代码片之前我们的代码会经过预处理,编译,汇…...

springboot复习(黑马)

学习目标基于SpringBoot框架的程序开发步骤熟练使用SpringBoot配置信息修改服务器配置基于SpringBoot的完成SSM整合项目开发一、SpringBoot简介1. 入门案例问题导入SpringMVC的HelloWord程序大家还记得吗?SpringBoot是由Pivotal团队提供的全新框架,其设计…...

C++指针详解

旧文更新:两三年的旧文了,一直放在电脑里,现在直接传上CSDN 一、指针的概念 1.1 指针 程序运行时每个变量都会有一块内存空间,变量的值就存放在这块空间中。程序可以通过变量名直接访问这块空间内的数据,这种访问方…...

tauri+vite+vue3开发环境下创建、启动运行和打包发布

目录 1.创建项目 2.安装依赖 3.启动项目 4.打包生成windows安装包 5.安装打包生成的安装包 1.创建项目 运行下面命令创建一个tauri项目 pnpm create tauri-app 我创建该项目时的node版本为16.15.0 兼容性注意 Vite 需要 Node.js 版本 14.18,16。然而&#x…...

安卓进阶系列-系统基础

文章目录计算机结构冯诺依曼结构哈弗结构冯诺依曼结构与哈弗结构对比安卓采用的架构安卓操作系统进程间通讯(IPC)内存共享linux内存共享安卓内存共享管道Unix Domain Socket同步常见同步机制信号量Mutex管程安卓同步机制安卓中的Mutex安卓中的ConditionB…...

10 Wifi网络的封装

概述 Wifi有多种工作模式,比如:STA模式、AccessPoint模式、Monitor模式、Ad-hoc模式、Mesh模式等。但在IPC设备上,主要使用STA和AccessPoint这两种模式。下面分别进行介绍。 STA模式:任何一种无线网卡都可以运行在此模式,这种模式也是无线网卡的默认模式。在此模式下,无线…...

手把手的教你安装PyCharm --Pycharm安装详细教程(一)(非常详细,非常实用)

简介 Jetbrains家族和Pycharm版本划分: pycharm是Jetbrains家族中的一个明星产品,Jetbrains开发了许多好用的编辑器,包括Java编辑器(IntelliJ IDEA)、JavaScript编辑器(WebStorm)、PHP编辑器&…...

开发板与ubantu文件传送

接下来的所以实验都通过下面这种方式发送APP文件到开发板运行 目录 1、在ubantu配置 ①在虚拟机上添加一个桥接模式的虚拟网卡 ②设定网卡 ③在网卡上配置静态地址 2、开发板设置 ①查看网卡 ②配置网卡静态ip 3、 测试 ①ping ②文件传送 传送报错情况 配置环境&#…...

如何成为一名优秀的网络安全工程师?

前言 这是我的建议如何成为网络安全工程师,你应该按照下面顺序学习。 简要说明 第一件事你应该学习如何编程,我建议首先学python,然后是java。 (非必须)接下来学习一些算法和数据结构是很有帮助的,它将…...

面试问题之高并发内存池项目

项目部分 1.这个项目是什么? 高并发内存池的原型是谷歌一个开源项目,tcmalloc,而这个项目,就是tcmalloc中最核心的框架和部分拿出来进行模拟。他的作用就是在去代替原型的内存分配函数malloc和free。这个项目涉及的技术有,c&…...

如果阿里巴巴给蒋凡“百亿补贴”

出品 | 何玺 排版 | 叶媛 2021底,阿里内部进行组织架构大调整,任命蒋凡为阿里海外商业负责人,分管全球速卖通和国际贸易(ICBU)两个海外业务,以及Lazada等面向海外市场的多家子公司。 一年时间过去&#x…...

Linux版本现状

Linux的发行版本可以大体分为两类,一类是商业公司维护的发行版本,一类是社区组织维护的发行版本,前者以著名的Red Hat(RHEL红帽)为代表,后者以Debian为代表。Red HatRedhat,应该称为Redhat系列&…...

Winform中实现保存配置到文件/项目启动时从文件中读取配置(序列化与反序列化对象)

场景 Winform中实现序列化指定类型的对象到指定的Xml文件和从指定的Xml文件中反序列化指定类型的对象: Winform中实现序列化指定类型的对象到指定的Xml文件和从指定的Xml文件中反序列化指定类型的对象_winform xml序列化_霸道流氓气质的博客-CSDN博客 上面讲的序…...

基于python的超市历年数据可视化分析

人生苦短 我用python Python其他实用资料:点击此处跳转文末名片获取 数据可视化分析目录人生苦短 我用python一、数据描述1、数据概览二、数据预处理0、导入包和数据1、列名重命名2、提取数据中时间,方便后续分析绘图三、数据可视化1、美国各个地区销售额的分布&…...

GPT-4技术报告

摘要 链接:https://cdn.openai.com/papers/gpt-4.pdf 我们汇报了GPT-4的发展,这是一个大规模的多模态模型,可以接受图像和文本输入并产生文本输出。虽然在许多现实场景中,GPT-4的能力不如人类,但它在各种专业和学术基…...

前端性能优化

总结 使用打包工具对代码进行打包压缩;引入css时采用link标签,并放入头部,使其与文档一起加载,减少页面卡顿时间;尽量减少dom结构的重排和重绘;使用css雪碧图,减少网络请求;对不同分…...

尚医通-(三十三)就诊人管理功能实现

目录: (1)前台用户系统-就诊人管理-需求说明 (2)就诊人管理-接口开发-列表接口 (3)就诊人管理-接口开发-其他接口 (4)前台用户系统-就诊人管理-前端整合 &#xff0…...

《Spring Boot 趣味实战课》读书笔记(二)

牛刀小试——五分钟入门 Spring Boot 万物皆可 Hello World 创建一个 Web 工程 填写项目信息 选择依赖 从 IDEA 打开下载好的 Spring Boot 工程: 完成核心代码 创建 HelloController 类并编写 hello 方法 创建一个 HelloController 类,或者选择 Fi…...

突破CPU瓶颈:1-bit大模型推理框架3大创新解析

突破CPU瓶颈:1-bit大模型推理框架3大创新解析 【免费下载链接】BitNet 1-bit LLM 高效推理框架,支持 CPU 端快速运行。 项目地址: https://gitcode.com/GitHub_Trending/bitne/BitNet BitNet作为微软推出的1-bit大语言模型推理框架,通…...

如何通过MCP协议实现AI助手与Figma设计的双向交互

如何通过MCP协议实现AI助手与Figma设计的双向交互 【免费下载链接】cursor-talk-to-figma-mcp Cursor Talk To Figma MCP 项目地址: https://gitcode.com/GitHub_Trending/cu/cursor-talk-to-figma-mcp 在当今的设计开发工作流中,设计工具与AI助手之间的割裂…...

嵌入式C语言核心技术与经典书籍推荐

C语言学习必读经典书籍推荐与核心知识点解析1. C语言在嵌入式开发中的核心地位C语言作为嵌入式系统开发的基石语言,具有直接操作硬件、执行效率高、可移植性强等显著优势。在资源受限的嵌入式环境中,熟练掌握C语言是开发高效可靠嵌入式系统的必备技能。1…...

RT-Thread线程管理与调度机制详解

RT-Thread线程管理深度解析1. 嵌入式实时操作系统中的线程概念在嵌入式实时操作系统(RTOS)中,线程是最基本的调度单位,也被称为任务。与裸机编程的单线程模式不同,RTOS通过多线程机制实现了任务的并发执行。裸机系统通常采用一个无限循环结构…...

大模型应用开发:后端开发者入门指南

目录 模型部署 开放大模型服务 注册账号 申请API_KEY 体验模型 本地部署 下载安装ollama 搜索模型 运行模型 调用大模型 大模型接口规范 接口说明 提示词角色 会话记忆问题 调用大模型 大模型应用 传统应用 核心特点 擅长领域 不擅长领域 AI大模型 核心特…...

从零到一:HNU计算机系统实验原型机vspm1.0实战与miniCC编译初探

1. 初识HNU计算机系统实验原型机vspm1.0 第一次接触vspm1.0原型机时,我完全被这个精巧的教学工具吸引了。作为一个计算机系统初学者,最让我惊喜的是它用不到200行汇编指令就完整模拟了冯诺伊曼体系结构的核心要素。这台原型机配备了6个通用寄存器&#x…...

FormCreate事件监听全攻略:从‘change’到‘control’,让你的表单真正‘活’起来

FormCreate事件监听全攻略:从‘change’到‘control’,让你的表单真正‘活’起来 表单开发从来不只是静态字段的堆砌。当你的用户需要根据前一个选择动态调整后续选项,当表单提交前需要实时校验多个字段的关联性,当字段间的显示逻…...

OpenClaw Graph Memory 知识图谱深度解析:告别 AI 记忆困境,实现去中心化自我改进!

当 AI 助手频繁出错、反复试错消耗大量 token;当跨对话的宝贵经验第二天就消失无踪;当某个 Skills 学到的孤岛知识点无法迁移——这些问题是否困扰着你?OpenClaw 开源项目 Graph Memory 登场,用知识图谱颠覆传统记忆方案&#xff…...

小龙虾(openclaw) + 微信 + GIS,把专业GIS塞进聊天框!

微信不仅是社交工具,更成了空间信息服务“飞入寻常百姓家”的关键入口。当AI驱动的GIS自动化与国家级战略支撑在微信生态里汇合,我们终于有机会让每个人都能像发消息一样,调用专业空间能力,这背后是触达、效率与安全的巨大跃升。一…...

Manus AI Agent背后的技术揭秘:如何实现83.7%的GAIA基准测试准确率

Manus AI Agent技术架构解析:如何实现83.7%的GAIA基准测试准确率 当大多数AI产品还在比拼参数规模时,Manus AI Agent另辟蹊径地构建了一套"虚拟执行层认知蒸馏"的混合架构。这种设计让它在处理复杂任务时,既能保持大模型的推理能力…...