capture_screen_float_buffer(do_render=True)
do_render
:bool类型,控制是否要渲染可视化窗口。默认为True
返回值为一个numpy数组,形状为(高度,宽度,4)。其中,RGB信息存储在前三个数值中,第四个数值用于存储alpha通道信息。数组数值范围在0.0到1.0之间。
capture_screen_float_buffer
函数用于在Open3D可视化窗口中捕捉其浮点缓冲区。该缓冲区存储了以浮点数形式表示的RGB颜色和alpha通道信息。
如果可视化窗口需要更新,函数会首先调用update_geometry
和update_renderer
更新窗口渲染。随后,函数将读取渲染后的浮点缓冲区内容并返回其数值。
请注意,该函数返回的数组数值在0.0到1.0之间。如需将其转换为0至255的整数,需先将其数值乘以255后四舍五入取整。
以下示例展示了如何使用capture_screen_float_buffer
函数在Open3D可视化窗口中捕捉其浮点缓冲区。
import open3d as o3d
vis = o3d.visualization.Visualizer()
vis.create_window(window_name='Open3D', width=500, height=500)
pcd = o3d.io.read_point_cloud("cloud.pcd")
vis.add_geometry(pcd)
vis.run()
image = vis.capture_screen_float_buffer()
print(image.shape)
vis.destroy_window()
上述示例展示了使用capture_screen_float_buffer
函数捕捉了可视化窗口的浮点缓冲区,并打印了其形状信息。