深度估算代码如下,我想得到图像画面中像素点对应的深度数据,但是不知道如何获取。
算法实时输出当前帧的深度图,每一帧像素的值代表当前的深度值,颜色越黑,代表距离摄像头越近,反之颜色越白,代表距离深度越远。
我需要具体的深度数据,而不是颜色的深浅。
const session = wx.createVKSession({
track: {
depth: {
mode: 1 // mode: 1 - 使用摄像头;2 - 手动传入图像
},
},
})
// 需要调用一次 start 以启动
session.start(errno => {
if (errno) {
// 如果失败,将返回 errno
} else {
// 获取每一帧的信息
const frame = session.getVKFrame(canvas.width, canvas.height)
// 获取每帧的深度图信息
const depthBufferRes = frame.getDepthBuffer();
const depthBuffer = new Float32Array(depthBufferRes.DepthAddress)
//创建渲染逻辑, 将数组值传输到一张纹理上,并渲染到屏幕
render()
}
})
该能力为相对深度估计,无法得到物理深度值