【PyQt项目】利用PyQt设计GUI显示视频及图片/深度信息在飞船降落选址中的应用

项目介绍

这个项目是我们计算机视觉课程的结课设计。由于疫情,几乎所有的课程都无法考试,老师们都选择了大作业(结课设计)的方式考察我们。
项目的目的就是在崎岖的行星表面找到一个适合探测器降落的位置。在这个项目中,我主要负责的是GUI交互界面的设计,使用的工具是PyQt。
整个项目的结构如下,
【PyQt项目】利用PyQt设计GUI显示视频及图片/深度信息在飞船降落选址中的应用
依次是相机标定、计算深度图、模板匹配以及计算最优降落区域。
相机标定使用的是棋盘格法
【PyQt项目】利用PyQt设计GUI显示视频及图片/深度信息在飞船降落选址中的应用
深度图计算使用的是SGBM法,并进行伪彩色处理
【PyQt项目】利用PyQt设计GUI显示视频及图片/深度信息在飞船降落选址中的应用
【PyQt项目】利用PyQt设计GUI显示视频及图片/深度信息在飞船降落选址中的应用
模板匹配并寻找最优区域的结果如下,模板匹配使用Sobel算子提取边缘,最优降落位置的算法使用迭代均值和阈值优化。
【PyQt项目】利用PyQt设计GUI显示视频及图片/深度信息在飞船降落选址中的应用
程序的GUI界面如下
【PyQt项目】利用PyQt设计GUI显示视频及图片/深度信息在飞船降落选址中的应用

GUI界面解释

按钮一共五个,读取双目图像、计算深度图、计算最佳降落位置、清空显示以及动态显示。其中动态显示就是将双目视频读进来,然后将其分割成两幅图像并进行深度图计算和最佳位置计算。清空显示就是清除四个显示窗口的图像并结束运算(并不会退出程序)。

最佳降落区域中心坐标以及最佳降落区域面积是显示计算的坐标结果、面积结果。
滑块BlockSize和Num是调整计算深度图时候的参数。

动态显示的效果如下
【PyQt项目】利用PyQt设计GUI显示视频及图片/深度信息在飞船降落选址中的应用

代码

代码已上传至github,其中包括了测试图片和视频