Skip to content

EyeCan: an eye controlled mouse MFC based software, which could let you move your mouse through focus of your eye, all you need is a camera.

Notifications You must be signed in to change notification settings

GregOcean/eye_controlled_mouse

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

eye_controlle_mouse

视线跟踪交互系统是一个串行的过程: (1)摄像头获得包括全部人脸的图像 (2)人眼以及人脸区域的提取,使用Adaboost算法对人脸和人眼矩形区域进行提取,并对获得的人眼图像进行预处理。 (3)由经过预处理的眼睛图像获得虹膜中心(动点)和参考点(固定点)坐标,并形成由固定点指向动点的偏移矢量。 (4)若在标定状态,则由上述偏移矢量和计算机屏幕上对应标定点的坐标共同确定非线性映射关系。 (5)若在实测状态,则由标定状态得到的映射关系和虹膜偏移量实时计算注视点在计算机屏幕上的坐标,并用鼠标响应位置。 (6)如果固定头部状态下眼控鼠标效果达到预期目标,则加入对头部移动的实时监测,以补偿头部移动带来的映射偏差,提升用户体验与精确度。 (7)在上层应用中,需要根据眼动坐标的运动特征、人眼固有运动方式和人机交互界面共同决定高层语义,定义恰当的眼动命令,实现视线跟踪交互应用。 项目各模块方案是: 1、主程序模块:MFC对话框程序 + OpenCV + DirectShow。 2、人眼检测模块:人眼(瞳孔中心)以及眼角点定位,利用Adaboost算法进行头部检测与眼部检测 + 基于灰度图阀值转化二值图的膨胀腐蚀图像法。 3、坐标映射模块:映射偏移矢量到屏幕坐标,应用最小二乘拟合建立N次多项式法。

其中一幅图片在经过Haar特征的人脸与人眼获取眼部区域图片后,经过以下几个步骤完成瞳孔定位: 1. 原图转化为灰度图; 2. 灰度图经过些许腐蚀算法去除反光亮斑; 3. 设定灰度阀值,将灰度图转换为二值图 4. 经过膨胀腐蚀算法得到仅有瞳孔部分为白色的类圆区域。 5. 对瞳孔部分像素进行坐标求均值。

开发环境: Visual Studio 2008

运行方法 在VS中加载项目文件 编译运行

使用方法 1、打开摄像头 2、标定阶段:鼠标缓慢移动的同时视线随着鼠标移动,从而建立映射关系 3、使用

About

EyeCan: an eye controlled mouse MFC based software, which could let you move your mouse through focus of your eye, all you need is a camera.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published