Intel深度摄像头RealSense D435(实感双目摄像头)调用代码

 1.RealSense D435摄像头的使用

1.1 使用D435读取摄像头RGB和深度图

import pyrealsense2 as rs
import numpy as np
import cv2

# Configure depth and color streams
pipeline = rs.pipeline()
config = rs.config()
# config.enable_stream(rs.stream.depth, 640, 480, rs.format.z16, 30)
# config.enable_stream(rs.stream.color, 640, 480, rs.format.bgr8, 30)

config.enable_stream(rs.stream.depth, 640, 480, rs.format.z16, 30)
config.enable_stream(rs.stream.color, 640, 480, rs.format.bgr8, 30)

# Start streaming
pipeline.start(config)

try:
    while True:

        # Wait for a coherent pair of frames: depth and color
        frames = pipeline.wait_for_frames()
        # 深度图
        depth_frame = frames.get_depth_frame()
        # 正常读取的视频流
        color_frame = frames.get_color_frame()
        if not depth_frame or not color_frame:
            continue

        # Convert images to numpy arrays
        depth_image = np.asanyarray(depth_frame.get_data())
        color_image = np.asanyarray(color_frame.get_data())
        # print(f"depth_image shape: {depth_image.shape} color_image shape: {color_image.shape}")
        print(f"depth_image value: {depth_image}")   # 里面0值很多,还有很多1900左右的值      300mm 单位是毫米=30厘米=0.3米
        # depth_image shape: (480, 640) color_image shape: (480, 640, 3)
        # 深度图是单通道  颜色图是三通道的

        # Apply colormap on depth image (image must be converted to 8-bit per pixel first)
        # 在深度图像上应用colormap(图像必须先转换为每像素8位)
        depth_colormap = cv2.applyColorMap(cv2.convertScaleAbs(depth_image, alpha=0.03), cv2.COLORMAP_JET)

        # Stack both images horizontally
        images = np.hstack((color_image, depth_colormap))

        # Show images
        cv2.namedWindow('RealSense', cv2.WINDOW_AUTOSIZE)
        cv2.imshow('RealSense', images)
        cv2.waitKey(1)

finally:

    # Stop streaming
    pipeline.stop()

您好!要使用Realsense深度相机进行双目录制,您可以使用Python编程语言和Intel RealSense SDK进行操作。下面是一个示例代码,可以帮助您开始录制双目视频: ```python import pyrealsense2 as rs import cv2 # 配置相机参数 pipeline = rs.pipeline() config = rs.config() config.enable_stream(rs.stream.color, 640, 480, rs.format.bgr8, 30) config.enable_stream(rs.stream.depth, 640, 480, rs.format.z16, 30) # 启动相机 pipeline.start(config) # 创建视频编写器 width, height = 640, 480 fourcc = cv2.VideoWriter_fourcc(*'XVID') left_writer = cv2.VideoWriter('left.avi', fourcc, 30.0, (width, height)) right_writer = cv2.VideoWriter('right.avi', fourcc, 30.0, (width, height)) try: while True: # 等待相机数据 frames = pipeline.wait_for_frames() # 获取彩色和深度图像帧 color_frame = frames.get_color_frame() depth_frame = frames.get_depth_frame() if not color_frame or not depth_frame: continue # 将帧转换成numpy数组 color_image = np.asanyarray(color_frame.get_data()) depth_image = np.asanyarray(depth_frame.get_data()) # 分割左右图像 left_image = color_image[:, :width] right_image = color_image[:, width:] # 将图像帧写入视频文件 left_writer.write(left_image) right_writer.write(right_image) # 显示图像 cv2.imshow("Left Image", left_image) cv2.imshow("Right Image", right_image) # 按下 'q' 键退出循环 if cv2.waitKey(1) & 0xFF == ord('q'): break finally: # 关闭视频编写器 left_writer.release() right_writer.release() # 停止相机并关闭所有窗口 pipeline.stop() cv2.destroyAllWindows() ``` 请确保您已经安装了pyrealsense2和OpenCV库。该代码将从深度相机获取彩色和深度图像,并将左右图像分割保存到两个独立的视频文件中。 希望对您有所帮助!如果您有任何其他问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值