文章目录

  • 0 项目说明
  • 1 研究目的
  • 2 研究方法
  • 3 系统实现
  • 3.1 实现视频播放
  • 4 研究结论
  • 5 论文目录
  • 6 项目源码

0 项目说明

基于移动设备的眼球追踪技术及其应用

提示:适合用于课程设计或毕业设计,工作量达标,源码开放

项目分享:

https://gitee.com/asoonis/feed-neo


1 研究目的

在本文中,我们主要验证在移动设备上进行实时眼球追踪的可行性,并提出使用眼球追踪进行移动设备控制。

2 研究方法

我们首先对眼球追踪技术进行测试,验证了现行眼球追踪算法在移动设备上进行眼球运动方向追踪的准确性。随后基于视频播放场景,在原有的控制技术基础上,实现了基于眼球运动方向的视频播放控制。相较于之前的研究,我们不仅验证了眼球追踪技术在移动设备上应用的准确性,同时提出了其适用的场景和相应的解决方案。

3 系统实现

首先我们设计实现一款简易视频播放器,随后引入眼球追踪技术,对视频播放操作进行重新设计,添加相应功能从而实现基于眼球运动方向的控制方式。

3.1 实现视频播放

为方便视频播放模块添加眼球控制方式,我们将眼球追踪页面与视频播放页面结合,左侧为视频播放器,右侧为前置摄像头获取人脸图像预览,在视频播放的同时,进行眼球追踪。

4 研究结论

针对用户观看视频过程中有时不便手动控制这一现象,我们率先将眼球追踪技术与视频播放控制结合起来,改善了用户使用体验。而经过实验验证,基于眼球运动方向进行操作控制的平均准确率达到 70.5%,这一新颖的控制方式被证明是可靠的。

5 论文目录

第一章 绪论1.1 研究背景1.2 本文工作1.3 论文结构
第二章 相关工作2.1 眼睛行为分析2.1.1 视线估计2.1.2 眼球运动2.2 基于眼睛交互2.2.1 隐式交互2.2.2 显式交互2.3 移动设备控制
第三章 瞳孔检测与眼球追踪3.1 面临挑战3.2 环境影响3.2.1 距离3.2.2 照明条件3.3 眼睛检测3.3.1 Harr特征选择3.3.2 计算积分图像3.3.3 Adaboost 训练3.3.4 级联分类器3.4 瞳孔中心定位3.4.1 梯度方法3.4.2 运行结果3.5 眼球运动方向追踪
第四章 系统实现与性能评估4.1 系统实现4.1.1 视频播放器4.1.2 基于眼球控制实现视频播放4.2 性能评估4.2.1 实验设置4.2.2 眼球追踪模块4.2.3 视频控制模块
第五章 总结与展望
参考文献
致 谢

6 项目源码

package org.opencv.android;import android.app.Activity;
import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.DialogInterface.OnClickListener;
import android.util.Log;/*** Basic implementation of LoaderCallbackInterface.*/
public abstract class BaseLoaderCallback implements LoaderCallbackInterface {public BaseLoaderCallback(Context AppContext) {mAppContext = AppContext;}public void onManagerConnected(int status){switch (status){/** OpenCV initialization was successful. **/case LoaderCallbackInterface.SUCCESS:{/** Application must override this method to handle successful library initialization. **/} break;/** OpenCV loader can not start Google Play Market. **/case LoaderCallbackInterface.MARKET_ERROR:{Log.e(TAG, "Package installation failed!");AlertDialog MarketErrorMessage = new AlertDialog.Builder(mAppContext).create();MarketErrorMessage.setTitle("OpenCV Manager");MarketErrorMessage.setMessage("Package installation failed!");MarketErrorMessage.setCancelable(false); // This blocks the 'BACK' buttonMarketErrorMessage.setButton(AlertDialog.BUTTON_POSITIVE, "OK", new OnClickListener() {public void onClick(DialogInterface dialog, int which) {finish();}});MarketErrorMessage.show();} break;/** Package installation has been canceled. **/case LoaderCallbackInterface.INSTALL_CANCELED:{Log.d(TAG, "OpenCV library installation was canceled by user");finish();} break;/** Application is incompatible with this version of OpenCV Manager. Possibly, a service update is required. **/case LoaderCallbackInterface.INCOMPATIBLE_MANAGER_VERSION:{Log.d(TAG, "OpenCV Manager Service is uncompatible with this app!");AlertDialog IncomatibilityMessage = new AlertDialog.Builder(mAppContext).create();IncomatibilityMessage.setTitle("OpenCV Manager");IncomatibilityMessage.setMessage("OpenCV Manager service is incompatible with this app. Try to update it via Google Play.");IncomatibilityMessage.setCancelable(false); // This blocks the 'BACK' buttonIncomatibilityMessage.setButton(AlertDialog.BUTTON_POSITIVE, "OK", new OnClickListener() {public void onClick(DialogInterface dialog, int which) {finish();}});IncomatibilityMessage.show();} break;/** Other status, i.e. INIT_FAILED. **/default:{Log.e(TAG, "OpenCV loading failed!");AlertDialog InitFailedDialog = new AlertDialog.Builder(mAppContext).create();InitFailedDialog.setTitle("OpenCV error");InitFailedDialog.setMessage("OpenCV was not initialised correctly. Application will be shut down");InitFailedDialog.setCancelable(false); // This blocks the 'BACK' buttonInitFailedDialog.setButton(AlertDialog.BUTTON_POSITIVE, "OK", new OnClickListener() {public void onClick(DialogInterface dialog, int which) {finish();}});InitFailedDialog.show();} break;}}public void onPackageInstall(final int operation, final InstallCallbackInterface callback){switch (operation){case InstallCallbackInterface.NEW_INSTALLATION:{AlertDialog InstallMessage = new AlertDialog.Builder(mAppContext).create();InstallMessage.setTitle("Package not found");InstallMessage.setMessage(callback.getPackageName() + " package was not found! Try to install it?");InstallMessage.setCancelable(false); // This blocks the 'BACK' buttonInstallMessage.setButton(AlertDialog.BUTTON_POSITIVE, "Yes", new OnClickListener(){public void onClick(DialogInterface dialog, int which){callback.install();}});InstallMessage.setButton(AlertDialog.BUTTON_NEGATIVE, "No", new OnClickListener() {public void onClick(DialogInterface dialog, int which){callback.cancel();}});InstallMessage.show();} break;case InstallCallbackInterface.INSTALLATION_PROGRESS:{AlertDialog WaitMessage = new AlertDialog.Builder(mAppContext).create();WaitMessage.setTitle("OpenCV is not ready");WaitMessage.setMessage("Installation is in progress. Wait or exit?");WaitMessage.setCancelable(false); // This blocks the 'BACK' buttonWaitMessage.setButton(AlertDialog.BUTTON_POSITIVE, "Wait", new OnClickListener() {public void onClick(DialogInterface dialog, int which) {callback.wait_install();}});WaitMessage.setButton(AlertDialog.BUTTON_NEGATIVE, "Exit", new OnClickListener() {public void onClick(DialogInterface dialog, int which) {callback.cancel();}});WaitMessage.show();} break;}}void finish(){((Activity) mAppContext).finish();}protected Context mAppContext;private final static String TAG = "OCV/BaseLoaderCallback";
}

项目分享:

https://gitee.com/asoonis/feed-neo

计算机毕业设计 移动设备的眼球追踪技术及其应用(源码+论文)相关推荐

  1. 【计算机毕业设计】Java ssm 高校运动会管理系统(开题+源码+论文)

    毕设帮助.开题指导.技术解答.源码交流,联系方式见文末 如今高校开展校园运动会已经成为每年不必可少的活动,运动会越来越受到高校师生的欢迎,但是大多数高校运动会从参赛报名到成绩统计等环节都是停留在纸质文 ...

  2. 【计算机毕业设计】Java ssm XX活动报名系统(源码+论文)

    毕设帮助.技术解答.源码获取(有偿)见文末 系统概述 随着互联网逐渐走进大众视野,针对网上活动报名的方式越来越受到人们的青睐,基于互联网的通用活动报名系统能够实现活动报名管理的系统化.保密化.智能化, ...

  3. 计算机毕业设计 SSM在线音乐网站设计与实现(源码+论文)

    文章目录 1 前言 2 实现效果 3 设计方案 4 最后 1 前言

  4. 计算机毕业设计 基于java web的在线考试系统(源码+论文)

    文章目录 1 项目简介 2 实现效果 3 系统设计 3.2 系统设计流程 4 关键代码 5 论文概览 6 最后 1 项目简介

  5. 【毕业设计_课程设计】基于移动设备的眼球追踪技术及其应用(源码+论文)

    文章目录 0 项目说明 1 研究目的 2 研究方法 3 系统实现 3.1 实现视频播放 4 研究结论 5 论文目录 6 项目源码 0 项目说明 基于移动设备的眼球追踪技术及其应用 提示:适合用于课程设 ...

  6. JAVA计算机毕业设计中华二十四节气文化传承宣展平台Mybatis+源码+数据库+lw文档+系统+调试部署

    JAVA计算机毕业设计中华二十四节气文化传承宣展平台Mybatis+源码+数据库+lw文档+系统+调试部署 JAVA计算机毕业设计中华二十四节气文化传承宣展平台Mybatis+源码+数据库+lw文档+ ...

  7. java计算机毕业设计信用卡增值业务系统小程序用户端源码+mysql数据库+lw文档+系统+调试部署

    java计算机毕业设计信用卡增值业务系统小程序用户端源码+mysql数据库+lw文档+系统+调试部署 java计算机毕业设计信用卡增值业务系统小程序用户端源码+mysql数据库+lw文档+系统+调试部 ...

  8. java计算机毕业设计淮安城市开放大学实习实训管理系统源码+mysql数据库+系统+lw文档+部署

    java计算机毕业设计淮安城市开放大学实习实训管理系统源码+mysql数据库+系统+lw文档+部署 java计算机毕业设计淮安城市开放大学实习实训管理系统源码+mysql数据库+系统+lw文档+部署 ...

  9. java计算机毕业设计黑格伯爵国际英语贵族学校官网源码+mysql数据库+系统+lw文档+部署

    java计算机毕业设计黑格伯爵国际英语贵族学校官网源码+mysql数据库+系统+lw文档+部署 java计算机毕业设计黑格伯爵国际英语贵族学校官网源码+mysql数据库+系统+lw文档+部署 本源码技 ...

最新文章

  1. 20175320 2018-2019-2 《Java程序设计》第2周学习总结
  2. 在Android开发中,有哪些好的内存优化方式?如何避免 Out Of Memory(OOM) ?
  3. 智能安防 回家开门进入“看脸”时代
  4. 记一次MongoDB性能问题(从MySQL迁移到MongoDB)
  5. 详解使用flask_paginate进行分页
  6. [转]ExtJs基础--Html DOM、Ext Element及Component三者之间的区别
  7. 博客堂joycode被黑掉了
  8. 迈向万亿市场的直播电商
  9. 关于position定位下的各种属性说明!-softbar
  10. 服饰贴图定制小程序V1.2.4安装更新一体包+小程序前端
  11. java 复写hashcode_java 重写equals()和hashCode()
  12. JS 正则(RegExp)
  13. 高盛:Github开源、Marquee、SecDB
  14. 【手写数字识别】基于matlab CNN网络手写数字识别分类【含Matlab源码 1286期】
  15. 灵格斯怎么屏幕取词_灵格斯词霸怎么屏幕取词
  16. 我所知道坦克大战(单机版)之 让子弹飞、让坦克控制子弹开炮
  17. 学报格式和论文格式一样吗_工大学报论文格式要求
  18. 软件工程课程的实践(综合实践能力创新实训 3)解决方案
  19. Unity-Spine换装问题
  20. 生活如此美好 我却如此暴躁

热门文章

  1. android uri图片压缩,详解android 通过uri获取bitmap图片并压缩
  2. RDP、VNC、SPICE协议性能分析之网络带宽
  3. 登陆时做下双因子验证
  4. 一文看懂Web3.0:元宇宙的基础设施,三大标签颠覆互联网
  5. XTS05RSOT-143工作电压5V用于高速线路保护的2线ESD保护二极管阵列管XTS05R USB端口和以太网端口保护TVS二极管阵列,低泄漏电流和箝位电压25V结电容
  6. Path环境变量是什么?有什么用?怎么工作?JDK,JRE,JVM,集成开发工具是什么?有什么用?怎么工作?JDK安装包文件结构?有必要设置Path环境变量?Eclipse和IDEA开发工具的运作
  7. linux——搭建NTP服务器
  8. 使用华为云服务一键构建部署发布前端和Node.js服务
  9. 移动硬盘的“磁盘结构损坏且无法读取”问题的解决方法
  10. 洛谷 P2530 [SHOI2001]化工厂装箱员 解题报告