Intel RealSense D435介绍、安装和使用

实验室采购的三个Intel RealSense相机到了,分别是D435、R200和blasterx senz3d,都试了一下,除了适用的最佳距离范围不同,其它功能大致相同,用SDK的话会有一点差别。本篇是关于D435的使用笔记。

一、产品介绍

1、产品全称

Intel RealSense Depth Camera D435

2、实物图

Intel RealSense D435介绍、安装和使用_第1张图片

3、相机介绍

参考博客
2018年1月19日,英特尔宣布更新RealSense深度摄像头产品线,带来两款全新的产品:D415和D435,现在已经开始接受预定。按照英特尔的说法,新型深度摄像头非常适合硬件原型设计者和软件开发者,设备采用了即用型USB供电形式,并且搭载了D400系列深度模块,具备完整光学深度解决方案。
RealSense D415提供卷帘快门感应器和窄视野的小镜头。英特尔表示,D415搭载D410深度传感器,狭窄视野提供了高深度分辨率,这是“精确测量的理想选择”。
RealSense D435提供全局快门感应器和更大的镜头,以获得比便宜的D415相机更好的低光照性能。D435还具有更强大的RealSense模块D430。
英特尔表示,D435相机是“机器人导航和物体识别等应用的首选解决方案”。这两款RealSense D400系列摄像机的捕捉最远距离可以达到10米,而且新款在户外阳光下也可以使用,均支持输出1280x720分辨率的深度画面,更普通的视频传输方面可以达到90fps。
Intel RealSense D435介绍、安装和使用_第2张图片
D435相机正面有四个圆孔,如下图所示,从左向右,第一和第三个是红外传感器(IR Stereo Cameral);第二个是红外激光发射器(IR Projector),第四个是彩色相机(色彩传感器)。
Intel RealSense D435介绍、安装和使用_第3张图片

二、安装和使用

可视化界面(Intel RealSense Viewer)的安装以及SDK的安装可以参照官方指南。改SDK会附带安装可视化界面Viewer、Examples和Depth Quality Tool。
官方指南

官方GitHub给出的SDK包含以下几个部分,作用分别如下:

1、Intel RealSense Viewer

对应的安装包是Intel.RealSense.Viewer.exe。
也可以安装Intel.RealSense.SDK.exe,会自动安装这个。不需要做开发使用的话只需安装Intel.RealSense.Viewer.exe即可。
即可视化界面,用于使相机接入电脑。安装后双击exe文件,如果连接成功,可看到如下界面,用户可以查看深度图、可视化点云、记录和回放视频,还可以配置摄像头设置、修改高级控件和后期处理等功能。
Intel RealSense D435介绍、安装和使用_第4张图片

2、Intel RealSense SDK

对应的安装包是Intel.RealSense.SDK.exe。
满足开发需要。
该SDK还包含了以下两种功能:

2.1 Debug Tools

包含在Intel.RealSense.SDK.exe中,可以在tools目录中看到设备枚举,FW记录器等。

2.2 Code Samples

包含在Intel.RealSense.SDK.exe中,提供一些示例程序,将摄像头应用到程序中。可以自己跑一遍看看效果。

3、Depth Quality Tool

对应的安装包是Depth.Quality.Tool.exe。
使用该应用可以测试相机的深度质量,包括:平面拟合的标准偏差,标准化RMS - 亚像素精度,距离精度和填充率。可以获取多个深度质量指标,并记录和保存数据以供离线分析。

4、Wrappers

Python,C#/ .NET,Node.js API,以及与以下第三方技术的集成:ROS,LabVIEW,OpenCV,PCL,Unity,Matlab等等,包括OpenNI。

另外,相机支持以下几种系统,看到支持Mac OS还是很开心的,但是仅支持SDK的部分功能,个人觉得可能有些功能也不太稳定。本次使用Win10来做以下工作。
Intel RealSense D435介绍、安装和使用_第5张图片

三、应用

使用基于opencv扩展示例程序实现物体检测(rs-dnn),按照官方指南配置环境,安装librealsense,编译完librealsense之后运行rs-dnn报错,目前还没找到原因。

搭建python3开发环境并显示彩色图和深度图

安装Intel.RealSense.SDK.exe后,在安装目录…/Intel RealSense SDK 2.0/bin/x64目录下有两个.pyd文件,根据文件名可以知道,其中一个对应python2.7版本,另一个对应python3.6。将python3.6对应的.pyd文件复制到python环境的site-packages目录下,我的目录是…/Anaconda3/envs/ycc01/Lib/site-packages。即可完成环境搭建。
下面代码测试搭建的环境是否可用,代码功能是显示彩色图和深度图:

import pyrealsense2 as rs
import numpy as np
import cv2

if __name__ == "__main__":
    # Configure depth and color streams
    pipeline = rs.pipeline()
    config = rs.config()
    config.enable_stream(rs.stream.depth, 640, 480, rs.format.z16, 30)
    config.enable_stream(rs.stream.color, 640, 480, rs.format.bgr8, 30)
    # Start streaming
    pipeline.start(config)
    try:
        while True:
            # Wait for a coherent pair of frames: depth and color
            frames = pipeline.wait_for_frames()
            depth_frame = frames.get_depth_frame()
            color_frame = frames.get_color_frame()
            if not depth_frame or not color_frame:
                continue
            # Convert images to numpy arrays

            depth_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)
            # Stack both images horizontally
            images = np.hstack((color_image, depth_colormap))
            # Show images
            cv2.namedWindow('RealSense', cv2.WINDOW_AUTOSIZE)
            cv2.imshow('RealSense', images)
            key = cv2.waitKey(1)
            # Press esc or 'q' to close the image window
            if key & 0xFF == ord('q') or key == 27:
                cv2.destroyAllWindows()
                break
    finally:
        # Stop streaming
        pipeline.stop()

运行结果:
Intel RealSense D435介绍、安装和使用_第6张图片

如有错误欢迎批评指正。

你可能感兴趣的:(深度学习与计算机视觉,python,LeapMotion,&,Intel,RealSense)