Skip to content

Instantly share code, notes, and snippets.

@emmanuel-nwogu
Created November 21, 2022 23:45
Show Gist options
  • Save emmanuel-nwogu/2a93babeaae90343551ba3e669479555 to your computer and use it in GitHub Desktop.
Save emmanuel-nwogu/2a93babeaae90343551ba3e669479555 to your computer and use it in GitHub Desktop.
RealSense
## License: Apache 2.0. See LICENSE file in root directory.
## Copyright(c) 2015-2017 Intel Corporation. All Rights Reserved.
###############################################
## Open CV and Numpy integration ##
###############################################
import os
import pyrealsense2 as rs
import numpy as np
import cv2
# Configure depth and color streams
pipeline = rs.pipeline()
config = rs.config()
# Get device product line for setting a supporting resolution
pipeline_wrapper = rs.pipeline_wrapper(pipeline)
pipeline_profile = config.resolve(pipeline_wrapper)
device = pipeline_profile.get_device()
device_product_line = str(device.get_info(rs.camera_info.product_line))
print(f"device: {device_product_line}")
found_rgb = False
for s in device.sensors:
if s.get_info(rs.camera_info.name) == 'RGB Camera':
found_rgb = True
break
if not found_rgb:
print("The demo requires Depth camera with Color sensor")
exit(0)
config.enable_stream(rs.stream.depth, 640, 480, rs.format.z16, 30)
if device_product_line == 'L500':
config.enable_stream(rs.stream.color, 960, 540, rs.format.bgr8, 30)
else:
config.enable_stream(rs.stream.color, 1920, 1080, rs.format.bgr8, 30)
# Start streaming
pipeline.start(config)
try:
i = 0
while True:
i = i + 1
# Wait for a coherent pair of frames: depth and color
frames = pipeline.wait_for_frames()
color_frame = frames.get_color_frame()
if not color_frame:
continue
# Convert images to numpy arrays
color_image = np.asanyarray(color_frame.get_data())
# if i == 25:
# cv2.imwrite("output.jpeg", color_image)
# break
# Show images
cv2.namedWindow('RealSense', cv2.WINDOW_AUTOSIZE)
cv2.imshow('RealSense', color_image) # cv2.imshow('RealSense', color_image)
cv2.waitKey(1)
finally:
# Stop streaming
pipeline.stop()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment