pyQt5搭建的简单的图像处理界面

来源:互联网 发布:友邦群发软件 垃圾 编辑:程序博客网 时间:2024/05/21 06:55

笔者的第二篇博客,前一篇仓促。主要介绍了python2 和python3双版本的安装。本打算研二开始一周写一篇博客,一方面是对自己学习知识的总结,后期忘却也便拿来看看;另一方面,分享给更多的人,助人为乐,胜造七级浮屠。但是从开学到现在惶恐不安,满满的负能量,且身体抱恙。不论是专业课书还是文学书,皆不能尽收眼下,差点得了抑郁症。最近一直做梦,做梦时幸福的,但最可怕的是“梦醒了却发现无路可走”。
不再废话,开始撸技术!
一、前提准备:1)安装pyQt5 ——pip install pyqt5 ,注意:这种方式安装的pyqt5包括下载.whl文件安装的在其目录下都没有Qt designer
2)另辟蹊径,


pip install PyQt5-tools -i pypi.douban.com/simple
--trusted-host=pypi.douban.com
安装完成后在python 的site-packages/pyqt5-tools目录下可找到Qt designer。
二、代码开始:1)利用Qt designer 设计UI,众所周知,UI 的设计有两种方式,纯代码和代码与逻辑分离。在designer中,我们一般最常用的Main Window 和Widget 这两种方式。**在设计UI时,重要的是理解发送者,信号,槽函数之间的关系,example:
class mywindow(QtWidgets.QMainWindow,Ui_MainWindow):
def __init__(self):
super(mywindow,self).__init__()
self.setupUi(self)
self.OpenImage.triggered.connect(self.open)
*这里第一句定义自己的类并继承QtWidgets.QMainWindow和自己设计的界面类;第二句的开始是相当于C++中的构造函数;第三句是超级加载;第四句,启动UI,第五句,就是介绍的发送者,信号,槽函数之间的关系,下拉式餐单的对象名称为OpenImage,其信号为triggered ,槽函数为open,可以随意命名,注意:如果是PushButton 其信号就是clicked* 。对于设计好的UI,我们要转为文件,以便我们在实现逻辑与代码分离时好import。转为py的命令为pyuic5 -o main.py main .ui
2)第二部分就是实现逻辑与代码分离,在本程序中,个人觉得在类中定义的函数,在另一个函数体内调用时,要在其函数前面加上self,因为self这个东西在类中全代码片全局调用,如在类中定义一个函数:def matchIMG(self,im1,im2,kp1,kp2,des1,des2): ;在另一个函数体中调用时候,如下:im3=self.matchIMG(im1,im2,kp1,kp2,des1,des2) 。其它代码里的内容见自己的第一个github程序,链接如下:https://github.com/yuancaimaiyi/pyqt5,程序在imageGui.py中,第一次写的,经验不足,忘了注释,如有疑惑,多请留言,感激涕零!!!!!!
下一篇博客,介绍自己刚发的论文
《改进MSAC估计F与H矩阵在匹配点中的提纯》主要分析了基本矩阵和单应矩阵的适用场景。

原创粉丝点击