Не удается получить формат текстовых данных (ascii) из pyrealsense2 - PullRequest
0 голосов
/ 25 февраля 2020

Я Пак, аспирант, изучающий и исследующий машинное зрение и оценку позы глубины изображения

В эти дни я пытаюсь получить трехмерную координату из файла сгиба.

Так что мне нужно получить файл ply с данными текстового (ascii) формата из файла bag, извлеченного pyrealsense2

Проблема заключается в том, что по умолчанию используется опция сохранения файла 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()

сообщение об ошибке

    runfile('D:/Projects/realSense/python/export_ply.py', wdir='D:/Projects/realSense/python')
Traceback (most recent call last):

  File "<ipython-input-20-aa33b87b95f5>", line 1, in <module>
    runfile('D:/Projects/realSense/python/export_ply.py', wdir='D:/Projects/realSense/python')

  File "C:\Users\hirva\Anaconda3\lib\site-packages\spyder_kernels\customize\spydercustomize.py", line 827, in runfile
    execfile(filename, namespace)

  File "C:\Users\hirva\Anaconda3\lib\site-packages\spyder_kernels\customize\spydercustomize.py", line 
  110, in execfile
    exec(compile(f.read(), filename, 'exec'), namespace)

  File "D:/Projects/realSense/python/export_ply.py", line 40, in <module>
    ply.set_option(rs.save_to_ply.option_ply_binary, False)

TypeError: (): incompatible function arguments. The following argument types are supported:
    1. () -> pyrealsense2.pyrealsense2.option

Invoked with: <class 'pyrealsense2.pyrealsense2.save_to_ply'>
...