Open3d之RGBD測程法

2021-10-19 08:04:20 字數 4518 閱讀 7013

rgbd測程法是去尋找兩個連續的rgbd影象對之間的相機移動。它的輸入是一對rgbimage的例項,輸出是剛體變換形式的運動。open3d實現了 [steinbrucker2011] and [park2017]中的方法。

我們首先從json檔案中讀取相機內參。

# -*- coding:utf-8 -*-

import numpy as np

import open3d as o3d

import open3d.examples.python.open3d_tutorial as o3dtut

pinhole_camera_intrinsic = o3d.io.read_pinhole_camera_intrinsic(

"../../test_data/camera_primesense.json")

print(pinhole_camera_intrinsic.intrinsic_matrix)

[[525. 0. 319.5]

[ 0. 525. 239.5]

[ 0. 0. 1. ]]

注意:

open3d 中許多小的資料結構都能夠通過json檔案來讀寫。包括相機引數,相機軌跡,姿態圖等等。

這個**塊是中讀取兩對redwood格式的rgbd影象。我們提供了redwood資料集的解釋(在前一節有介紹)。

注意:

open3d假設彩色影象和深度影象是同步的,並且在同一座標系下配準。這通常可以在rgbd相機中通過開啟同步和配準設定來實現。

option = o3d.pipelines.odometry.odometryoption()

odo_init = np.identity(4)

print(option)

[success_color_term, trans_color_term,info] = o3d.pipelines.odometry.compute_rgbd_odometry(

source_rgbd_image, target_rgbd_image, pinhole_camera_intrinsic, odo_init,

o3d.pipelines.odometry.rgbdodometryjacobianfromcolorterm(), option)

[success_hybrid_term, trans_hybrid_term,info] = o3d.pipelines.odometry.compute_rgbd_odometry(

source_rgbd_image, target_rgbd_image, pinhole_camera_intrinsic, odo_init,

o3d.pipelines.odometry.rgbdodometryjacobianfromhybridterm(), option)

odometry::odometryoption class.

iteration_number_per_pyramid_level = [ 20, 10, 5, ]

max_depth_diff = 0.030000

min_depth = 0.000000

max_depth = 4.000000

這個**塊呼叫兩種不同的rgbd測程方法。第一種來自[steinbrucker2011].它是去最小化對齊的顏色一致性。第二種演算法來自[park2017]。除了顏色一致性以外,它還實現了幾何約束。這兩種方法執行速度接近。但是[park2017]在我們的基準資料集中有著更高的精度,所以我們推薦使用。

odometryoption()有幾個引數:

將rgbd影象對轉換成點雲並且一起渲染。要注意的是,第乙個(源)rgbd影象是通過測程法估計出的變換來進行變換的。經過變化之後的兩組點雲是對齊的。

open3d安裝 3D視覺化神器之Open3D

很多時候在python裡面你要找乙個3d點雲視覺化的庫真的是難啊。你的選擇可能是 open3d 顯示點雲的效果。它的安裝非常簡單 pip3 install open3d python匯入的時候打概率可能因為ipython導致出錯,安裝ipython就行。實力程式 import os import n...

Open3D 獲取mesh屬性

首先看一下在cloudcompare軟體中的實現 mesh flag vertices 檢查網格的基本特性,為每個網格樣本做標誌 0 normal,1 border,2 non manifold 三角網格有幾個可以用open3d測試的屬性。乙個重要的屬性是流形性質 manifold property...

Open3d之python版本快速安裝和使用

open3d預構建的pip和conda包支援作業系統為ubuntu 18.04 macos 10.14 和windows 10 64 bit python版本為3.5,3.6,3.7和3.8.若你想要使用其他python版本和作業系統,從原始碼編譯。通過pip安裝open3d pip install...