- 一、开发背景
- SDK的解释和应用(基于C/C++)
在单位,昨天拿到了老大给我的455型号视觉相机,然后看了一天的英文白皮书,人都有点看傻了,昨天一路摸索之下找到了属于这个视觉相机的SDK,然后今天首先来看看SDK里example的一些的项目,首先是很常规的VS文件属性配置。(无非是那些include path还有一些lib path7788的)具体的简单文件配置方式在这个链接里面:RealSense(1)——SDK安装及helllo-world
然后,今天的重点来了,是如何优雅的打开一个example并且让它能够顺利跑出来呢,我现在反正非常头大。首先还是让我们回到属于这个D400系列的网站吧:Intel RealSense系列的文件文档目录(总之需要英语底子比较好的,不然分分钟劝退)
这个网站是这样分布的:
- INSTALLATION(安装)
- FIRMWARE UPDATE(固件升级)
- SDK 2.0 CODE SAMPLES WRAPPERS AND LANGUAGES(SDK2.0代码例程包装与语言)
- WHITEPAPERS(白皮书【杀人诛心】)
- ID SDK CODE SAMPLES(ID SDK代码例程)
- COMMUNITY PROJECTS(社区项目)
- SDK KNOWLEDGE base(SDK知识基础)
- CALIBRATION(相机校准)
- DATASHEETS(数据表,相机的一些基本参数)
- API & linkS
然后,我觉得比较重要的(现在是个人暂时用到的几项文档加粗了),但是呢秉持着一个自动化专业的fake程序员身份来说,我还是希望CV编程走遍天下的,所以在你下载好了这个产品的SDK之后(这里有一个git的下载链接:SDK下载,能够找的到的!相信你,不要着急),你可以首先开始浏览SDK2.0的目录,看你个人使用什么语言,本人自动化专业,所以我就选择C/C++这一目录:
然后,你可以开始第一个HelloWord版本的例程,这个链接会告诉你它们自己的函数封装有啥子用处,但是确实你要认真去看,不然真的搞不清坨。对于这个列表里旁边的Description,它介绍了这些超链接里的函数总体来说是要搞什么东东的,为了我之后能够快速找到开发的诀窍,我自己把这些Description翻译在下面的表格里:
| Name | Lauguage | Description |
|---|---|---|
| Hello-RealSense | C++ | 连接实感相机设备和使用视觉深度数据的基础说明 |
| Distance | C | 和上面的Hello例程一样的功能,只是用C写的 |
| Color | C | 如何流式传输颜色数据并且打印某些帧的信息 |
| Capture | C++ | 如何同步和渲染多个流:左、右、深度和RGB流 |
| Save To Disk | C++ | 解释如何在没有图形用户界面(GUI)的情况下渲染和保存视频流 |
| Pointcloud | C++ | 在生成和渲染3D点云的同时展示投影 |
| Pose | C++ | 如何从姿态帧当中获取数据 |
| ImShow | C++ & OpenCV | 用于可视化深度数据的最小opencv应用程序 |
| Multicam | C++ | 在不同的窗口分别展示多个摄像机的深度流 |
| Depth | C | 演示如何流式传输深度数据并打印基于文本的深度图像的简单表示 |
| Spatial Alignment | C++ | 使用颜色深度地图介绍空间对齐的概念 |
| Advanced Alignment | C++ | 从视频中移除动态背景的简单方式 |
| Measure | C++ | 在视频流中测量3D物体的三维尺寸 |
| Post Processing | C++ | 深度图像的滤波后期处理过程 |
| Record & Playback | C++ | 设备记录与重放的使用 |
| Motion | C++ | 对陀螺仪和加速度计采集的数据进行分析,以计算相机的旋转情况 |
| Pose Prediction | C++ | 使用跟踪摄像头不同步地对简单姿态进行预测 |
| Pose and Image | C++ | 异步使用跟踪摄像头获取200Hz姿态和30Hz图像(这里没有很明白反正) |
| DNN | C++ & OpenCV | 使用实感相机进行实时目标检测 |
| Trajectory | C++ | 使用跟踪摄像机之前的数据对3D轨迹进行计算和渲染 |
| Software Device | C++ | Shows how to create a custom rs2::device |
| Sensor Control | C++ | A tutorial for using the rs2::sensor API |
| GrabCuts | C++ & OpenCV | 使用Grabcut算法进行简单的背景移除 |
| Latency | C++ & OpenCV | 应用计算机视觉进行潜在估计 |
到了这个地方,我想你应该要好好把这些文档认真的浏览一遍了,反正耗时很久,我现在一边看一边写你应该如何合理的利用这个文档这件事情,但是我是不会把我的翻译原稿给你们的!!!!(虽说是英语二学位,但是把这个翻译能力呢我怕误人子弟),最好的方法是首先搞一个hello world版的程序出来吧。
今天的文档介绍就先到这里了,我继续撸代码去了。bye~



