深度相机D455保存左右图像至不同文件夹内

深度相机D455保存左右图像至不同文件夹内:
import pyrealsense2 as rs
import numpy as np
import cv2
import os
def save_ir_images(ir1_frame, ir2_frame, index):
ir1_image = np.asanyarray(ir1_frame.get_data())
ir2_image = np.asanyarray(ir2_frame.get_data())
# 创建输出文件夹
output_dir_left = ‘output/left’
output_dir_right = ‘output/right’
if not os.path.exists(output_dir_left):
os.makedirs(output_dir_left)
if not os.path.exists(output_dir_right):
os.makedirs(output_dir_right)
ir1_filename = os.path.join(output_dir_left, f’ir1_image_{index}.png’)
ir2_filename = os.path.join(output_dir_right, f’ir2_image_{index}.png’)
cv2.imwrite(ir1_filename, ir1_image)
cv2.imwrite(ir2_filename, ir2_image)
print(f"Saved {ir1_filename} and {ir2_filename}")
def main():
# 创建RealSense管道
pipeline = rs.pipeline()
# 创建配置对象
config = rs.config()
# 配置管道以启用红外流
config.enable_stream(rs.stream.infrared, 1, 1280, 720, rs.format.y8, 30)
config.enable_stream(rs.stream.infrared, 2, 1280, 720, rs.format.y8, 30)
# 开始流
profile = pipeline.start(config)
# 关闭结构光
sensor = profile.get_device().first_depth_sensor()
sensor.set_option(rs.option.emitter_enabled, 0)
try:
index = 0
while True:
# 等待一组帧
frames = pipeline.wait_for_frames()
# 获取红外帧
ir1_frame = frames.get_infrared_frame(1)
ir2_frame = frames.get_infrared_frame(2)
# 检查帧是否完整
if not ir1_frame or not ir2_frame:
continue
# 显示图像
ir1_image = np.asanyarray(ir1_frame.get_data())
ir2_image = np.asanyarray(ir2_frame.get_data())
cv2.imshow(‘Left IR Image’, ir1_image)
cv2.imshow(‘Right IR Image’, ir2_image)
# 保存图像
save_ir_images(ir1_frame, ir2_frame, index)
index += 1
# 按键退出
if cv2.waitKey(1) & 0xFF == ord(‘q’):
break
finally:
# 停止管道
pipeline.stop()
cv2.destroyAllWindows()
if name == “main”:
main()

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值