如何在图像中识别人体的高度和宽度?
发布于 2010-11-18 04:13:28
你需要一些参考点。一张简单的照片是不行的,除非你知道相机的设置(放置、变焦、镜头变形等),以及人物相对于相机的位置。
如果你确实有一个引用(比如背景中的网格之类的东西),那么你可以测量网格并从那里开始。听起来不像你想要的。
发布于 2010-11-18 09:49:22
要扩展其他人所说的内容,您可以将这项复杂的任务分解为几个(仍然困难的)组件。
human.real_height = human.pixel_height*reference.real_height/reference.pixel_height
诚然,这个过程远不是万无一失的,而且仍然相当困难,但它应该提供一个合理的近似值。我没有太多地使用现有的工具包,但是您可以从OpenCV开始,它具有Python绑定。此外,SIFT algorithm是一种有趣的技术,可能在这里可以使用,但我认为只有一种C#实现。
如果你只使用一张图片,那么第三步可能是最困难的。人们通过立体视觉来提取3D图像数据(即我们使用双眼的图像来“推断”深度),但即使这样,它也不是万无一失的,因为颜色和阴影会让我们感到困惑。我认为可以使用单个图像来实现,但可能会更容易出错。这是一个活跃的研究领域,所以我会查阅关于计算机视觉的书籍,以更好地了解当前的实用情况。
发布于 2010-11-18 04:20:45
正如布拉德指出的那样,除非图片是在可控的条件下制作的,否则这是不可行的。如果不是,那么你可能就不走运了,因为forced perspective可以欺骗即使是最好的算法来检测人类的高度和宽度。
https://stackoverflow.com/questions/4208708
复制相似问题