gpt4 book ai didi

opencv - 寻找手的边界区域

转载 作者:太空宇宙 更新时间:2023-11-03 22:34:07 24 4
gpt4 key购买 nike

我有使用 this 检测到的手的图像关联。它的手部检测使用 HSV 颜色空间。

现在我面临一个问题:我需要获得足够的封闭区域/绘制边界线以确定手区域,然后填充封闭区域并从原始区域中减去它以移除手。

到目前为止,我已经尝试过模糊图像以减少噪音、放大图像、关闭孔等,这些似乎是过量的。我已经尝试过轮廓,这似乎是迄今为止最好的方法。我试图获得凸包(最大),在使用不同的阈值进行测试后,我得到了以下结果。

enter image description here

如果船体伸直,可以用拇指看到不准确之处。它必须是弯曲的。我试图弄清楚手的位置,以便识别手所覆盖的区域。要减去它以从原始图像中删除手。这就是我想要实现的目标。

有更好的方法吗?

非常感谢想法建议。

原始和检测如下

enter image description here

最佳答案

考虑使用 alpha hull 而不是凸包,它可以通过允许凹面更好地遵循形状的轮廓。

这个站点对 alpha 形状有一个很好的总结:“关于 Alpha 形状你一直想知道但又不敢问的一切”作者:François Bélair。

http://cgm.cs.mcgill.ca/~godfried/teaching/projects97/belair/alpha.html

正如 David 在他的帖子中提到的那样,考虑使用 HSV(或 HSI)颜色空间而不是 RGB 或灰度进行阈值处理。如果可以允许更长的处理时间,则可以使用 Mean Shift 等算法来分割像您这样的棘手图像。 OpenCV 有一个 Mean Shift 的实现,Learning OpenCV 一书提供了对该算法的简明描述。

Image Segmentation using Mean Shift explained

在任何情况下,标准的二值化阈值似乎都没有多大帮助。考虑使用动态阈值;根据我的内存,OpenCV 中的轮廓至少实现了局部/动态阈值。

关于opencv - 寻找手的边界区域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12768666/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com