【问题标题】:How Can I detect pupil and gaze using opencv in c++?如何在 C++ 中使用 opencv 检测瞳孔和凝视?
【发布时间】:2016-11-01 14:11:41
【问题描述】:

我已经在 c++ 中的 opencv 中进行了一些编码,我能够使用 Haar Cascades 来检测面部和眼睛,但现在我被困在如何获取瞳孔坐标和凝视以了解用户在哪里看屏幕,有什么想法吗??

【问题讨论】:

标签: opencv


【解决方案1】:

这个问题非常广泛。请从 google 中的注视跟踪、头部姿势估计、瞳孔检测等关键字开始。 This 文章可能会有所帮助,here's 是运行时的示例。

【讨论】:

    【解决方案2】:

    您可以通过将椭圆或圆形拟合到渐变图像中来检测瞳孔。如果数据太嘈杂,您可以从HoughCircles() 开始。

    接下来,您必须决定如何检测注视的方向(注视 = 头部姿势 + 眼睛姿势)。让我们专注于眼睛姿势。 一种方法是在 2D 中测量从眼睛中心到瞳孔的矢量。位移应该给你方向,但这需要检测眼球的中心。这可以通过检测眼角并运行某种校准程序来完成。在任何情况下,您的图像的分辨率都应该很好做到这一点。由于您检测到一张脸,我猜落入瞳孔的像素数量非常少。

    【讨论】:

      【解决方案3】:

      我建议你使用基于图像梯度的眼睛中心定位算法。

      Tristan Hume 在 OpenCV 中的实现可以在此处获得 - http://thume.ca/projects/2012/11/04/simple-accurate-eye-center-tracking-in-opencv/

      就凝视而言,没有“氪石”仍然是一个活跃的研究领域。

      【讨论】:

        猜你喜欢
        • 2018-11-19
        • 1970-01-01
        • 1970-01-01
        • 2017-05-19
        • 2018-10-04
        • 2012-07-01
        • 2015-01-08
        • 2021-06-28
        • 2012-09-01
        相关资源
        最近更新 更多