You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
49 lines
1.6 KiB
49 lines
1.6 KiB
## License: Apache 2.0. See LICENSE file in root directory.
|
|
## Copyright(c) 2017 Intel Corporation. All Rights Reserved.
|
|
|
|
#####################################################
|
|
## Export to PLY ##
|
|
#####################################################
|
|
|
|
# First import the library
|
|
import pyrealsense2 as rs
|
|
|
|
|
|
# Declare pointcloud object, for calculating pointclouds and texture mappings
|
|
pc = rs.pointcloud()
|
|
# We want the points object to be persistent so we can display the last cloud when a frame drops
|
|
points = rs.points()
|
|
|
|
# Declare RealSense pipeline, encapsulating the actual device and sensors
|
|
pipe = rs.pipeline()
|
|
config = rs.config()
|
|
# Enable depth stream
|
|
config.enable_stream(rs.stream.depth)
|
|
|
|
# Start streaming with chosen configuration
|
|
pipe.start(config)
|
|
|
|
# We'll use the colorizer to generate texture for our PLY
|
|
# (alternatively, texture can be obtained from color or infrared stream)
|
|
colorizer = rs.colorizer()
|
|
|
|
try:
|
|
# Wait for the next set of frames from the camera
|
|
frames = pipe.wait_for_frames()
|
|
colorized = colorizer.process(frames)
|
|
|
|
# Create save_to_ply object
|
|
ply = rs.save_to_ply("1.ply")
|
|
|
|
# Set options to the desired values
|
|
# In this example we'll generate a textual PLY with normals (mesh is already created by default)
|
|
ply.set_option(rs.save_to_ply.option_ply_binary, False)
|
|
ply.set_option(rs.save_to_ply.option_ply_normals, True)
|
|
|
|
print("Saving to 1.ply...")
|
|
# Apply the processing block to the frameset which contains the depth frame and the texture
|
|
ply.process(colorized)
|
|
print("Done")
|
|
finally:
|
|
pipe.stop()
|