近来在做一个项目,其中需要做一个界面能对点云进行逐帧显示、特征提取等操作。由于本人对C++不太熟悉,于是选择用python来实现。基本的界面框架用pyqt,显示点云的部分用的是mayavi、cv等第三方工具包。由于本人不是计算机相关专业出身,编程能力比较差,所以总体处于边学边做、现学现卖的状态,经常遇到各种问题。
参考了以下博文:
https://www.jianshu.com/p/557371805562
https://blog.csdn.net/u013360881/article/details/80304033
放一张总体的界面图:
注:用于显示的点云数据来自KITTI数据集,旁边的直方图和场景图片跟点云不相干,仅仅做功能测试用。
这一篇文章先记录一下环境的配置。
笔者分别在win10和ubuntu系统下进行了环境的配置。
(一)ubuntu系统
ubuntu系统下的配置就比较简单了。用的python是3.6版本,
1.pip3 install mayavi
(会自动下载安装依赖项,包括traits、vtk等)
2.pip3 install PyQt5
3.cv2: pip3 install opencv-python
二、win10下系统配置方法
win10下的环境配置比较麻烦,重点参考了以下博文:
https://www.jianshu.com/p/557371805562
https://blog.csdn.net/u013360881/article/details/80304033
1.下载所需四个文件,将其放到D:\Program Files\Python36\Scripts路径下:
mayavi-4.6.2+vtk81-cp36-cp36m-win_amd64.whl
PyQt4-4.11.4-cp36-cp36m-win_amd64.whl
traits-4.6.0-cp36-cp36m-win_amd64.whl
VTK-8.1.2-cp36-cp36m-win_amd64.whl
下载网站链接:https://www.lfd.uci.edu/~gohlke/pythonlibs/
2、cmd 管理员身份运行,pip进行安装:
pip install PyQt4‑4.11.4‑cp35‑cp35m‑win_amd64.whl
依次按照PyQt4、traits、VTK、mayavi的顺序安装。
3、安装完成后,新建测试程序验证一下:
from PyQt4.QtGui import *
import sys
a= QApplication(sys.argv)
w= QWidget()
w.resize(320, 240)
w.setWindowTitle("Hello World")
w.show()
sys.exit(a.exec_())
如果正常显示就表示安装成功。
三、一些Tips记录
目前我的代码有两个版本,分别用pyqt4和pyqt5实现的,语句方面有些不同。在ubuntu上用的是pyqt5的版本,在win10上用的是pyqt4版。现在觉得pyqt5比较好用,但是win10上关于pyqt5的环境暂时没有配好,就先凑合了。
在运行代码过程中,发现由于之前win10系统中安装过anaconda,它自带了pyqt5,跟我新进安装的pyqt4产生了冲突。为了解决这个问题,用conda uninstall pyqt的方法删除pyqt5,这时候会提示将一并删除包括spyder在内的多个库,一狠心就都删了。
笔者以前用过pcl,当时是在visual studio上用的c++版本。后续想做的是把pcl的一些功能加进去,让界面功能更完善。当然了,肯定要用python-pcl。