6

我只需要检测闭上的眼睛,也需要分别检测两只眼睛。这意味着我需要判断左眼是睁着还是闭着,右眼也是如此。

我尝试了几种方法。其中之一是分别用 haarcascade_eye 和 haarcascade_eye_tree_eyeglasses 检测眼睛,然后比较结果。如果两个都检测到眼睛,则睁眼,如果一个检测到另一个不能,则闭眼。这个技巧来自这个链接:

http://tech.groups.yahoo.com/group/OpenCV/messages/87666?threaded=1&m=e&var=1&tidx=1

但它不能按预期工作。眼级联检测器不能像链接中提到的那样工作。我在上面提到的那些 haarcascade 中发现了非常接近的结果。有时它给出正确的结果,有时它不能。我不知道为什么。此外,用这种方法不能分辨哪只眼睛是睁着的,哪只眼睛是闭着的。

现在有人可以帮我解决这个问题吗?至少我需要一种方法来判断其中一只眼睛是闭着的,无论哪一只眼睛都需要准确地做到这一点。请帮忙.......

4

1 回答 1

1

如果您想避免训练自己的 Haar 级联来检测单眼,您可以尝试更简单的技术,例如瞳孔检测。如果您未能检测到黑色圆圈,则眼睛是闭合的。如果您有一个较小的感兴趣区域,这可能非常有效。另一种选择是眼睛区域的颜色直方图,这对于打开和关闭状态可能看起来非常不同。

如果您无法以合理的准确度预测可以在图像中找到眼睛的位置,那么这些方法注定要失败,我认为您最好的镜头是训练自己的级联。

于 2013-04-19T09:44:16.850 回答