界面可视化(四):图像在PyQT5上的显示
在用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上的显示相关推荐
- 界面开发(4)--- PyQt5实现打开图像及视频播放功能
PyQt5创建打开图像及播放视频页面 上篇文章主要介绍了如何实现登录界面的账号密码注册及登录功能,还简单介绍了有关数据库的连接方法.这篇文章我们介绍一下如何在设计的页面中打开本地的图像,以及实现视频播 ...
- python的gui界面 可视化_使用可视化设计窗体的GUI程序
示例Demo2_1用PyQt5的一些类创建了一个简单的GUI应用程序,窗体及窗体上的标签对象的创建和属性设置都完全由代码完成.显然这种纯代码方式构造UI的方式是比较麻烦的,特别是在窗体上组件比较多.层 ...
- Python Qt GUI设计:UI界面可视化组件、属性概述(基础篇—4)
目录 1.界面组件 1.1.布局组件(Layouts) 1.2.分隔组件(Spacers) 1.3.按钮组件(Buttons) 1.4.表项视图(Item Views) 1.5.表项组件(Item W ...
- 界面开发(3)--- PyQt5用户登录界面连接数据库
文章目录 数据库 账户注册 账号登录 找回密码 为了实现用户登录界面的登录功能,我们必须建立一个数据库,并把账号和对应的密码,存储到数据库中.如果输入的账号和密码与数据库中的一致,那我们就允许用户登录 ...
- python pr曲线_Py-Faster R-CNN可视化——网络模型,图像特征,Loss图,PR曲线
可视化网络模型 使用Netscope在线可视化 Netscope Netscope能可视化神经网络体系结构(或技术上说,Netscope能可视化任何有向无环图).目前Netscope能可视化Caffe ...
- Caffe版Faster R-CNN可视化——网络模型,图像特征,Loss图,PR曲线
可视化网络模型 Caffe目前有两种常用的可视化模型方式: 使用Netscope在线可视化 Caffe代码包内置的draw_net.py文件可以可视化网络模型 Netscope能可视化神经网络体系 ...
- ROS Qt5 librviz人机交互界面开发四(添加rviz显示界面)
本系列教程文章专栏: ROS机器人GUI程序开发 本系列课程已上线古月学院,欢迎感兴趣的小伙伴订阅: ROS Qt开发环境搭建以及基础知识介绍 ROS人机交互软件的界面开发 ROS Rviz组件开发方 ...
- 数据科学 IPython 笔记本 四、Keras(上)
四.Keras(上) 原文:keras-tutorials 译者:飞龙 协议:CC BY-NC-SA 4.0 4.1 深度学习导论 致谢:派生于 Valerio Maggio 的 deep-learn ...
- Windows界面UI自绘编程(上)之上部
Windows界面UI自绘编程(上)之上部 第一章 Win32程序基本框架 第二章 Win32对话框和文件的遍历(函数FindFirstFile.FindNextFile和SHGetFileInfo) ...
最新文章
- [导入][翻译]匈牙利命名法的缺点
- docker镜像的使用及相关
- java里当显式请求注释时才接受类名称
- 欧姆龙PLC 通过CJ1W-EIP21实现在线编程
- 魔兽代理又起风云:网易暴雪腾讯的利益博弈
- 光伏发电系统及其MPPT控制
- 如何在PPT中制作动态图表,学会这种方法实在太简单
- 大数据早报:阿里巴巴收购以色列创业公司 迅雷再次回应玩客云用户维权事件(12.1)
- Qt开发学生信息管理系统
- SGD平行算法 - Downpour SGD (单机python多线程版)
- 移动智能终端可信环境分析
- DOS下串口通信程序来传送文件的源代码
- 计算机应用etf基金代码,国泰中证计算机主题ETF联接C
- 如何对用户输入进行校验
- chrome插件使用整理
- 使用bootstrap实现下拉框搜索功能
- 最低工资哪家强?2020全国各地最低工资排名出炉!
- 4.Spark 学习成果转化—机器学习—使用Spark ML的线性回归来预测房屋价格 (线性回归问题)
- Adobe Premiere Pro2021系统兼容性报告(Intel 和 NVIDIA)
- 【MM小贴士】收货自动创建采购订单
热门文章
- pip安装matplotlib
- ArcGIS Pro鹰眼图快速制图
- 万年历C语言程序可参考的文献,万年历的c语言程序
- java中什么是装饰者模式? 装饰者模式的使用!!
- python中tan怎么表示_python中Tan的逆(tan-1) - python
- sql server 统计表信息
- Linux内核总线系统 —— 通用总线和平台设备
- 14、ICMP协议的主要功能
- 解决:room无论如何怎么修改数据库版本都报错java.lang.IllegalStateException: Room cannot verify the data integrity
- 好用合并工具安利!需要的来关注一下