swift - Scanning Real-World Object and generating 3D Mesh from it
问题描述
ARKit app allows us to create an ARReferenceObject
, and using it, we can reliably recognize the position and orientation of the real-world objects. But also we can save the finished .arobject
file.
However, ARReferenceObject
contains only the spatial features information needed for ARKit to recognize the real-world object, and is not a displayable 3D reconstruction of that object.
func createReferenceObject(transform: simd_float4x4,
center: simd_float3,
extent: simd_float3,
completionHandler: (ARReferenceObject?, Error?) -> Void)
My question:
Is there a method that allows us to reconstruct digital 3D geometry (low-poly or high-poly) from the .arobject
file using Poisson Surface Reconstruction
or Photogrammetry
?
解决方案
您用Apple 文档中的引用回答了您自己的问题:
An
ARReferenceObject
仅包含 ARKit 识别现实世界对象所需的空间特征信息,而不是该对象的可显示 3D 重建。
如果您运行该示例代码,您可以亲眼看到它在扫描期间和测试识别之后创建的参考对象的可视化——它只是一个稀疏的 3D 点云。Apple 的 API 为您提供的内容当然没有摄影测量,而且在恢复网格中的真实结构方面也没有太多工作要做。
这并不是说这样的努力是不可能的——已经有一些第三方演示 了基于 ARKit 之上的摄影测量实验。但
1.这不是使用 ARKit 2 对象扫描,只是原始像素缓冲区和来自ARFrame
.
2.这些演示中的推断水平需要非平凡的原始研发,因为它远远超出了 ARKit 本身提供的信息。
推荐阅读
- c++ - 为从函数返回的右值引用赋值
- php - 我收到一个致命错误:无法对表达式的结果使用 isset()(您可以改用“null !== expression”)
- python - 相加时NaN为0,除法时为NaN
- flutter - Flutter ScrollController 抛出异常
- python - 如何根据时间戳值计算子列表的平均值
- powershell - 由 New-SelfSignedCertificateEx 生成的自签名 SSL 证书在 Ubuntu 中不受信任
- php - 会话变量在php中为空
- c# - 如何遍历 Assets 文件夹中的子文件夹?
- android - 我们如何将三星银河皮肤添加到安卓模拟器中?
- javascript - 由nodeJS中的值总和产生的NaN