我对使用 ARKit 跟踪手机位置以使用相机自动拍照的功能感兴趣。我的初步调查让我了解到,虽然 ARKit 使用相机,但使用标准 AVFoundation 方法不可能获得高质量图像(由于正在使用相机)。
我明白我可以使用sceneView.snapshot()
,但它可以提供的最佳质量是 1080p,这对于我的应用程序来说不够高。
我的问题是,是否有其他方法可以在 ARSession 运行时从后置摄像头捕获高质量照片?如果没有,是否有 ARKit 的替代方案来估计手机的位置?
这可能不会为您提供您正在寻找的分辨率,但我注意到使用currentFrame.capturedImage
财产在ARSession
产生比以下更高分辨率的图像sceneView.snapshot()
.
以下是在我的 iPhone 7 上使用调试器的示例:
(lldb) po sceneView.snapshot()
<UIImage: 0x282331180>, {750, 1334}
(lldb) po UIImage(pixelBuffer: session.currentFrame.capturedImage)
▿ Optional<UIImage>
- some : <UIImage: 0x282331e30>, {1920, 1440}
分辨率可能会根据您的硬件而有所不同。
另一件要检查的事情是您是否覆盖了videoFormat
你的财产ARConfiguration
。您可以使用以下命令检查您的设备支持哪些视频格式ARWorldTrackingConfiguration.supportedVideoFormats
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)