matlab控制realsense,WIN10下利用matlab保存RealSense D435 图像\视频

本文介绍了如何在Windows 10环境下,使用MATLAB从RealSense D435摄像头获取并保存红外、深度和RGB图像。通过处理bag文件中的数据,将一维数据恢复为二维或三维图像,然后保存为PNG格式。对于深度图像,由于原始数据为mono16格式,作者选择了简化处理,将其转化为灰度图。RGB图像则通过分离RGB通道并重组为彩色图像。最后,利用MATLAB合成视频功能,将图片序列整合成avi视频文件。
摘要由CSDN通过智能技术生成

将数据提取到matlab空间中在之前的文章写了。

https://blog.csdn.net/weixin_42459037/article/details/82756574

红外、深度、RGB成像均以图像序列的形式保存在了bag包里。

所有的图像数据都糅合成了xxx*1的一维数据,因此要做的就是把这一维数据恢复成二维或三维图像数据。

红外图像为灰度图,提取出来比较方便(视频分辨率为1280*720)

m1=select(bag,'Topic','device_0/sensor_0/Infrared_1/image/data');

data_inf=readMessages(m1);

save_path = strcat('D:\code\Realsense\Infrared\');

for i=1:length(data_inf)

tmp=data_inf{i,1};

tmp2=tmp.Data;

tmp2=(reshape(tmp2,1280,720))';

name = num2str(i);

imwrite(tmp2,strcat(save_path,name,'.png'))

end

提取深度图像的时候遇到了一些麻烦

在界面里,深度显示的模式可以自由切换(黑-白,红-蓝等),在包中显示数据是一个mono16的形式。也就是应该是一个一层的uint16数据

然而实际数据点是1280*720的两倍量,并且形式是uint8,按道理应该是要2个为一组转uint16格式或者设计一个方法转化为指定的色彩变化模式以反应深度。

我这里直接舍弃了多余的那一倍数

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值