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_())
相关推荐
开心-开心急了12 小时前
PySide6/PyQt Ctrl 滚轮 实现文本缩放功能
pyqt·pyside
B站_计算机毕业设计之家4 天前
深度学习:Yolo水果检测识别系统 深度学习算法 pyqt界面 训练集测试集 深度学习 数据库 大数据 (建议收藏)✅
数据库·人工智能·python·深度学习·算法·yolo·pyqt
懷淰メ5 天前
python3GUI--短视频社交软件 By:Django+PyQt5(前后端分离项目)
后端·python·django·音视频·pyqt·抖音·前后端
开心-开心急了6 天前
pyside6实现win10自动切换主题
开发语言·python·pyqt·pyside
梨轻巧10 天前
pyside6的历史发展、Qt 介绍、PyQt 和 pyside6对比
qt·pyqt
开心-开心急了12 天前
PySide6 实现win10 手动与自动切换主题 借助系统托盘
pyqt·1024程序员节·pyside
mortimer15 天前
用 PySide6 打造可视化 ASS 字幕样式编辑器:从需求到实现
python·ffmpeg·pyqt
没有感情的robot16 天前
pyqt实现简易中英文翻译工具
pyqt
mortimer19 天前
用PySide6 构建一个响应式视频剪辑工具:多线程与信号机制实战
python·ffmpeg·pyqt