问题标签 [truedepth-camera]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
380 浏览

ios - 如何从 ARKit 面部会话深度像素缓冲区创建视频

我正在尝试追加frame.capturedDepthData.depthDataMapAVAssetWriterInputPixelBufferAdaptor但结果总是不成功。

我的适配器配置如下:

然后在每个session:(ARSession*)session didUpdateFrame:(ARFrame*)frame回调中,我尝试像这样附加深度像素缓冲区:

但附加像素缓冲区的结果始终为 FALSE。

现在,如果我尝试附加frame.capturedImage到正确配置的适配器,那将始终成功,这就是我目前从前置摄像头制作视频文件的方式。

但我想知道如何从深度像素缓冲区制作视频?

0 投票
0 回答
182 浏览

ios - Domain=com.apple.arkit.error Code=100 “不支持的配置。” 适用于 Xcode 11.4.1 上的 iPhone 11

我正在尝试构建一个在 iPhone 上使用 FaceID 摄像头的小应用程序。该项目是为 iPhone X 构建的,但我试图在 iPhone 11 模拟器(或我的实际 iPhone 11)上运行它。我无法将它部署到我的 11,因为它立即显示“构建失败”,但是当我尝试运行 iPhone 11 模拟器时,我看到一个涉及此的错误:

我不认为 iPhone X 是 Xcode 上的模拟器类型(奇怪!)。iPhone 11 显然有 FaceID 和 TrueDepth,所以我不确定为什么会发生这个错误。有任何想法吗?我对 iPhone 开发非常陌生,所以目前这超出了我的技能范围。

0 投票
1 回答
574 浏览

swift - 致命错误 - 此设备不支持面部跟踪

我想在我的应用程序上启用 ARFaceTrackingConfiguration,但我遇到了问题。我正在使用具有 Apple A10 Fusion-64 位芯片的 iPhone 7,但仍然出现该致命错误。你能帮我解决这个问题吗?

我在 info.plist 上启用了权限,我在 ARFaceTrackingCONfiguration 中检查 .isSupported

是因为 iPhone 7 的前置摄像头不是原深感摄像头吗?

0 投票
1 回答
56 浏览

c++ - 为什么我在尝试运行 Orbbec Astra 时收到此错误消息

我的错误消息的屏幕截图

我一直在尝试测试 Orbbec Astra stereo S 和嵌入式 S 的 DK。我尝试运行示例查看器来测试深度相机的质量,但每次我这样做时都会收到此错误消息。代码本身是直接从 Orbbec 网站下载的,因此肯定不会有任何错误。

0 投票
1 回答
28 浏览

ios - 处理来自靠近边缘的 TrueDepth 相机缓冲区的伪影的正确方法是什么?

我正在遵循https://developer.apple.com/documentation/avfoundation/cameras_and_media_capture/streaming_depth_data_from_the_truedepth_camera的指南。它用于AVCaptureDepthDataOutput()从前置摄像头传输深度数据。

但是,其中两条边有错误的数据。在纵向模式下,它将是上边缘和右边缘。在逆时针旋转的横向中,它将位于左侧和上方。这是它的外观示例。这是来自教程,但我修改了一些代码。请注意,我确实将实际距离打印为数字,以确保它不是视频/颜色渲染的错误。 https://drive.google.com/file/d/1AGFHAZypmHz9136T02ufedz-X3Ct94Kq/view?usp=sharing

如果它只是将 3D 数据转换为 2D 数据的必要工件,我可以接受。但我正在寻找的是裁剪图像的“正确”方法,以便 2D 深度缓冲区在边缘没有这些伪影。我怎么知道作物的距离?我只是试验一下吗?如果是这样,我怎么知道它在所有设备上都一样?

另一个问题是,如果物体离相机太近,距离会被解释为最大距离而不是最小距离。这是预期的吗?

0 投票
0 回答
159 浏览

ios - Swift 从 builtInDualCamera 保存 16 位深度图像

我可以从相机会话中获取深度的 CVPixelBuffer。如何在不丢失深度数据的情况下将其保存为 16 位 png?

0 投票
0 回答
216 浏览

ios - TrueDepth 相机的范围是多少?

前置原深感摄像头可以检测到的最小和最大距离是多少?

检测深度数据时,如果返回的值被归一化到 0 到 1 的范围内,我就可以很容易地将其转换为灰度图像。但是,由于返回的值是以米为单位的距离,我可以很容易地得到一个值,例如 2.5。

因此,了解理论最小值和最大值可以帮助我将值标准化到 0 到 1 的范围内。

更新:使用Apple 的示例应用程序进行的非常不准确的估计表明,它大约是 15 厘米(最小)到 400 厘米(最大),但是,这个测量远非精确。因此,我仍在寻找更权威的答案(例如,使用更好的方法来确定范围的答案)。

0 投票
1 回答
310 浏览

ios - 将 TrueDepth 数据转换为灰度图像会产生失真的图像

我从 TrueDepth 相机获取深度数据,并将其转换为灰度图像。(我意识到我可以将 传递AVDepthDataCIImage构造函数,但是,出于测试目的,我想确保我的数组被正确填充,因此手动构造图像将确保是这种情况。)

我注意到当我尝试转换灰度图像时,我得到了奇怪的结果。即图像出现在上半部分,而下半部分失真(有时显示图像两次,有时显示胡说八道)。

例如:

预期输出(即CIImage(depthData: depthData)):

在此处输入图像描述

实际输出(20% 的时间):

在此处输入图像描述

实际输出(80% 的时间):

在此处输入图像描述

我从Apple 的示例代码开始,尝试提取 CVPixelBuffer 中的像素

知道这里有什么问题吗?

0 投票
0 回答
89 浏览

swift - 将来自 ios 视觉框架的面部地标与深度图像相结合

我正在使用 iphone truedepth 相机捕获深度图像,并使用 ios 视觉框架在图像中查找人脸地标。捕获设备分辨率为 3088x2136,深度图为 640x480。我们正在尝试找到所有面部地标点的深度,但我无法缩小地标以正确匹配深度图尺寸。

这是我目前使用的代码:

不知何故,它不像在全尺寸图像上取一个地标点,然后将其缩小为 640x480 图像那么简单,因为这样。当我运行此代码并绘制生成的深度云和地标点时,我得到以下信息:

正面: 正面

BACK(正面的反面: 背部

从背面的放大图片中可以看到,一些地标距离很远: 放大

模型的侧视图显示了未对准的程度: 边

我尝试在各个点缩小像素值,但没有奏效。我也尝试过删除主点偏移,但没有成功。我认为仿射变换有问题,但我不知道如何纠正它。我希望看到地标点与深度云正确对齐

0 投票
0 回答
83 浏览

react-native - React Native iOS TrueDepth 相机

有没有办法在React Native或任何解决方法或任何东西中使用和利用本机 ios truedepth相机(并获得视觉深度) ?

任何帮助表示赞赏,在此先感谢。