7

我必须使用opencv实现整个人体的轮廓检测(从脚到头,在几个姿势,如举手等)。我设法编译并运行了在这里找到的代码https://gist.github.com/yoggy/1470956,但它只在身体周围绘制了一个矩形,而不是确切的轮廓。有人可以帮助我识别和显示轮廓本身吗?

谢谢!!

4

3 回答 3

5

恐怕这个问题的答案是:

没有算法可以完美地做到这一点。

计算机视觉还没有发展到那种程度。看看最近在 CVPR、PAMI 上的论文,你会发现大多数算法都是“矩形”,或者更具体地说,是基于边界框的,在人类标记和算法检测方面。

确实,您可以在边界框中找到轮廓。然而,计算机只是不知道哪个轮廓属于指定对象。

我建议您搜索“人体姿势估计”以获取更多信息。

于 2013-08-20T14:22:33.707 回答
5

一种可能有效的方法是背景减法:

http://docs.opencv.org/3.1.0/db/d5c/tutorial_py_bg_subtraction.html

这适用于视频,但也可能适用于单个图像,您处于受控(固定摄像机)环境中,在该环境中您拥有姿势图像以及背景图像,但没有人在场。

于 2016-12-31T04:04:22.940 回答
2

您可以在返回的边界框中使用函数 findCountors:

http://docs.opencv.org/doc/tutorials/imgproc/shapeescriptors/find_contours/find_contours.html

于 2013-08-20T14:14:18.937 回答