深度学习目标检测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)  # 转换成QPixmap
  self.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)  # 转换成QPixmap
 self.label_4.setPixmap(jpg_out)  # 设置图片显示

就可以解决:

在这里插入图片描述

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

记录到这里,需要源码的私信,需要定制界面,或者优化界面的可私信我即可

  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
基于深度学习的手势识别UI界面代码可以分为两个主要部分:前端和后端。前端负责用户交互和界面展示,后端则处理手势识别的算法和模型。 以下是一个简单的基于深度学习的手势识别UI界面代码示例: 前端代码(使用Python的Tkinter库): ```python import tkinter as tk from PIL import ImageTk, Image # 创建窗口 window = tk.Tk() window.title("手势识别UI界面") # 创建画布 canvas = tk.Canvas(window, width=400, height=400) canvas.pack() # 显示手势图片 image = Image.open("gesture_image.jpg") image = image.resize((400, 400), Image.ANTIALIAS) photo = ImageTk.PhotoImage(image) canvas.create_image(0, 0, anchor=tk.NW, image=photo) # 创建按钮 button = tk.Button(window, text="识别手势") button.pack() # 运行窗口 window.mainloop() ``` 后端代码(使用Python的深度学习框架TensorFlow): ```python import tensorflow as tf # 加载训练好的模型 model = tf.keras.models.load_model("gesture_model.h5") # 进行手势识别 def recognize_gesture(image): # 对图像进行预处理 processed_image = preprocess_image(image) # 使用模型进行预测 prediction = model.predict(processed_image) # 解析预测结果 gesture = parse_prediction(prediction) return gesture # 预处理图像 def preprocess_image(image): # 进行图像预处理操作,如缩放、归一化等 return processed_image # 解析预测结果 def parse_prediction(prediction): # 解析预测结果,返回手势类别 return gesture_class # 调用手势识别函数 gesture = recognize_gesture(image) print("识别结果:", gesture) ``` 请注意,以上代码仅为示例,实际的手势识别UI界面代码可能会更加复杂,并且需要根据具体的需求进行定制。另外,手势识别的算法和模型的实现也需要根据具体情况进行选择和训练。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

夏融化了这季节

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值