1

我正在尝试构建一个名为虚拟衣橱的应用程序,我计划在其中捕捉一个人的图像,然后让他选择不同的衣服,并立即看到他穿着那件衣服的虚拟形象。

我对如何实现这个想法知之甚少。我阅读了一些资料,发现了一些边缘检测算法。

Sobel 似乎很快但效率不高,而 Canny 更好但很慢。还有一些其他算法,例如基于梯度的算法、拉普拉斯算法等,但我对这些算法不太了解。

是否有很好的课程资料可以详细了解这些算法?此外,对于此应用程序,使用更快但效率更低或更慢但更高效的算法会更好吗?

我对此了解不多,因此不胜感激。

先感谢您。

4

2 回答 2

0

不确定您是否拥有所有其他组件,但我认为在许多情况下单独使用边缘检测可能效果不佳。以下是您可能会发现它们有用的可能方向/技术:

  • 前景检测:检测图像的哪一部分是用户,如果您的背景不简单,这可能比纯边缘检测效果更好。
  • 人脸检测:检测图像的哪一部分是用户的脸。这使得布料更适合用户,尤其是。太阳镜或帽子。
  • 肤色模型:可用作人脸检测的基本替代方案。
  • 对象跟踪:如果您的输入是视频,那么您还可以利用对象跟踪技术来加快其他检测过程。

您可能还会考虑其他技术,例如人体姿势识别或眼动追踪,但它们比上述项目更复杂。

于 2013-07-24T06:56:54.423 回答
0

我可以建议你一种解决方案。如果您有各种服装的图像,则将它们假定为目标图像,并将目标图像的人脸替换为源图像(即用户)的人脸。为此,您必须构建一个人脸替换应用程序。如果您想在源图像中检测人脸,请先进行人脸检测,然后从源图像中检索人脸边界。为此,您可以使用各种算法,其中我建议很少:

  • Canny 边缘检测,然后是最长边缘检测。
  • 皮肤颜色阈值,然后是收缩和增长算法。
  • 自适应主动轮廓模型(蛇算法)

Canny 有点慢,如果您想快速获得结果,请选择肤色阈值。为了获得准确的结果,您可以使用 Snake 算法。即使面部有阴影,Snake 算法对于检测面部边界也很有用。

读取使用 Canny 边缘检测检测人脸边界

于 2013-07-24T12:24:30.403 回答