C++ OpenCV手部检测?
我已经创建了一个完美的皮肤检测器,但它可以检测所有皮肤。我可以选择哪些方法来将手与皮肤的其他部分分开C++ OpenCV手部检测?,c++,image-processing,opencv,computer-vision,C++,Image Processing,Opencv,Computer Vision,我已经创建了一个完美的皮肤检测器,但它可以检测所有皮肤。我可以选择哪些方法来将手与皮肤的其他部分分开 我不想使用haar标识符,所以请不要建议使用。可以肯定,SIFT适用于这种情况,它比haar强大得多 看看这篇文章: 看起来相当直截了当 我也在做一些筛选,我的项目计划确实涉及到这类事情,只是我还没有做到。如果你取得了一些进展,请务必告诉我。我的建议是首先通过斑点检测分割出不同的皮肤区域 然后可以通过面积和形状阈值消除不需要的斑点 在这些步骤之前进行一点过滤会有很大帮助你是说“头发”,还是说“
我不想使用haar标识符,所以请不要建议使用。可以肯定,SIFT适用于这种情况,它比haar强大得多 看看这篇文章: 看起来相当直截了当
我也在做一些筛选,我的项目计划确实涉及到这类事情,只是我还没有做到。如果你取得了一些进展,请务必告诉我。我的建议是首先通过斑点检测分割出不同的皮肤区域 然后可以通过面积和形状阈值消除不需要的斑点
在这些步骤之前进行一点过滤会有很大帮助你是说“头发”,还是说“haar”是某种算法?haar是一种机器识别算法你需要你的检测器有多通用?是否有(一组)特定的手势需要检测?我只需要检测实际的手我使用凸面缺陷进行手势识别我在将手与图像的其余部分隔离时遇到问题,没有察觉到手势。谢谢你的回答:)但是筛选是否也需要接受成千上万负面和正面图像的训练?因为我没有资源去做training@user1017485你不需要为了手势而需要数千张图片,但要获得最佳效果,你需要尝试从你关心的每个角度获取图像。因为基本上SIFT只是获取图像上所有有趣的点,你基本上是匹配这些点来确定对象是否是你认为的对象。SIFT培训的速度远不及Haar-like功能。谢谢你的回答:)你能说得更具体一点吗?就像我如何分割不同的皮肤区域一样?因为直方图反投影和颜色分割不能给出精确的结果。你能不能建议一个具体的算法(即分割的类型)