windows使用librealsense进行深度彩色图像对齐

又一次坎坷的尝试。

因为需要把realsense的深度图像对齐到彩色空间。

我知道官方的SDK中Projection.cpp的例子。

但是那个程序(C++版)是基于MFC框架写得,一看什么消息什么句柄我就懵比了,而且程序很复杂,我理不清。

也尝试过用Projection类中的方法,或PXCProjection中的MapDepthToColor方法。

出现了很多各种各样的错误,十有八九是我程序写的不对。

如果各位有基于SDK的深度彩色对齐的程序,请告诉我哈~


因为不想花很多很多时间去折腾MFC的那个例子。(但那个例子写得是真好,功能齐全)

所以另辟蹊径,选了librealsense.

在Ubuntu做realsenese开发的伙计们肯定都用的是这个第三方的开发包吧。

github地址:librealsense-master

支持跨平台,Windows当然也能用。

先说一下我的环境:Win10-64位。 VS2013-update 5.

下载下来解压之后,就可以打开\librealsense-master\librealsense.vc12  (因为我是VS2013选了VC12)

根据你自己的编译器选择文件夹。

直接打开那个叫realsense的解决方案工程文件。

然后生成(Build)

这里要注意,如果有什么error link等报错,检查一下你的VS版本,如果是VS2013,请检查一下是否是update 4之后的版本,如果不是,请升级到update 4 或以上。

生成之后就有两个库文件了,不用管。

直接选择Example中的一个项目,设为启动项目。

编译生成运行,就成了。

这里我还遇到了一个诡异的问题。

不管是cpp-alignimages还是 cpp-capture中,只要遇到 buffers.show(dev, rs::stream::depth_aligned_to_color, 0, h/2, s, h-h/2);

深度对齐到彩色流就会有   

Microsoft Visual C++ library 

Debug Assertion Failed

Program:C:\Windows\SYSTEM32\MSVCP120D.dll

File: e:\vs2013\vc\include\algorithm\

Line:4121

Expression: invalid operator <

For information on how your program can cause an assertion failure, see the Visual C++ documentation on asserts.


嘿,我就奇了怪了。

网上找相关问题的解决方案,说什么重新下载MSVCP120.dll文件,我觉得太不靠谱。

看到有大神说,换成release版本编译。

我就切换成了release模式:

生成---配置管理器中把项目配置为relsense

属性--C/C++ --优化中 把优化选为 已禁用(Od) 全程优化 选为 否

在项目运行页 顶栏 调试器后边的 解决方案配置 选为 release。

然后编译生成运行就可以正常运行了。


为什么debug模式不能运行??

怎样才能在debug模式下运行??


好了,我看了眼librealsense的example中的深度彩色对齐的例子。

它竟然是用了GLFW,难道用了opengl吗?

不管是GLFW还是opengl我都是第一次见到,并不知道怎样将它生成的图像保存下来。


所以找到了这篇博客的方法:http://blog.csdn.net/wi162yyxq/article/details/69390006

使用librealsense+openCV写得。good!好用!感谢这位博主!


我是直接在 \librealsense-master\librealsense.vc12 这个文件夹下新建的工程。

把它自带的属性表和opencv的属性表都添加到工程里了。

要把example.hpp的头文件添加进去,到头文件里哈,添加现有项。

如果有#include未识别的,就在属性页的,配置属性- - C/C++ - -常规- -附加包含目录中 把你想include的文件的位置(路径)写上去就好了。

windows使用librealsense进行深度彩色图像对齐_第1张图片


你可能感兴趣的:(OpenCV)