(1)点击"官方指南" 来到下载页,->最新的稳定版本发布 (本人下的2.16.5,现在最新2.17.0)
不需要做开发,只要下载Intel RealSense Viewer就好,这个就是相机的可视化界面,简洁明了。对应的安装包是Intel.RealSense.Viewer.exe。
本人的毕设要用到深度图做开发,所以安装Intel.RealSense.SDK.exe,SDK包括调试工具、示例程序、深度质量检测、还有各种封装(Wrappers)
(2)SDK版本(2018.12.19)到了2.16.5 刚刚更新不到一个月。 点击exe 下载好 ,这里我们可以看到支持Ubuntu16/18 、window10/8.1/7 、Mac OS 但win8有硬件同步的问题
(3)开始安装,刚入手还是默认全安装吧。 竟然不能修改安装路径。。 默认C盘
(4)将相机与电脑连接,注意 USB接口必须是3.0 (看 如何区别USB2.0/3.0)
点击viewer ,把深度、颜色的开关打开。
(5)升级固件,因为自带的固件版本过低,所以我们至少升到5.10.03。
步骤有点多,参考这位大佬的吧。 https://blog.csdn.net/Liyatao1/article/details/83036092
贴了一些大佬省略的步骤
官网地址
首先 下载
DUF tool(win10 64) 现在最新版本2.5.2.0
https://downloadcenter.intel.com/download/27514?v=t
最新版固件.bin文件(最好保存在英文路径下)现在最新版本 5.10.13
https://downloadcenter.intel.com/download/28377/Latest-Firmware-for-Intel-RealSense-D400-Product-Family?v=t
连接好相机,右键“此电脑”->"管理" 查看下
剩余步骤跟那位大佬做吧,(#^.^#)更新完毕~~
◔ ‸◔? (⊙.⊙) ε=ε=ε=ε=ε=ε=┌(; ̄◇ ̄)┘ (๑•ั็ω•็ั๑)( ˘•ω•˘ ) (●′ϖ`●) ( •̀∀•́ )。:.゚ヽ(。◕‿◕。)ノ゚.:。+゚ฅ(๑˙o˙๑)ฅ ʕ•̀ω•́ʔ✧ ʕ•͡-•ʔ
相机弄好之后,写个程序测试一下~
文章最后,贴了我遇到的BUG和项目下载,给大家参考。
目标:
实现opencv显示realsense读取的彩色和深度数据
环境:
win10 64位
Qt creator 5.11.2 mingw 32位(到18年12月11日,QT win版只有32位)
openCV 3.2.0 32位
(注意将编译后openCV的bin加入path中、将intel realsense的bin加入path)
pro配置:
#openCV bulid内的头文件,编译openCV后的lib静态库
INCLUDEPATH += E:/program/opencv/build/include/
# E:/program/opencv/build/include/opencv
# E:/program/opencv/build/include/opencv2
LIBS += E:/program/opencv/srcCmake/lib/libopencv_*.a
#Intel RealSense SDK的头文件,lib静态库
INCLUDEPATH += "C:/Program Files (x86)/Intel RealSense SDK 2.0/include/"
LIBS += "C:/Program Files (x86)/Intel RealSense SDK 2.0/lib/x86/realsense2.lib"
代码:
新建一个QT桌面项目,这段代码写在mainwindow.cpp 中,连接好相机
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include
#include
#include
#include
using namespace rs2;
using namespace cv;
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
rs2::context ctx;
pipeline p;
p.start();
//为了不死循环下去,设定采集500帧画面
int c = 500;
while(true){
//realsenseD435 拍摄到的帧
frameset frames = p.wait_for_frames();
//获取RGB图
frame colorFrames = frames.get_color_frame();
// 查询帧大小(宽度和高度)
const int cw = colorFrames.as().get_width();
const int ch = colorFrames.as().get_height();
//帧转化为Mat
Mat colorImage = Mat(Size(cw, ch), CV_8UC3, (void*)colorFrames.get_data());
//d435 是RGB模式 而 cv是 BGR模式 ,所以交换一下
cvtColor(colorImage,colorImage,CV_BGR2RGB);
imshow("colorImage",colorImage);
frame depthFrames = frames.get_depth_frame();
//为深度数据的可视化显示深度着色器
static colorizer color_map;
// 查询帧大小(宽度和高度)
const int dw = depthFrames.as().get_width();
const int dh = depthFrames.as().get_height();
static frame color_depth_frames;
color_depth_frames = color_map.colorize(depthFrames);
// 从着色的深度数据中创建OpenCV大小(w,h)的OpenCV矩阵
Mat depthImage = Mat(Size(dw, dh), CV_8UC3, (void*)color_depth_frames.get_data());
imshow("depthImage",depthImage);
//显示图片100ms,然后换下一帧
waitKey(100);
c--;
if(c==0)break;
}
}
MainWindow::~MainWindow()
{
delete ui;
}
结果:
项目下载:记得.pro文件里面更改自己对应的路径~
https://download.csdn.net/download/pabebe/10881143
ฅ’ω’ฅ ฅ(๑˙o˙๑)ฅ ٩(๛˘3˘)۶♥ ฅ(๑*д*๑)ฅ ฅ(๑˙o˙๑)ฅ ʕ•̀ω•́ʔ✧ (๑•̀ㅁ•́ฅ)ฅʕ•̫͡•ʔฅ ʕ•͡-•ʔ(,,•́ . •̀,,) (๑•́ ₃•̀๑) (๑•́ ₃ •̀),,Ծ‸Ծ,,ฅʕ•̫͡•ʔฅ
总算是看到结果了,中间遇到不少bug (避免文章太长,另起博客写吧)
吐槽:有关于Intel realsenseD435 的研究文章真的太少了。。
(1) 出现Q_FOREACH 报错 foreach 定义冲突
解决 https://blog.csdn.net/Pabebe/article/details/85290311
(2)cc1plus.exe:-1: warning: E:/program/opencv/srcCmake/lib/libopencv_calib3d320.dll.a: not a directory
解决 https://blog.csdn.net/Pabebe/article/details/85279254