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_())
相关推荐
凌云拓界8 天前
TypeWell全攻略(二):热力图渲染引擎,让键盘发光
前端·后端·python·计算机外设·交互·pyqt·数据可视化
凌云拓界9 天前
TypeWell全攻略:AI健康教练+实时热力图开发实战 引言
前端·人工智能·后端·python·交互·pyqt·数据可视化
oBxkQwKTLam17 天前
三通道交错并联双向buck-boost变换器。 通过simulink搭建的三通道交错并联双向b...
pyqt
深蓝海拓19 天前
PySide6的QTimeLine详解
笔记·python·qt·学习·pyqt
龙腾AI白云20 天前
具身智能体的长期任务规划与记忆机制
python·scrapy·plotly·数据挖掘·pyqt
深蓝海拓21 天前
pyside6的时间相关的基础知识学习笔记
笔记·python·qt·学习·pyqt
无损检测小白白21 天前
【PYQT】QLineEdit控件的信号与槽
python·pyqt
onvadhFTH21 天前
开启数字电源PFC学习之旅
pyqt
深蓝海拓24 天前
PySide6,QCoreApplication::aboutToQuit与QtQore.qAddPostRoutine:退出前后的清理工作
笔记·python·qt·学习·pyqt
深蓝海拓1 个月前
PySide6从0开始学习的笔记(二十七) 日志管理
笔记·python·学习·pyqt