RealSense D435 的开发日记

🌞欢迎来到机器学习的世界 
🌈博客主页:卿云阁

💌欢迎关注🎉点赞👍收藏⭐️留言📝

🌟本文由卿云阁原创!

🌠本阶段属于练气阶段,希望各位仙友顺利完成突破

📆首发时间:🌹2021年6月22日🌹

✉️希望可以和大家一起完成进阶之路!

🙏作者水平很有限,如果发现错误,请留言轰炸哦!万分感谢!

 6月22日    星期三   天气晴


目录

🍈 一、与RealSense的初识

 🍉二. D435i硬件结构及各个组件原理详解

🍊三、测试与使用

🍋四、Python接口的安装与使用

🍍五、显示彩色图和深度图

🍈 一、与RealSense的初识

   最近,想写篇论文,苦于没有方向,我找到了老师,发现这个方向可以出论文,为此我开始了我艰难的学习之路。虽然Intel官网上RealSense相机看起来都很大的样子,但其实真正拿到手里会发现其实是非常小巧的。


 🍉二. D435i硬件结构及各个组件原理详解

其集成了两个红外传感器(IR Stereo Camera)、一个红外激光发射器(IR Projector)和一个彩色相机(Color Camera)。

立体深度相机系统主要包括两部分:视觉处理器D4和深度模块。主机处理器连接 USB 2.0 / USB 3.1 Gen 1。

深度模块采用立体视觉的左右成像器、可选的红外激光发射器和 RGB 色彩传感器。

工作原理

     其原理是基于三角测量法,左右红外相机进行测量深度,中间红外点阵投射器相当于补光灯,不打开也能测深度,只是效果不好;最右边的rgb相机用于采集彩色图片,最终可以将彩色视频流与深度流进行对齐。

      基于左右图像的视差来求得距离。只是相比于普通彩色rgb相机,红外ir相机是用来接收目标返回的红外光线的,得到的是左右两幅红外灰度图像。若把屋里灯光关掉,黑暗的环境,红外ir相机一样可以生成深度图像,只是质量略有下降。

     

🍊三、测试与使用

RGB Module可以显示RGB影像,Stereo Module可以开启深度图显示

如果可以正常显示上图中的画面,那么就说明RealSense的基本配置就成功了,可以向电脑传输数据了

🍋四、Python接口的安装与使用

Python的接口安装其实非常简单,pip一行命令即可。

pip install pyrealsense2

下面内容取自PyRealSense2包的介绍页面

import pyrealsense2 as rs
pipe = rs.pipeline()
profile = pipe.start()
try:
  for i in range(0, 100):
    frames = pipe.wait_for_frames()
    for f in frames:
      print(f.profile)
finally:
    pipe.stop()

就说明安装是成功的了。

🍍五、显示彩色图和深度图

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()


🥦坐标系和视野

自身的坐标如下所示

在图中红色的线为x轴,蓝色的方向是z轴,绿色的方向是y轴

 

(0.379.0.0167,0.602)

相机中有四个坐标系,分别为world,camera,image,pixel

  • world为世界坐标系,可以任意指定xw轴和yw​轴,为上图P点所在坐标系。一般情况下我们将世界坐标系的原点设置成物体的几何中心。类似于绝对坐标系,y轴一般取竖直方向,z轴和我们的深度有关,x轴垂直于y轴和z轴。
  • camera为相机坐标系,原点位于小孔Oc,z轴与光轴重合,xw​轴和yw​轴平行投影面,为上图坐标系XcYcZc。
  • image为图像坐标系,原点位于光轴和投影面的交点,xw轴和yw​轴平行投影面,为上图坐标系XYZ。
  • pixel为像素坐标系,从小孔向投影面方向看,投影面的左上角为原点,uv轴和投影面两边重合,该坐标系与图像坐标系处在同一平面,但原点不同。
     
  • 3
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论
Realsense D435是英特尔公司推出的一款深度相机,具有高分辨率的彩色相机和深度传感器,可以实现3D立体图像的捕捉和跟踪。以下是Realsense D435开发的一些步骤和注意事项: 1. 安装SDK:首先需要安装Realsense SDK,官方提供了Windows、Linux和MacOS的下载链接。根据自己的操作系统选择对应的版本,并安装。 2. 连接相机:将Realsense D435相机通过USB接口连接到电脑上,并等待系统自动识别安装。 3. 获取数据:使用SDK提供的API接口,可以获取相机的彩色图像和深度图像数据。根据自己的需要选择不同的编程语言(C++、Python等)进行开发。 4. 处理数据:获取到相机数据后,可以进行各种算法的处理,例如目标检测、姿态估计、SLAM等。需要注意的是,Realsense D435的深度图像数据是基于红外线技术实现的,因此需要进行一些额外的处理才能得到完整的深度信息。 5. 显示结果:处理完数据后,可以将结果显示在屏幕上或者进行其他操作。Realsense SDK提供了一些示例代码和调试工具,可以帮助程序员快速上手。 需要注意的是,Realsense D435相机的使用需要一定的硬件基础和编程经验。在开发过程中,需要注意相机的光线环境、镜头角度和距离等因素,以保证获取到的数据质量。同时,需要注意数据处理算法的效率和稳定性,以避免程序崩溃或者数据不准确的问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

卿云阁

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值