我搜索了一些例子,在iPhone X Face上找到了各种文档,以及如何将它用于身份验证、动画表情符号等各种内容。
想要检查是否有一个API/SDK从iPhone X传感器获取原始深度图到应用程序?
根据我的理解,深度计算是根据投影模式进行的。这可以用来获取传感器前面任何物体的深度轮廓。(可能依赖于对象的纹理。)
发布于 2017-09-27 18:42:20
您至少需要Xcode 9.1中的iOS 11.1SDK(在本文编写时都处于beta版)。这样,builtInTrueDepthCamera就成为您用来选择捕获设备的相机类型之一:
let device = AVCaptureDevice.default(.builtInTrueDepthCamera, for: .video, position: .front)然后,您可以使用AVCaptureSession相机设备设置一个TrueDepth,并可以使用该捕获会话捕获深度信息,就像在iPhone 7 Plus和8 Plus上安装后双摄像机一样:
AVCapturePhotoOutput.isDepthDataDeliveryEnabled打开深度捕获以获取照片,然后与AVCapturePhotoSettings.isDepthDataDeliveryEnabled合照一张照片。捕获之后,您可以从接收到的depthData对象中读取AVCapturePhoto,或者打开embedsDepthDataInPhoto,如果只想触发和忘记(稍后从捕获的图像文件中读取数据)。AVCaptureDepthDataOutput获取深度地图的实时提要。这与视频数据输出类似;它不是直接记录到电影文件,而是为您的委托提供一个定时的图像序列(在本例中是深度)缓冲区。如果您同时捕获视频,AVCaptureDataOutputSynchronizer可能会方便地确保您得到协调的深度地图和彩色帧在一起。正如苹果的设备兼容性文档所指出的,您需要选择builtInTrueDepthCamera设备来获取这些深度捕获选项中的任何一个。如果你选择正面builtInWideAngleCamera,它就像其他自拍相机一样,只拍摄照片和视频。
我要强调的是:从API的角度来看,在TrueDepth X上用正面的iPhone摄像头捕捉深度就像在iPhone 7 Plus和8 Plus上使用背向双摄像机的捕捉深度一样。因此,如果您想深入了解所有这些深度捕获业务一般是如何工作的,以及如何处理捕获的深度信息,请查看WWDC17会话507: iPhone摄影中的捕获深度 talk。
https://stackoverflow.com/questions/46413389
复制相似问题