--- /tmp/open3d-0.9.0+ds-5+deb11u181eg31h2/debian/open3d-doc_0.9.0+ds-5+deb11u1_all.deb +++ open3d-doc_0.9.0+ds-5+deb11u1_all.deb ├── control.tar.xz │ ├── control.tar │ │ ├── ./md5sums │ │ │ ├── ./md5sums │ │ │ │┄ Files differ ├── data.tar.xz │ ├── data.tar │ │ ├── file list │ │ │ @@ -1783,15 +1783,15 @@ │ │ │ -rw-r--r-- 0 root (0) root (0) 90 2021-10-12 20:23:10.000000 ./usr/share/doc/open3d-doc/python/html/_static/plus.png │ │ │ -rw-r--r-- 0 root (0) root (0) 4780 2021-10-12 20:23:10.000000 ./usr/share/doc/open3d-doc/python/html/_static/pygments.css │ │ │ -rw-r--r-- 0 root (0) root (0) 464 2021-10-12 20:23:10.000000 ./usr/share/doc/open3d-doc/python/html/_static/theme_overrides.css │ │ │ -rw-r--r-- 0 root (0) root (0) 10253 2021-10-12 20:23:10.000000 ./usr/share/doc/open3d-doc/python/html/builddocs.html │ │ │ -rw-r--r-- 0 root (0) root (0) 36435 2021-10-12 20:23:10.000000 ./usr/share/doc/open3d-doc/python/html/compilation.html │ │ │ -rw-r--r-- 0 root (0) root (0) 21391 2021-10-12 20:23:10.000000 ./usr/share/doc/open3d-doc/python/html/contribute.html │ │ │ -rw-r--r-- 0 root (0) root (0) 256722 2021-10-12 20:23:10.000000 ./usr/share/doc/open3d-doc/python/html/genindex.html │ │ │ --rw-r--r-- 0 root (0) root (0) 12699 2021-10-12 20:23:10.000000 ./usr/share/doc/open3d-doc/python/html/getting_started.html │ │ │ +-rw-r--r-- 0 root (0) root (0) 12693 2021-10-12 20:23:10.000000 ./usr/share/doc/open3d-doc/python/html/getting_started.html │ │ │ -rw-r--r-- 0 root (0) root (0) 16583 2021-10-12 20:23:10.000000 ./usr/share/doc/open3d-doc/python/html/index.html │ │ │ -rw-r--r-- 0 root (0) root (0) 10867 2021-10-12 20:23:10.000000 ./usr/share/doc/open3d-doc/python/html/introduction.html │ │ │ -rw-r--r-- 0 root (0) root (0) 14945 2021-10-12 20:23:10.000000 ./usr/share/doc/open3d-doc/python/html/objects.inv │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2021-10-12 20:23:10.000000 ./usr/share/doc/open3d-doc/python/html/python_api/ │ │ │ -rw-r--r-- 0 root (0) root (0) 15000 2021-10-12 20:23:10.000000 ./usr/share/doc/open3d-doc/python/html/python_api/open3d.camera.PinholeCameraIntrinsic.html │ │ │ -rw-r--r-- 0 root (0) root (0) 10066 2021-10-12 20:23:10.000000 ./usr/share/doc/open3d-doc/python/html/python_api/open3d.camera.PinholeCameraIntrinsicParameters.html │ │ │ -rw-r--r-- 0 root (0) root (0) 10327 2021-10-12 20:23:10.000000 ./usr/share/doc/open3d-doc/python/html/python_api/open3d.camera.PinholeCameraParameters.html │ │ │ @@ -1964,15 +1964,15 @@ │ │ │ -rw-r--r-- 0 root (0) root (0) 23285 2021-10-12 20:23:10.000000 ./usr/share/doc/open3d-doc/python/html/tutorial/Basic/kdtree.html │ │ │ -rw-r--r-- 0 root (0) root (0) 28339 2021-10-12 20:23:10.000000 ./usr/share/doc/open3d-doc/python/html/tutorial/Basic/mesh.html │ │ │ -rw-r--r-- 0 root (0) root (0) 32454 2021-10-12 20:23:10.000000 ./usr/share/doc/open3d-doc/python/html/tutorial/Basic/pointcloud.html │ │ │ -rw-r--r-- 0 root (0) root (0) 19407 2021-10-12 20:23:10.000000 ./usr/share/doc/open3d-doc/python/html/tutorial/Basic/python_interface.html │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2021-10-12 20:23:10.000000 ./usr/share/doc/open3d-doc/python/html/tutorial/Basic/rgbd_images/ │ │ │ -rw-r--r-- 0 root (0) root (0) 10460 2021-10-12 20:23:10.000000 ./usr/share/doc/open3d-doc/python/html/tutorial/Basic/rgbd_images/index.html │ │ │ -rw-r--r-- 0 root (0) root (0) 21516 2021-10-12 20:23:10.000000 ./usr/share/doc/open3d-doc/python/html/tutorial/Basic/rgbd_images/nyu.html │ │ │ --rw-r--r-- 0 root (0) root (0) 23006 2021-10-12 20:23:10.000000 ./usr/share/doc/open3d-doc/python/html/tutorial/Basic/rgbd_images/redwood.html │ │ │ +-rw-r--r-- 0 root (0) root (0) 23012 2021-10-12 20:23:10.000000 ./usr/share/doc/open3d-doc/python/html/tutorial/Basic/rgbd_images/redwood.html │ │ │ -rw-r--r-- 0 root (0) root (0) 15998 2021-10-12 20:23:10.000000 ./usr/share/doc/open3d-doc/python/html/tutorial/Basic/rgbd_images/sun.html │ │ │ -rw-r--r-- 0 root (0) root (0) 16038 2021-10-12 20:23:10.000000 ./usr/share/doc/open3d-doc/python/html/tutorial/Basic/rgbd_images/tum.html │ │ │ -rw-r--r-- 0 root (0) root (0) 33819 2021-10-12 20:23:10.000000 ./usr/share/doc/open3d-doc/python/html/tutorial/Basic/rgbd_odometry.html │ │ │ -rw-r--r-- 0 root (0) root (0) 43388 2021-10-12 20:23:10.000000 ./usr/share/doc/open3d-doc/python/html/tutorial/Basic/visualization.html │ │ │ -rw-r--r-- 0 root (0) root (0) 26075 2021-10-12 20:23:10.000000 ./usr/share/doc/open3d-doc/python/html/tutorial/Basic/working_with_numpy.html │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2021-10-12 20:23:10.000000 ./usr/share/doc/open3d-doc/python/html/tutorial/C++/ │ │ │ -rw-r--r-- 0 root (0) root (0) 16798 2021-10-12 20:23:10.000000 ./usr/share/doc/open3d-doc/python/html/tutorial/C++/cplusplus_interface.html │ │ ├── ./usr/share/doc/open3d-doc/python/html/getting_started.html │ │ │ @@ -252,18 +252,18 @@ │ │ │ demonstrate the usage of Open3D Python interface. │ │ │ For example, tutorial Basic/rgbd_redwood.py can be run with:

│ │ │
cd lib/Tutorial/Basic
│ │ │  python rgbd_redwood.py
│ │ │  
│ │ │
│ │ │

It reads a pair of RGB-D images and visualizes them.

│ │ │ -_images/redwood_rgbd1.png │ │ │ +_images/redwood_rgbd.png │ │ │

It then transforms the RGB-D image into a point cloud, then renders the point │ │ │ cloud using Open3D visualizer.

│ │ │ -_images/redwood_pcd1.png │ │ │ +_images/redwood_pcd.png │ │ │

The Python code is quite straightforward, and the detailed explanation can be │ │ │ found in Redwood dataset. │ │ │ You may further experiment with different tutorials or check out the complete │ │ │ tutorial list in the Tutorial page.

│ │ │
│ │ │

Note

│ │ │

Open3D’s Python tutorial utilizes some external packages: numpy, │ │ ├── ./usr/share/doc/open3d-doc/python/html/tutorial/Basic/rgbd_images/redwood.html │ │ │ @@ -299,15 +299,15 @@ │ │ │ plt.subplot(1, 2, 2) │ │ │ plt.title('Redwood depth image') │ │ │ plt.imshow(rgbd_image.depth) │ │ │ plt.show() │ │ │

│ │ │ │ │ │

Outputs:

│ │ │ -../../../_images/redwood_rgbd.png │ │ │ +../../../_images/redwood_rgbd1.png │ │ │

The RGBD image can be converted into a point cloud, given a set of camera parameters.

│ │ │
26
│ │ │  27
│ │ │  28
│ │ │  29
│ │ │  30
│ │ │  31
│ │ │ @@ -317,15 +317,15 @@
│ │ │              o3d.camera.PinholeCameraIntrinsicParameters.PrimeSenseDefault))
│ │ │      # Flip it, otherwise the pointcloud will be upside down
│ │ │      pcd.transform([[1, 0, 0, 0], [0, -1, 0, 0], [0, 0, -1, 0], [0, 0, 0, 1]])
│ │ │      o3d.visualization.draw_geometries([pcd])
│ │ │  
│ │ │
│ │ │

Here we use PinholeCameraIntrinsicParameters.PrimeSenseDefault as default camera parameter. It has image resolution 640x480, focal length (fx, fy) = (525.0, 525.0), and optical center (cx, cy) = (319.5, 239.5). An identity matrix is used as the default extrinsic parameter. pcd.transform applies an up-down flip transformation on the point cloud for better visualization purpose. This outputs:

│ │ │ -../../../_images/redwood_pcd.png │ │ │ +../../../_images/redwood_pcd1.png │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │