pus*_*rix 17 augmented-reality scenekit swift arkit
我正在为我的AR应用程序提供屏幕截图功能,我注意到我拍摄的截图(通过sceneView.snapshot())比我从相机看到的更暗.我正在使用Apple的ARKit示例代码,似乎这会影响它:
camera.wantsHDR = true
camera.wantsExposureAdaptation = true
camera.exposureOffset = -1
camera.minimumExposure = -1
camera.maximumExposure = 3
Run Code Online (Sandbox Code Playgroud)
当我删除曝光设置时,快照工作正常.有什么方法可以确保快照考虑那些曝光设置?
更新日期:2019 年 11 月 25 日。
#第一个原因
AR 应用程序中拍摄的快照比来自后置 RGB 摄像头的视频流更暗的主要原因是因为您有两个完全不同的场景:第一个是 SCNScene,其中 3D 模型具有自己的曝光度,第二个是 RGB 摄像头的场景具有自己的曝光度的视图。在 ARSCNView 中,这些曝光加在一起形成平均曝光值,可以更暗(如您的情况)或可以更亮。
#第二个原因
此外,您还需要考虑用作色调映射曲线whitePoint上端的实例属性(也称为亮度级别)。
var whitePoint: CGFloat { get set }
Run Code Online (Sandbox Code Playgroud)
当使用高动态范围 (HDR) 相机时,SceneKit 会应用一种称为色调映射的过程,将可见场景中的大范围亮度值转换为可在显示器上显示的较小范围的亮度值。
minimumExposureSceneKit 根据、maximumExposure、exposureOffset和属性确定色调映射曲线whitePoint以及场景亮度的度量。
whitePoint的默认值为1.0。通过将此属性设置为更高或更低的值,您可以在阴影和高光之间产生更渐变或更突然的过渡。wantsHDR如果值为 ,则此属性无效false。
camera.whitePoint = 1.5
Run Code Online (Sandbox Code Playgroud)
#第三个原因
RGB 相机流、渲染的 SCNView 和 iPhone 显示屏的颜色模型在伽玛校正方面略有不同。
| 归档时间: |
|
| 查看次数: |
468 次 |
| 最近记录: |