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_())
相关推荐
goomind4 天前
深度学习实战电路板缺陷检测【数据集+YOLOv5模型+源码+PyQt5界面】
人工智能·python·深度学习·yolo·计算机视觉·pyqt
天下无敌笨笨熊7 天前
PyQT开发总结
python·pyqt
胖墩会武术8 天前
PyQt5新手教程(五万字)
python·pyqt·界面开发
Trouvaille ~13 天前
【Python篇】PyQt5 超详细教程——由入门到精通(终篇)
python·qt·数据分析·pandas·pyqt·数据可视化·布局管理器
ziyu_jia14 天前
Python教程(二十) : 十分钟入门【PyQt6】
python·pyqt·pyqt6
sky0Lan14 天前
pyqt fromlayout 布局中间空隙问
pyqt
阳子92616 天前
PyQt6 / PySide 6 实现可拖拽的多标签页 web 浏览器【1】(有 Bug)
python·pyqt
ChiKuo_Z16 天前
快速构建一个ui界面程序--pyqt入门
python·ui·pyqt
阳子92618 天前
记录 PyQt6 / PySide 6 自定义边框窗口的 Bug 及可能可行的解决方案:窗口抖动和添加 DWM 环绕阴影的大致原理
windows·python·bug·pyqt
时尚IT男22 天前
PyQt 迁移到 PySide
pyqt