深度学习目标检测ui界面-交通标志检测识别
创始人
2025-05-29 17:49:16
0

深度学习目标检测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)  # 设置图片显示

就可以解决:

在这里插入图片描述

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

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

相关内容

热门资讯

银河麒麟V10SP1高级服务器... 银河麒麟高级服务器操作系统简介: 银河麒麟高级服务器操作系统V10是针对企业级关键业务...
【NI Multisim 14...   目录 序言 一、工具栏 🍊1.“标准”工具栏 🍊 2.视图工具...
不能访问光猫的的管理页面 光猫是现代家庭宽带网络的重要组成部分,它可以提供高速稳定的网络连接。但是,有时候我们会遇到不能访问光...
Android|无法访问或保存... 这个问题可能是由于权限设置不正确导致的。您需要在应用程序清单文件中添加以下代码来请求适当的权限:此外...
AWSECS:访问外部网络时出... 如果您在AWS ECS中部署了应用程序,并且该应用程序需要访问外部网络,但是无法正常访问,可能是因为...
北信源内网安全管理卸载 北信源内网安全管理是一款网络安全管理软件,主要用于保护内网安全。在日常使用过程中,卸载该软件是一种常...
AWSElasticBeans... 在Dockerfile中手动配置nginx反向代理。例如,在Dockerfile中添加以下代码:FR...
AsusVivobook无法开... 首先,我们可以尝试重置BIOS(Basic Input/Output System)来解决这个问题。...
ASM贪吃蛇游戏-解决错误的问... 要解决ASM贪吃蛇游戏中的错误问题,你可以按照以下步骤进行:首先,确定错误的具体表现和问题所在。在贪...
​ToDesk 远程工具安装及... 目录 前言 ToDesk 优势 ToDesk 下载安装 ToDesk 功能展示 文件传输 设备链接 ...