gpt4 book ai didi

swift - 以高效的方式获取 CVPixelBuffer(相机框架和 ar 模型)

转载 作者:行者123 更新时间:2023-11-28 05:41:52 24 4
gpt4 key购买 nike

我需要一个 CVPixelBuffer,其中包含相机帧以及我放置的 AR 模型,速率为 30+ fps,最好具有低能量和 CPU 影响。

session(_:didUpdate:) 中帧的捕获图像不包含 AR 模型。

我尝试使用 sceneView.snapshot() 获取 UIImage,然后将其转换为 CVPixelBuffer。这具有明显的高能量影响。

最后,我还尝试创建一个 SCNRenderer,然后我使用它通过 snapshot(atTime:with:antialiasingMode:) 获取 UIImage code> 然后转换为 CVPixelBuffer。这对 CPU 和能源的影响略小。但这仅适用于纵向模式,生成的 UIImage 在横向模式下不正确。

有没有办法以更少的 CPU 和能源密集型方式获取 CVPixelBuffer(至少与上述相比)?

最佳答案

您可以创建自己的 CVPixelBuffer,然后从中获取 MTLTexture,最后让 SCNRenderer 渲染到该纹理中。这不会涉及从快照 API 生成 UIImage 的 CPU 成本。

这里的关键部分是 use a CVMetalTextureCache 从像素缓冲区中获取金属纹理。

关于swift - 以高效的方式获取 CVPixelBuffer(相机框架和 ar 模型),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56363631/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com