如何用Python打开realsenseD435相机

import pyrealsense2 as rs

import numpy as np

import cv2

if __name__ == "__main__":

# Configure depth and color streams

pipeline = rs.pipeline()

config = rs.config()

config.enable_device_from_file("666.bag")#这是打开相机录制的视频

# 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())

# Apply colormap on depth image (image must be converted to 8-bit per pixel first)

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)

key = cv2.waitKey(1)

# Press esc or 'q' to close the image window

if key & 0xFF == ord('q') or key == 27:

cv2.destroyAllWindows()

break

finally:

# Stop streaming

pipeline.stop()

如何用Python获取深度相机参数

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)

pipeline.start(config)

# 创建对齐对象(深度对齐颜色)

align = rs.align(rs.stream.color)

try:

while True:

frames = pipeline.wait_for_frames()

# 获取对齐帧集

aligned_frames = align.process(frames)

# 获取对齐后的深度帧和彩色帧

aligned_depth_frame = aligned_frames.get_depth_frame()

color_frame = aligned_frames.get_color_frame()

# 获取颜色帧内参

color_profile = color_frame.get_profile()

cvsprofile = rs.video_stream_profile(color_profile)

color_intrin = cvsprofile.get_intrinsics()

color_intrin_part = [color_intrin.ppx, color_intrin.ppy, color_intrin.fx, color_intrin.fy]

print(color_intrin_part)

# [318.48199462890625, 241.16720581054688, 616.5906372070312, 616.7650146484375]

if not aligned_depth_frame or not color_frame:

continue

finally:

pipeline.stop()

更多推荐

用python开启相机_如何用Python打开realsenseD435相机并获取相机参数