我正在研究iOS
Augmented Reality
项目,我需要整合虚拟敷料概念
我尝试了OpenCV
,它在我只需要面部检测场景中工作,但是当我做上身部分时,那对我来说根本不适合。
我使用了UPPER_BODY_HAAR_CASCADE
,但它没有按照预期的那样工作
它就像是一样
但我想要的输出是这样的
如果有人在iOS
中取得了此功能,请回复我
答案 0 :(得分:0)
你找不到答案。根据您选择的sdk制作应用程序。其中大多数使用起来非常昂贵,并且可能会改变使用政策。此外,您将所有不需要的功能拖到您的应用中。因此,在一天结束时,您的应用程序的大小为60-100MB。
如果我是你(我处于类似的情况),我会开发自己的小sdk,你需要的功能。如果你知道如何做,那么基本的工作需要几天的时间。加上opencv,你的状态很好。
PS。 @Tommy问了一个有趣的问题。如何实现此视频的实现方式:youtube.com/watch?v = IBM11ROpxHE
添加一些评论太长的信息。
@Tommy Nice视频。它似乎已经完成了我们所需要的一切。首先,对于任何AR应用,您需要相机(手机摄像头)校准信息。在简单的情况下,它包含两个矩阵:相机矩阵和失真矩阵。然后使用相机矩阵来创建opengl投影矩阵(如何将3d模型投影到2d平面屏幕,视野,平面等)。例如,使用失真矩阵,用于在检测到某些内容时扭曲输入帧的部分。在带手表的示例中,我们需要检测皮带和手表机身,以便将3D模型放置在该位置。鉴于纸质手表没有与眼睛成90度角的理想视角,它需要转变为这种观点。
换句话说,您的纸质手表看起来像这样:
/---/
/ /
/---/
对于分析和检测模型名称,您需要它看起来像这样:
---
| |
| |
---
这是使用失真矩阵以进行精确变换的地方。不同的相机有自己的扭曲。
大多数应用程序都使用所谓的离线校准。有一个棋盘及其提供的opencv函数可以检测具有不同视角的一系列帧上的单元格,并根据单元格的形状构建矩阵。
在您的情况下,手表皮带的设计可能会包含在线校准所需的全部内容。在你的视频上它有特殊的模式,我很确定它完全是为了这个目的。为简单起见,您可以使用棋盘图案。
然后,您可以使用25个第一帧进行在线校准,然后使用所有矩阵检测纸质手表,构建投影矩阵并将其替换为您的3D模型。如果完成所有操作,那么您的纸张扫描将在3d空间中显示co 0 0 0并且您可以轻松地在该位置放置其他内容。