【发布时间】:2020-09-24 15:47:47
【问题描述】:
我的目标是将 Android 深度相机流 (DEPTH16) 读取为 OpenGL ES 纹理,以便我可以在着色器中对其进行处理。正如documentation 所述,采用 DEPTH16 格式
每个像素是 16 位,代表从一个深度测距测量 深度相机或类似传感器。 16位样本由一个 置信度值和实际测距。
因此,在 OpenGL 着色器中,我尝试提取深度范围值并创建可以显示在屏幕上的灰度预览。
我正在使用 camera2 API。对于我使用SurfaceTexture 的常规RGB 相机流,从它创建一个Surface 并将其添加为相机捕获会话的目标。在这里,着色器使用samplerExternalOES 采样器类型访问纹理。但是,如果我理解正确的话,这一切只适用于 8 位 3 通道彩色图像,而在 DEPTH16 中,每个像素只代表一个 16 位值。
是否有其他一些 OpenGL 纹理可用于捕获 DEPTH16,它在着色器中的类型是什么? 我是 OpenGL 的新手,任何 cmets/建议都将不胜感激。
【问题讨论】:
标签: android opengl-es android-camera2