在用PyQt5开发GUI界面的时候,要呈现图像。在使用时,用了两种呈现方法,方法1通过Qlabel去呈现,方法2通过QGraphicsView去呈现。两个方法中,方法2具有更优的灵活性和呈现速度。

方法1:Qlabel

因为Qlabel不能直接显示img类型,因此需要将其转换为QImage类型。相关代码如下:

self.ImageView = QtWidgets.QLabel(Detection)
self.ImageView.setGeometry(QtCore.QRect(60, 60, 461, 411))
self.ImageView.setText("")
self.ImageView.setObjectName("ImageView")# 由于QLabel不能直接显示img类型,需要转化成QImage类型
showImage = QtGui.QImage(show.data, show.shape[1], show.shape[0], QtGui.QImage.Format_RGB888)
self.ImageView.setPixmap(QtGui.QPixmap.fromImage(showImage))

该方法转换时间较长,我某次测算的转换时间差不多在200ms,但很可能是转换错了。

方法2:QGraphicsView

该方法差不多是主流呈现图像的方法,众多博客都有介绍其基本算法,在此仅对使用的内容进行一个展示。代码如下:

        self.graphicsView = QtWidgets.QGraphicsView(Wohaoshuai)self.graphicsView.setGeometry(QtCore.QRect(50, 50, 481, 431))self.graphicsView.setObjectName("graphicsView")        # 在QgraphicsScene上呈现检测结果图showImage = QtGui.QImage(show.data, show.shape[1], show.shape[0], QtGui.QImage.Format_RGB888)pix = QtGui.QPixmap.fromImage(showImage)self.item = QGraphicsPixmapItem(pix)  # 创建像素图元self.scene = QGraphicsScene()  # 创建场景self.scene.addItem(self.item)self.graphicsView.setScene(self.scene)  # 将场景添加至视图

以上两种方法便是在实际使用中,尝试过的两种方案,均可呈现图像。

界面可视化(四):图像在PyQT5上的显示相关推荐

  1. 界面开发(4)--- PyQt5实现打开图像及视频播放功能

    PyQt5创建打开图像及播放视频页面 上篇文章主要介绍了如何实现登录界面的账号密码注册及登录功能,还简单介绍了有关数据库的连接方法.这篇文章我们介绍一下如何在设计的页面中打开本地的图像,以及实现视频播 ...

  2. python的gui界面 可视化_使用可视化设计窗体的GUI程序

    示例Demo2_1用PyQt5的一些类创建了一个简单的GUI应用程序,窗体及窗体上的标签对象的创建和属性设置都完全由代码完成.显然这种纯代码方式构造UI的方式是比较麻烦的,特别是在窗体上组件比较多.层 ...

  3. Python Qt GUI设计:UI界面可视化组件、属性概述(基础篇—4)

    目录 1.界面组件 1.1.布局组件(Layouts) 1.2.分隔组件(Spacers) 1.3.按钮组件(Buttons) 1.4.表项视图(Item Views) 1.5.表项组件(Item W ...

  4. 界面开发(3)--- PyQt5用户登录界面连接数据库

    文章目录 数据库 账户注册 账号登录 找回密码 为了实现用户登录界面的登录功能,我们必须建立一个数据库,并把账号和对应的密码,存储到数据库中.如果输入的账号和密码与数据库中的一致,那我们就允许用户登录 ...

  5. python pr曲线_Py-Faster R-CNN可视化——网络模型,图像特征,Loss图,PR曲线

    可视化网络模型 使用Netscope在线可视化 Netscope Netscope能可视化神经网络体系结构(或技术上说,Netscope能可视化任何有向无环图).目前Netscope能可视化Caffe ...

  6. Caffe版Faster R-CNN可视化——网络模型,图像特征,Loss图,PR曲线

    可视化网络模型   Caffe目前有两种常用的可视化模型方式: 使用Netscope在线可视化 Caffe代码包内置的draw_net.py文件可以可视化网络模型 Netscope能可视化神经网络体系 ...

  7. ROS Qt5 librviz人机交互界面开发四(添加rviz显示界面)

    本系列教程文章专栏: ROS机器人GUI程序开发 本系列课程已上线古月学院,欢迎感兴趣的小伙伴订阅: ROS Qt开发环境搭建以及基础知识介绍 ROS人机交互软件的界面开发 ROS Rviz组件开发方 ...

  8. 数据科学 IPython 笔记本 四、Keras(上)

    四.Keras(上) 原文:keras-tutorials 译者:飞龙 协议:CC BY-NC-SA 4.0 4.1 深度学习导论 致谢:派生于 Valerio Maggio 的 deep-learn ...

  9. Windows界面UI自绘编程(上)之上部

    Windows界面UI自绘编程(上)之上部 第一章 Win32程序基本框架 第二章 Win32对话框和文件的遍历(函数FindFirstFile.FindNextFile和SHGetFileInfo) ...

最新文章

  1. [导入][翻译]匈牙利命名法的缺点
  2. docker镜像的使用及相关
  3. java里当显式请求注释时才接受类名称
  4. 欧姆龙PLC 通过CJ1W-EIP21实现在线编程
  5. 魔兽代理又起风云:网易暴雪腾讯的利益博弈
  6. 光伏发电系统及其MPPT控制
  7. 如何在PPT中制作动态图表,学会这种方法实在太简单
  8. 大数据早报:阿里巴巴收购以色列创业公司 迅雷再次回应玩客云用户维权事件(12.1)
  9. Qt开发学生信息管理系统
  10. SGD平行算法 - Downpour SGD (单机python多线程版)
  11. 移动智能终端可信环境分析
  12. DOS下串口通信程序来传送文件的源代码
  13. 计算机应用etf基金代码,国泰中证计算机主题ETF联接C
  14. 如何对用户输入进行校验
  15. chrome插件使用整理
  16. 使用bootstrap实现下拉框搜索功能
  17. 最低工资哪家强?2020全国各地最低工资排名出炉!
  18. 4.Spark 学习成果转化—机器学习—使用Spark ML的线性回归来预测房屋价格 (线性回归问题)
  19. Adobe Premiere Pro2021系统兼容性报告(Intel 和 NVIDIA)
  20. 【MM小贴士】收货自动创建采购订单

热门文章

  1. pip安装matplotlib
  2. ArcGIS Pro鹰眼图快速制图
  3. 万年历C语言程序可参考的文献,万年历的c语言程序
  4. java中什么是装饰者模式? 装饰者模式的使用!!
  5. python中tan怎么表示_python中Tan的逆(tan-1) - python
  6. sql server 统计表信息
  7. Linux内核总线系统 —— 通用总线和平台设备
  8. 14、ICMP协议的主要功能
  9. 解决:room无论如何怎么修改数据库版本都报错java.lang.IllegalStateException: Room cannot verify the data integrity
  10. 好用合并工具安利!需要的来关注一下