我必须使用opencv实现完整人体的轮廓检测(从脚到头,在几个姿势,例如举手等)。我设法编译并运行我在https://gist.github.com/yoggy/1470956找到的代码,但它只在身体周围绘制一个矩形,而不是精确的轮廓。可以帮我识别和显示轮廓本身吗?
谢谢!
答案 0 :(得分:5)
我担心这个问题的答案是:
没有任何算法可以做到这一点。
计算机视觉尚未发展到那个程度。看一下CVPR,PAMI的最新论文,你会发现大多数算法都是“矩形”,或者更具体地说,基于边界框,就人类标记和算法检测而言。
确实可以在边界框中找到轮廓。但是,计算机只是不知道哪个轮廓属于指定的对象。
我建议您搜索“人体姿势估计”以获取更多信息。
答案 1 :(得分:3)
可能有效的一种方法是背景减法:
http://docs.opencv.org/3.1.0/db/d5c/tutorial_py_bg_subtraction.html
这适用于视频,但也适用于您在受控(固定相机)环境中的单个图像,在该环境中,您有一个姿势图像以及背景图像,没有人在场。 / p>
答案 2 :(得分:2)
您可以在返回的边界框中使用findCountors函数:
http://docs.opencv.org/doc/tutorials/imgproc/shapedescriptors/find_contours/find_contours.html