图像如何打开
如何查看它的数据格式并一个个读取
试一下ENVI等
可见,灰度图的Data只有一个值[0],而彩色图的Data却有三个值[142,119,113]。
这是用ENVI的Cursor Value工具查看的
深色表示离的近,白色表示离的远。那么颜色值与深度值的换算公式为?获取每个像素点的颜色值然后换算成深度值吗?颜色是RGB,然后深度值是一个数。
链接1:网上有不少使用Qt做界面,OpenNI为库来开发kinect。或许大家的第一个问题就是询问该怎样使用Kinect来获取颜色信息图和深度信息图呢?这一节就是简单来回答这个问题的。 使用OpenNI读取颜色图和深度图的步骤如下(这个是程序的核心部分): 1. 定义一个Context对象,并 调用该对象的Init()方法来进行初始化。 2. 定义一个XnMapOutputMode格式对象,设置好分图像分辨率和帧率。 3. 定义颜色图和深度图的节点对象,并用其Create()方法来创建,参数为Context对象. 4. 设置颜色和深度图的输出模式,调用的方法是SetMapOutputMode();参数为步骤2中定义和设置好了的XnMapOutputMode对象。 6. 如果深度图和颜色图在一张图上显示,则必须对深度图像进行校正,校正的方法是调用深度图的如下方法:.GetAlternativeViewPointCap().SetViewPoint(); 7. 调用context对象的StartGeneratingAll()来开启设备读取数据开关。 8. 调用context对象的更新数据方法,比如WaitAndupdateAll()方法。 9. 定义颜色图和色彩图的ImageMetaData对象,并利用对应的节点对象的方法GetMetaData(),将获取到的数据保存到对应的ImageMetaData对象中。 10. 如果需要将深度图转换成灰度图来显示,则需要自己将深度值转换成0~255的单通道或者多通道数据,然后直接用来显示。(之间的兑换比例是??) jpg数据流 depth数据流保存为jpg数据然后转为点云 也可以减去中间jpg这一步 -->点云数据处理
深度图转灰度图的转换比率:无穷远∞对应白色255,越小表示跃越近,但0也有可能是代表无值。假设3米等于255,那么1等于?0.01176470..米。也就是1.17647厘米。
一张深度图总共是:640x480=307200个像素点。也就是近30万像素。
保存数据:
另外,怎么深度图上有一个黑边?那么需要跟彩色图对齐吗?怎么对齐
Kinect+OpenNI学习笔记之14(关于Kinect的深度信息):kinect的深度值精度,深度值的具体代表的距离是指哪个距离以及kinect深度和颜色扫描范围等。
首先来看下Kinect性能的基本参数,如下图所示: Kinect在使用时,微软官方推荐的距离为1220mm(4’)~3810mm(12.5’),网友heresy在他的博文Kinect + OpenNI 的深度值中 统计过,kinect在距离为1.0m时其精度大概是3mm,而当距离是3.0m时,其精度大概是3cm,因此当kinect在官方推荐的距离范围内使用 是,如果是1.2m时,其精度应该在3mm附近,如果是3.6m时其精度就大于3cm了,因此距离越远,其深度值精度越低。另外,通过OpenNI获取到的深度信息(即z坐标)的单位是mm,这一点在程序编程中要注意,且一般的深度值用12bit(其实是可以用13bit表示的)表示,即最大值为 4095,也就是代表4.095m,所以平时我们采集到的深度数据如果需要扩展到灰度图,可以乘以一个因子255/4095(为了加快该结果,一般设置为 256/4096,即转换后的灰度值每变化1,代表kinect采集到的深度值变化了16mm,如果当人的距离为1米左右时,本来精度是3mm,现在经过 归一化后精度确更加下降了,这时候拿这个距离值来做算法不懂会不会有影响,当然了,拿来做灰度图像的显示肯定是OK的),最后如果其深度值为0表示该位置 处侦测不到像素点的深度。 Kinect的侦测范围入下图所示:
可以看出,kinect的水平侦测范围为57度(即以sensor为中心,左右各28.5度)。垂直范围为43度(同理,以sensor为中心,上下各21.5度)。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)