librealsense库的跨平台cTypes/cython包装器。

pyrealsense的Python项目详细描述


跨平台 ctypes/Cython 包装到 librealsense 图书馆。

先决条件

  • 安装 librealsense 并运行示例。
  • 安装依赖项:pyrealsense使用 pycparser用于提取 librealsense api中的必要枚举和结构定义, Cython用于包装 librealsense api和 通用数据洗牌。
  • windows specifics:将环境变量pyrs_includes设置为 rs.h目录位置和环境变量pyrs_libs to librealsense二进制位置。你可能还需要 stdint.h在您的路径中可用。

安装

PyPI-(obs:not 总是最新的):

pip install pyrealsense

来源:

python setup.py install

在线使用

## setup logging
import logging
logging.basicConfig(level = logging.INFO)

## import the package
import pyrealsense as pyrs

## start the service - also available as context manager
serv = pyrs.Service()

## create a device from device id and streams of interest
cam = serv.Device(device_id = 0, streams = [pyrs.stream.ColorStream(fps = 60)])

## retrieve 60 frames of data
for _ in range(60):
    cam.wait_for_frames()
    print(cam.color)

## stop camera and service
cam.stop()
serv.stop()

RealSense设备的服务器是用^{tt3}启动的$ 将打印出可用设备的数量。也可以是 以with pyrs.Service():作为上下文启动。

可以从服务Device工厂创建不同的设备。 它们被创建为自己的类,由设备ID、名称、序列号和 固件以及启用的流和摄像头预设。违约 使用id = 0创建设备并设置颜色、深度, 点云、颜色对齐、深度对齐、颜色和红外 溪流。

可用的流是本地流或合成流,每个流都将 创建公开帧缓冲区当前内容的属性 以device.<stream_name>的形式,其中<stream_name>是 颜色、深度、点、CAD、DAC或红外。要访问新数据, Device.wait_for_frames必须每帧调用一次。

脱机使用

## with connected device cam
from pyrealsense import offline
offline.save_depth_intrinsics(cam)
## previous device cam now offline
from pyrealsense import offline
offline.load_depth_intrinsics('610205001689')  # camera serial number
d = np.linspace(0, 1000, 480*640, dtype=np.uint16)
pc = offline.deproject_depth(d)

模块offline可以存储 默认情况下,在文件的用户主目录中的设备到磁盘 .pyrealsense。这可以稍后加载并用于降低深度 数据到PointCloud中,这对于存储原始视频文件和保存 一些磁盘存储器。

示例

有三个例子使用不同的可视化技术: 带matplotlib颜色和深度的颜色 具有opencv的流-具有 VTK

注意事项

到目前为止,此包装器的测试方法是:

  • librealsense v1.12.1
  • ubuntu 16.04 LTS,Mac OS X 10.12.2 w/SR300相机
  • Mac OS X 10.12.3 w/r200摄像头

脱机模块仅支持一个摄像头。

生成状态

ubuntu trusty,python 2和3:Build Status

可能的拉取请求

  • 对文档的改进
  • 来自rs.h
  • 的更多功能
  • 锅炉板代码(Qt示例?)
  • 支持脱机模块中的多个摄像头
  • Windows和MacOS的持续集成

确保推送到dev分支。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
SpringWeb中的java更新/通知其他用户   java Lambda性能测试   java Bukkit插件:空白符号   java在按下按钮后改变彩色正方形的大小   javajavac相当于“D”?   java序列化接口   属性无法从属性文件返回值   java我应该使用什么查询来使用Jsoup从html页面提取符号?   java Android Studio项目结构问题   JAVA方法和返回值/公共变量(基础)   java将NativeQuery映射到POJO   java如何在下面的程序中消除NumberFormatException?   在java中获取链表与数组中的对象   java Android Firebase将用户发送到聊天室