深度カメラを用いてpyrealsenseで取得した距離データを保存し、再生したいと思っていますが、上手くできません。
データを再生しようとしたらプログラミングの途中でエラーを起こします。恐らく原因はデータを上手く保存できていないと思います。どうすれば上手く保存や再生ができるのでしょうか?ソースコード、参考にしたサイト、使用した深度カメラは下記に書いています。
データを保存するときのソースコード
python
1import pyrealsense2 as rs 2import numpy as np 3import cv2 4config = rs.config() 5config.enable_stream(rs.stream.color, 640, 480, rs.format.bgr8, 30) 6config.enable_stream(rs.stream.depth, 640, 480, rs.format.z16, 30) 7config.enable_stream(rs.stream.infrared, 640, 480, rs.format.y8, 30) 8config.enable_record_to_file('./data/d415data.bag') 9pipeline = rs.pipeline() 10profile = pipeline.start(config) 11try: 12 while True: 13 frames = pipeline.wait_for_frames() 14 color_frame = frames.get_color_frame() 15 depth_frame = frames.get_depth_frame() 16 if not depth_frame or not color_frame: 17 continue 18 color_image = np.asanyarray(color_frame.get_data()) 19 depth_color_frame = rs.colorizer().colorize(depth_frame) 20 depth_color_image = np.asanyarray(depth_color_frame.get_data()) 21 images = np.hstack((color_image, depth_color_image)) 22 cv2.namedWindow('RealSense', cv2.WINDOW_AUTOSIZE) 23 cv2.imshow('RealSense', images) 24 key = cv2.waitKey(1) & 0xFF 25 if key == ord('q'): 26 break 27finally: 28 pipeline.stop() 29 cv2.destroyAllWindows()
再生するときのソースコード
python
1import pyrealsense2 as rs 2import numpy as np 3import cv2 4config = rs.config() 5config.enable_device_from_file('./data/d415data.bag') 6config.enable_stream(rs.stream.color, 640, 480, rs.format.bgr8, 30) 7config.enable_stream(rs.stream.depth, 640, 480, rs.format.z16, 30) 8pipeline = rs.pipeline() 9profile = pipeline.start(config) 10try: 11 while True: 12 frames = pipeline.wait_for_frames() 13 color_frame = frames.get_color_frame() 14 depth_frame = frames.get_depth_frame() 15 if not depth_frame or not color_frame: 16 continue 17 color_image = np.asanyarray(color_frame.get_data()) 18 depth_color_frame = rs.colorizer().colorize(depth_frame) 19 depth_color_image = np.asanyarray(depth_color_frame.get_data()) 20 images = np.hstack((color_image, depth_color_image)) 21 cv2.namedWindow('RealSense', cv2.WINDOW_AUTOSIZE) 22 cv2.imshow('RealSense', images) 23 key = cv2.waitKey(1) & 0xFF 24 if key == ord('q'): 25 break 26finally: 27 pipeline.stop() 28 cv2.destroyAllWindows()
発生したエラーの所
python
1import pyrealsense2 as rs 2import numpy as np 3import cv2 4config = rs.config() 5config.enable_device_from_file('./data/d415data.bag') 6config.enable_stream(rs.stream.color, 640, 480, rs.format.bgr8, 30) 7config.enable_stream(rs.stream.depth, 640, 480, rs.format.z16, 30) 8pipeline = rs.pipeline() 9profile = pipeline.start(config) 10#発生したエラー 11Traceback (most recent call last): 12 File "<stdin>", line 1, in <module> 13RuntimeError: Failed to resolve request. Request to enable_device_from_file("./data/d415data.bag") was invalid, Reason: Failed to create ros reader: Bag unindexed
使用しているカメラ
REALSENSE D415
参考にしたサイト
https://qiita.com/nataly510/items/c676a28a1119907a560d
https://mirai-tec.hatenablog.com/entry/2018/07/29/150902
あなたの回答
tips
プレビュー