open3d 通过vscode+ssh连接远程服务器将可视化界面本地显示

这篇具有很好参考价值的文章主要介绍了open3d 通过vscode+ssh连接远程服务器将可视化界面本地显示。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

当使用远程服务器时,我们希望能像在本地一样写完代码后能立刻出现一些gui窗口。但是目前网络上的资料都不能很好的解决这个问题。本文尝试尽可能简短地解决这个问题。

步骤

1、在服务器上安装open3d

已经非常简化了,可以使用一行代码完成

pip3 install open3d

2、下载x系列服务器

我们这里要使用VcXsrv。安装过程一路next就行。但是注意不要安装到c盘,可能会出现权限问题。
注意:本人测试过常用的x系列软件xming和xmanager均无法完成open3d的远程可视化

3、配置

打开VcXsrv安装目录下的X0.hosts 文件并输入你的服务器ip

open3d 通过vscode+ssh连接远程服务器将可视化界面本地显示,vscode,服务器,open3d,可视化
open3d 通过vscode+ssh连接远程服务器将可视化界面本地显示,vscode,服务器,open3d,可视化
打开同目录下的Xlauch

直到这里,非常重要,勾选如下。
open3d 通过vscode+ssh连接远程服务器将可视化界面本地显示,vscode,服务器,open3d,可视化

成功设置后将看到右下角,这里注意0即为你的端口号。
open3d 通过vscode+ssh连接远程服务器将可视化界面本地显示,vscode,服务器,open3d,可视化

vscode

在**本机(并非是服务器)**vscode的扩展商店中安装Remote-SSH和Remote X11(SSH)

并在SSH设置中输入以下三行
open3d 通过vscode+ssh连接远程服务器将可视化界面本地显示,vscode,服务器,open3d,可视化

远程服务器

可以在vim ~/.bashrc中 最后加入

 export DISPLAY="本机ip:端口号" 

并source ~/.bashrc

注意检查:

echo $LIBGL_ALWAYS_INDIRECT

若非空或者是1,则将其置为0
以上操作完成后,在终端输入xclock应该能显示一个小时钟。

运行测试程序

import numpy as np
import open3d as o3d


points = np.random.rand(10000, 3)
point_cloud = o3d.geometry.PointCloud()
point_cloud.points = o3d.utility.Vector3dVector(points)
o3d.visualization.draw_geometries([point_cloud])

成功应该是如下图所示,并且可以拖动窗口和改变视角
open3d 通过vscode+ssh连接远程服务器将可视化界面本地显示,vscode,服务器,open3d,可视化

可能的原因

在远程交互过程中,open3d需要显示器创建上下文。但是远程服务器是没有图形化界面的,因此需要通过x服务器来转发到本地。通过之前的步骤,远程服务器就可以直接操纵本地的gpu环境,从而进行可视化。

参考资料

https://github.com/isl-org/Open3D/issues/897

可能的其他解决方案

1、web可视化
web可视化

import open3d as o3d
from open3d.web_visualizer import draw

cube_red = o3d.geometry.TriangleMesh.create_box(1, 2, 4)
cube_red.compute_vertex_normals()
cube_red.paint_uniform_color((1.0, 0.0, 0.0))
draw(cube_red)

即可完成在jupyter中的可视化。但是vscode插件好像暂时不支持。
可以将服务器映射到本地端口进行显示,有待进一步完善步骤。
2、headless渲染
这个可以将渲染的图片全都保存下来。文章来源地址https://www.toymoban.com/news/detail-539832.html

到了这里,关于open3d 通过vscode+ssh连接远程服务器将可视化界面本地显示的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 基于Open3D的点云处理17-Open3d的C++版本

    http://www.open3d.org/docs/latest/cpp_api.html http://www.open3d.org/docs/latest/getting_started.html#c http://www.open3d.org/docs/release/cpp_project.html#cplusplus-example-project https://github.com/isl-org/open3d-cmake-find-package https://github.com/isl-org/open3d-cmake-external-project https://github.com/isl-org/Open3D/releases Note: -DBUILD_SHARED_LIBS

    2024年02月09日
    浏览(62)
  • open3d 0.17.0的open3d.visualization.ViewControl类有bug

    在使用过程中发现 open3d.visualization.ViewControl 的如下方法,在 open3d 0.17.0 环境下不起作用,点云的显示视场还是默认配置;而在 open3d 0.16.0 环境下却正常工作。 rotate set_front set_lookat set_up set_zoom 上述测试代码在如下虚拟环境中进行过测试,均失败。 在如下虚拟环境中正常工作

    2024年02月21日
    浏览(57)
  • 【Open3D可视化——添加标签】:如何在Open3D的可视化窗口中添加文字标签?

    【Open3D可视化——添加标签】:如何在Open3D的可视化窗口中添加文字标签? Open3D是一个基于Python语言开发的跨平台开源工具包,主要用于三维数据处理和可视化。在进行三维数据可视化过程中,往往需要在场景中添加标签来标识物体、点云等信息。本文将介绍如何在Open3D的可

    2024年02月11日
    浏览(79)
  • 什么是open3D?

    目录 一、说明 二、如何安装open3d?  三、显示点云数据 3.1 显示点云场景数据 3.2 体素下采样 3.3 顶点法线估计         对于点云 处理,这里介绍哦pen3d,该软件和opencv同样是interl公司的产品。         Open3D 是一个开源库,支持快速开发处理 3D 数据的软件。 Open3D 前

    2024年02月03日
    浏览(59)
  • Open3D读取文件

    Open3D可以读取点云文件,三角网格文件,也可以读取图片。具体方法如下: 一、点云文件操作         Open3D支持的文件格式有xyz,xyzn,xyzrgb,pts,ply,pcd等文件。读取的方式也非常简单。data = o3d.io.read_point_cloud(\\\"文件名“) 1、读写文件         函数原型如下:    

    2024年02月08日
    浏览(51)
  • Open3D学习笔记

    Open3D是一个开源库,它支持处理3D数据的软件的快速开发。Open3D前端在C++和Python中有一些公开的数据结构和算法。后端经过高度优化,并设置为并行化。 PCL也是3D点云数据处理的优秀开源库,在C++平台上表现较好,但是在Python上python-pcl长时间不更新,维护少,不太好用,不建

    2024年02月01日
    浏览(47)
  • Open3d入门教程

    【英文版】 Open3D Python包通过 PyPI 和 Conda发布。 支持的Python版本: 3.6 3.7 3.8 支持的操作系统: Ubuntu 18.04+ macOS 10.14+ Windows 10 (64-bit) 如果你有其他Python版本(比如 Python 2) 或操作系统,请参考 编译源码 并从源代码处编译Open3D。 Pip (PyPI) 注意: 一般来说,我们建议使用虚拟环境 来集

    2024年02月16日
    浏览(57)
  • open3d io操作

    目录 1. read_image, write_image 2. read_point_cloud, write_point_cloud 3. 深度相机IO操作 4. Mesh文件读取 读取jpg. png. bmp等文件 image_io.py 读写点云pcd, ply等文件 point_cloud_io.py 读取深度相机 realsense_io.py  读取mesh网格数据,ply等文件 triangle_mesh_io.py

    2024年02月03日
    浏览(53)
  • open3d点云平移

    功能简介 open3d中点云的平移函数为:pcd.translate((tx, ty, tz), relative=True)。当relative为True时,(tx, ty, tz)表示点云平移的相对尺度,也就是平移了多少距离。当relative为False时,(tx, ty, tz)表示点云中心(质心)平移到的指定位置。质心可以坐标可以通过pcd.get_center()得到。 代码

    2024年01月22日
    浏览(80)
  • Open3D-读取深度图

           深度图像(Depth Images)也被称为距离影像(Range Image),是指将从图像采集器到场景中各点的距离值作为像素值的图像,它直接反应了 景物可见表面的几何形状 。获取方法有: 激光雷达深度成像法、计算机立体视觉成像、坐标测量机法、莫尔条纹法、结构光法。

    2024年02月13日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包