Android 手机支持深度 API,可以通过使用 CameraX 或者使用 Android Depth API 库实现。以下是使用 Android Depth API 库获得深度图像的示例代码:
// 检查设备是否支持深度 API
if(!SessionCompat.isDepthModeSupported(requireContext())){
// 设备不支持深度 API
return;
}
// 创建深度流会话,指定深度流分辨率和输出格式
mDepthSession = SessionCompat.createDepthSession(
requireContext(), new SessionCompat.SurfaceConfig(
depthView.getWidth(), depthView.getHeight(),
ImageFormat.DEPTH16, Surface.SURFACE_TYPE_SURFACE_VIEW));
// 打开深度流
mDepthSession.open();
// 获取深度图像
mDepthSession.setDepthCallback(new SessionCompat.DepthDataCallback() {
@Override
public void onDepthDataAvailable(SessionCompat session, DepthData depthData) {
Depth16 depth16 = depthData.getDepth16();
if (depth16 == null) return;
// 处理深度图像
// ...
}
});