## 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 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))found_rgb =Falsefor s in device.sensors:if s.get_info(rs.camera_info.name)=='RGB Camera':found_rgb =Truebreakifnot 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,640,480, rs.format.bgr8,30)# Start streaming
pipeline.start(config)try:whileTrue:# Wait for a coherent pair of frames: depth and colorframes = pipeline.wait_for_frames()depth_frame = frames.get_depth_frame()color_frame = frames.get_color_frame()ifnot depth_frame ornot color_frame:continue# Convert images to numpy arraysdepth_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)depth_colormap_dim = depth_colormap.shapecolor_colormap_dim = color_image.shape# If depth and color resolutions are different, resize color image to match depth image for displayif depth_colormap_dim != color_colormap_dim:resized_color_image = cv2.resize(color_image, dsize=(depth_colormap_dim[1], depth_colormap_dim[0]), interpolation=cv2.INTER_AREA)images = np.hstack((resized_color_image, depth_colormap))else:images = np.hstack((color_image, depth_colormap))# Show imagescv2.namedWindow('RealSense', cv2.WINDOW_AUTOSIZE)cv2.imshow('RealSense', images)cv2.waitKey(1)finally:# Stop streamingpipeline.stop()