Created
November 21, 2022 23:45
-
-
Save emmanuel-nwogu/2a93babeaae90343551ba3e669479555 to your computer and use it in GitHub Desktop.
RealSense
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
## 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