我正在尝试估算与太空中QR码相关的设备位置.我正在使用ARKit和Vision框架,两者都在iOS11中引入,但这个问题的答案可能并不依赖于它们.
使用Vision框架,我能够获得在相机框架中限制QR码的矩形.我想将此矩形与从标准位置转换QR码所需的设备平移和旋转相匹配.
例如,如果我观察到框架:
* *
B
C
A
D
* *
Run Code Online (Sandbox Code Playgroud)
如果我距离QR码1米远,以它为中心,假设QR码的边长为10cm,我会看到:
* *
A0 B0
D0 C0
* *
Run Code Online (Sandbox Code Playgroud)
那两个帧之间的设备转换是什么?我知道确切的结果可能是不可能的,因为观察到的QR码可能是略微非平面的,我们试图估计一个不完美的东西上的仿射变换.
我想这sceneView.pointOfView?.camera?.projectionTransform比sceneView.pointOfView?.camera?.projectionTransform?.camera.projectionMatrix后者已经考虑了从ARKit推断的变换更有帮助我对此问题不感兴趣.
我该怎么做
func get transform(
qrCodeRectangle: VNBarcodeObservation,
cameraTransform: SCNMatrix4) {
// qrCodeRectangle.topLeft etc is the position in [0, 1] * [0, 1] of A0
// expected real world position of the QR code in a referential coordinate system
let a0 = SCNVector3(x: -0.05, y: 0.05, z: 1)
let b0 = SCNVector3(x: 0.05, y: 0.05, z: …Run Code Online (Sandbox Code Playgroud) 我想混合virtual reality和augmented reality。目标是我有一个立体相机(每只眼睛)。
我试图将两个ARSCNView放入一个,viewCotnroller但 ARKit 似乎只能同时启用一个ARWorldTrackingSessionConfiguration。我怎样才能做到这一点?
我研究过将视图的图形表示复制到另一个视图,但无法找到。请帮我找到解决方案。
我找到了这个链接,也许它可以照亮我们: ARKit with multiple users
这是我的问题的示例:
https://www.youtube.com/watch?v=d6LOqNnYm5s
PS:之前不像我的帖子,评论为什么!