You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
52 lines
1.9 KiB
52 lines
1.9 KiB
## License: Apache 2.0. See LICENSE file in root directory.
|
|
## Copyright(c) 2015-2017 Intel Corporation. All Rights Reserved.
|
|
|
|
#####################################################
|
|
## librealsense tutorial #1 - Accessing depth data ##
|
|
#####################################################
|
|
|
|
# First import the library
|
|
import pyrealsense2 as rs
|
|
|
|
try:
|
|
# Create a context object. This object owns the handles to all connected realsense devices
|
|
pipeline = rs.pipeline()
|
|
|
|
# Configure streams
|
|
config = rs.config()
|
|
config.enable_stream(rs.stream.depth, 640, 480, rs.format.z16, 30)
|
|
|
|
# Start streaming
|
|
pipeline.start(config)
|
|
|
|
while True:
|
|
# This call waits until a new coherent set of frames is available on a device
|
|
# Calls to get_frame_data(...) and get_frame_timestamp(...) on a device will return stable values until wait_for_frames(...) is called
|
|
frames = pipeline.wait_for_frames()
|
|
depth = frames.get_depth_frame()
|
|
if not depth: continue
|
|
|
|
# Print a simple text-based representation of the image, by breaking it into 10x20 pixel regions and approximating the coverage of pixels within one meter
|
|
coverage = [0]*64
|
|
for y in range(480):
|
|
for x in range(640):
|
|
dist = depth.get_distance(x, y)
|
|
if 0 < dist and dist < 1:
|
|
coverage[x//10] += 1
|
|
|
|
if y%20 is 19:
|
|
line = ""
|
|
for c in coverage:
|
|
line += " .:nhBXWW"[c//25]
|
|
coverage = [0]*64
|
|
print(line)
|
|
exit(0)
|
|
#except rs.error as e:
|
|
# # Method calls agaisnt librealsense objects may throw exceptions of type pylibrs.error
|
|
# print("pylibrs.error was thrown when calling %s(%s):\n", % (e.get_failed_function(), e.get_failed_args()))
|
|
# print(" %s\n", e.what())
|
|
# exit(1)
|
|
except Exception as e:
|
|
print(e)
|
|
pass
|