PyQt open3d 加载 显示点云

PyQt加载 显示点云,已经有三种方式,使用 open3d; 使用 vtk; 使用 pcl;

下面是使用 open3d:

python 复制代码
import sys
import open3d as o3d
import numpy as np
import pyqtgraph.opengl as gl
from PyQt5.QtWidgets import QApplication, QVBoxLayout, QWidget, QFileDialog
from pyqtgraph.opengl import GLViewWidget
from Ui_widget import Ui_Form


class PyQtGraphicDemo(QWidget, Ui_Form):
    def __init__(self, parent=None):
        super(PyQtGraphicDemo, self).__init__(parent)
        self.setupUi(self)     
        self.graphicsView = GLViewWidget(self)
        self.pushButton.clicked.connect(self.showCloud)
        self.verticalLayout = QVBoxLayout(self)
        self.verticalLayout.addWidget(self.graphicsView)
        self.verticalLayout.addWidget(self.pushButton)
        self.setLayout(self.verticalLayout)

    def showCloud(self):
        fileName, filetype = QFileDialog.getOpenFileName(self, "请选择点云:", '.', "cloud Files(*pcd *ply)")
        if fileName != '':          
            pcd = o3d.io.read_point_cloud(fileName) #读取点云           
            np_points = np.asarray(pcd.points)  #获取Numpy数组          
            plot = gl.GLScatterPlotItem() #创建显示对象            
            plot.setData(pos=np_points, color=(1, 1, 1, 1), size=0.001, pxMode=False) #设置显示数据
            self.graphicsView.addItem(plot) #显示点云



if __name__ == '__main__':
    app = QApplication(sys.argv)
    window = PyQtGraphicDemo()
    window.show()
    sys.exit(app.exec_())
相关推荐
yivifu2 小时前
pyqt中以鼠标所在位置为锚点缩放图片
python·pyqt·以鼠标为锚点缩放图片
QMT量化交易19 小时前
如何解决PyQt从主窗口打开新窗口时出现闪退的问题
python·pyqt
m0_376628185 天前
工控系统前端设计(pyqt)
pyqt
Humbunklung5 天前
PySide6 GUI 学习笔记——常用类及控件使用方法(常用类矩阵QRect)
笔记·python·学习·pyqt
CresCent_Charles11 天前
解决import pyqtgraph.opengl报错
python·pyqt
mahuifa11 天前
pyqt环境配置
python·qt·pycharm·pyqt·环境配置
shanks6612 天前
【PyQt】俄罗斯方块的小程序开发
pyqt·软件开发
越甲八千20 天前
pyqt SQL Server 数据库查询-优化2
数据库·windows·pyqt
豆芽81920 天前
决策树(DecisionTree)
python·决策树·机器学习·pyqt·sklearn
utmhikari21 天前
【日常随笔】万字长文,如何用pyside6开发一个python桌面工具
前端·python·pyqt