我目前正在使用MATLAB做一个名为眼控光标的项目。 在我提取虹膜中心(可以认为是瞳孔位置)之前,我有几个阶段。 face detetcion - >眼睛检测 - >虹膜检测 - >最后我获得了虹膜的中心,如图所示。
现在,我正在尝试将此位置(X,Y)映射到我的计算机屏幕像素(1366 x 768)。在我发现的大多数期刊中,它们需要一个参考点,如嘴唇,鼻子或眼角。但我只能通过一定的阈值来提取虹膜的中心。如何将此位置(X,Y)映射到我的计算机屏幕像素(1366 x 768)?
答案 0 :(得分:0)
你要么必须将头部固定到某个位置(这不是很实用),要么将必须适应面部位置。根据您的图像,您必须选择始终位于该图像上且易于检测的点。如果您只有一个点(如鼻子),则只能调整头部的x / y偏移。如果你有更多的点(如眼睛的四个角,鼻子,也许是嘴角),你也可以提取头部的3个旋转值,因此可以更好地计算出视线的方向。对于第一种方法,我猜只有眼睛的两个内角(它们“易于检测”)才能做到。
我还建议使用校准顺序。您在屏幕的角落向用户显示一系列4个红点,他必须查看它们。然后,您可以记录瞳孔的位置并在它们之间进行插值。