- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 ARSession
使用 ARWorldTrackingConfiguration
作为其配置的一部分。我还通过以下方式启用了面部跟踪:
configuration.userFaceTrackingEnabled = true
在
func session(_ session: ARSession, didUpdate frame: ARFrame)
委托(delegate)方法,我可以成功得到
frame.capturedImage
来自面向世界的相机,但似乎没有办法从面向世界的相机访问框架。
最佳答案
关于两个同时的 ARConfigurations
通常,一个 ARSession 一次只能运行一个 ARConfiguration。但有一个异常(exception):我们可以使用 Face
World
中的跟踪配置跟踪配置。但是,ARWorldTrackingConfiguration
在这种情况下是“主要”(因此 Face
跟踪是“补充”配置)。
两个摄像头(后置和前置)每秒产生 60 个 ARFrame,包含 RGB、深度、 anchors
,轴,特征点等。而且每个相机都有自己的ARFrames,可以用来定义内在和外在 ARCamera 参数 (如 3x3 相机矩阵或 4x4 变换矩阵)。
@NSCopying var currentFrame: ARFrame? { get }
但是,在 ARKit 5.0 中,如果您使用已激活的实例属性
userFaceTrackingEnabled
运行世界跟踪配置,您只能访问来自后置摄像头的 ARFrame——目前无法访问来自前置摄像头的同步 ARFrame。
let config = ARWorldTrackingConfiguration()
if ARWorldTrackingConfiguration.supportsUserFaceTracking {
config.userFaceTrackingEnabled = true
}
sceneView.session.run(config, options: [])
let currentFrame = sceneView.session.currentFrame
let rearCameraTransform = currentFrame?.camera.transform
let rearCameraAnchors = currentFrame?.anchors
print(rearCameraTransform?.columns.3 as Any)
print(rearCameraAnchors as Any)
但是,当然,您可以控制所有
ARFaceAnchors
在世界跟踪环境中。
ARFaceTrackingConfiguration
在以下设备上配置:
import ARKit
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
if !ARFaceTrackingConfiguration.isSupported {
let storyboard = UIStoryboard(name: "Main", bundle: nil)
window?.rootViewController = storyboard.instantiateViewController(withIdentifier: "unsupportedDeviceMessage")
}
return true
}
}
关于swift - 是否可以从 ARFrame 访问多个摄像头?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62784357/
我有一个 ARSession使用 ARWorldTrackingConfiguration作为其配置的一部分。我还通过以下方式启用了面部跟踪: configuration.userFaceTracki
我有一个 ARKit 应用程序,我需要在其中获取当前 ARFrame 对象的 capturedImage 并将其用于进一步处理。我的代码大致如下所示: guard let frame = sceneV
在 ARKit 中,ARFrame.timestamp是一个 TimeInterval,其值如下 185726.884258291 185726.91759425 185726.950930291 .
我是 iPhone 应用程序开发的新手(但在其他语言方面经验丰富),我正在制作一个 ARKit 应用程序,我需要在其中跟踪图像的位置并在该图像周围显示一个矩形。 我可以在 C++ 中使用 OpenCV
ARFrame 中的 CapturedImage 是横向/横向的。如何将其更改为纵向? 谢谢 最佳答案 There's an API for that. ARFrame。 displayTransfo
我想检测球并让 AR 模型与之交互。我使用 opencv 进行球检测并发送球中心,我可以在 hitTest 中使用它来获取 sceneView 中的坐标。我一直在使用以下函数将 CVPixelBuff
我在 ARSCNView 中添加了一个 SCNNode: func renderer(_ renderer: SCNSceneRenderer, nodeFor anchor: ARAnchor)
当使用 ARSessionDelegate 处理 ARKit 中的原始相机图像时... func session(_ session: ARSession, didUpdate frame: ARFr
我想使用 ARKit 从图像中获取光照估计。我能够从视频中的帧中检索光估计值。 var SceneView = new ARSCNView(); var arConfig = new ARKit.AR
当模式为自动时,我不知道AREnvironmentProbeAnchor 是如何工作的。我假设 ARKit 为我创建了一系列具有纹理的 anchor ,但我看不到它们。 我在配置中添加了: sessi
ARKit 以 60 帧/秒的速度运行,相当于每帧 16.6 毫秒。 我当前将 CVPixelBufferRef(kCVPixelFormatType_420YpCbCr8BiPlanarFullRa
我在 ViewController.swift 中有一个 ARSCNView 并且我想将 ARFrames 保存到一个预先分配的数组中 func session(_ session: ARSessio
我是一名优秀的程序员,十分优秀!