计算与 Intel Realsense R200 深度摄像头的距离

Posted

技术标签:

【中文标题】计算与 Intel Realsense R200 深度摄像头的距离【英文标题】:Calculating distance from Intel Realsense R200 Depth Camera 【发布时间】:2018-06-11 16:33:11 【问题描述】:

我一直在尝试用 R200 相机的值计算物体的距离。我安装了 PyRealsense 和 librealsense(legacy)。 PyRealsense 的示例可以正常工作。

我为此创建了一个代码:

import pyrealsense as pyrs
from pyrealsense.constants import rs_option
depth_stream = pyrs.stream.DepthStream()
infrared_stream = pyrs.stream.InfraredStream()

with pyrs.Service() as serv:
    with serv.Device(streams=(depth_stream, infrared_stream, )) as dev:
        #dev.apply_ivcam_preset(0)
        while True:
            dev.wait_for_frames()

            print(dev.infrared) 

它返回一个矩阵,该矩阵的值根据对象的位置而变化:

 [37 37 39 ... 20 20 21]
 [35 35 38 ... 17 18 19]
 [34 33 37 ... 19 20 20]]
[[40 36 30 ... 16 15 17]
 [40 37 28 ... 14 14 19]
 [42 39 28 ... 14 16 20]

这个矩阵的哪一列代表距离值或者我应该怎么做才能计算距离。

【问题讨论】:

您必须创建一个答案并将其标记为正确,而不是编辑您的问题并将 [SOLVED] 添加到标题中,这是表明问题已在 SO 中解决的正确方式 【参考方案1】:

在 Google 上搜索时,我发现了一个使用 RealSense 摄像头计算距离的示例:

https://github.com/intel/intel-iot-refkit/blob/master/meta-refkit-extra/doc/computervision.rst

我必须对其进行编辑才能使其与 PyRealSense 2.0 一起使用:

#!/usr/bin/python3

import sys

import numpy as np
import cv2
import pyrealsense as pyrs

with pyrs.Service() as serv:
    serv.start()
    with serv.Device() as cam:
        cat_cascade = cv2.CascadeClassifier("/usr/share/opencv/haarcascades/haarcascade_frontalcatface.xml")

        for x in range(30):
            # stabilize exposure
            cam.wait_for_frames()

        while True:
        # get image from web cam
            cam.wait_for_frames()
            img = cam.color

            cats = cat_cascade.detectMultiScale(img)
            for (x,y,w,h) in cats:
                # find center
                cx = int(round(x+(w/2)))
                cy = int(round(y+(h/2)))

                depth = cam.depth[cy][cx]

                print("Cat found, distance " + str(depth/10.0) + " cm")

它在显示猫脸时计算距离。我已经开始学习 Tensorflow,但我对 OpenCV 的了解很差。你能解释一下,将此代码移植到 TensorFlow 或 CAFFE 的最简单方法是什么。

【讨论】:

以上是关于计算与 Intel Realsense R200 深度摄像头的距离的主要内容,如果未能解决你的问题,请参考以下文章

RealSense R200 播放错误

RealSense R200 在高色彩分辨率和低深度分辨率下崩溃

实感相机-Intel Realsense Camera

Intel RealSense3D的原理以及与Kinect想比有啥优点

英特尔实感3D摄像头

Intel RealSense的使用范围是多少