Java开源技术分享:使用TopCode实现手指跟踪
前言
今天偶然情况下尝试了一下俄罗斯的搜索引擎yandex,果然发现了个新玩意。
这是一位来自英国,目前在泰国Prince of Songkla University (PSU)大学教书的Andrew Davison博士。与博主从2016年就开始研究JavaCV音视频技术不同的是,Andrew Davison博士在2013年就发表过《Vision-based User Interface Programming in Java》,书中系统的介绍了JavaCV如何作为OpenCV的java接口来实现图像处理识别等操作。让博主觉得兴奋的是,书的内容可以跟目前博主的专栏内容,形成互补,因为博主不太研究图像处理方面的技术,大部分opencv图像处理的案例都是来自官方文档和演示案例,所以对图像处理和图像识别感兴趣的同学,可以看看Andrew Davison博士的博客和出版书籍。当然了,只有英文的文档,后面有可能的话,博主会翻译几篇博士的博客上的部分内容。
简单介绍一下TopCode
TopCode是马萨诸塞州梅德福的塔夫茨大学人机交互实验室开发的一个计算机视觉库,该库基于英国剑桥大学的TRIP和Pierre Wellner项目开发的自适应阈值技术,旨在快速轻松地识别和跟踪平坦表面上的有形物体。只需使用TopCode(圆形黑白符号)标记任何物理对象,系统将返回:
ID序号
标记的位置
标签的角度方向
标签直径
。
TopCode 库可以准确识别小至 25 x 25 像素的代码。无需人工校准,图像处理算法可在各种光照条件下工作。核心TopCode库是100%Java(现在有一部分是C++本地接口)。提供了一个额外的库,用于使用Microsoft的DirectShow API(也就是ffmpeg中的dshow)从网络摄像头中获取高分辨率图像。
TopCode项目:http://users.eecs.northwestern.edu/~mhorn/topcodes/
手指跟踪内容
本章介绍如何使用 TopCode 标记实现手指跟踪。目标是使用网络摄像头来跟踪手指运动,将它们用作应用程序内部鼠标移动和按钮按下的等效物(如上所示)。
屏幕截图右侧的网络摄像头图像中显示的手指的移动会导致十字准线图像在左侧面板中移动和更改。
这并没有使用TopCodes提供的所有功能,因此我还将花一些时间解释如何访问和利用这些其他功能。
下载
PDF 文件 (444 KB)。上次更新时间:2013 年 7 月 7 日。
压缩代码 (28 KB)。上次更新时间:2013 年 7 月 7 日。
翻译引自Andrew Davison博士的博客
原文地址:http://fivedots.coe.psu.ac.th/~ad/jg/nui087/index.html
同时,Andrew Davison博客上还有许多关于JavaCV图像处理和图像识别相关的内容,例如:手势识别,眼球识别,指纹识别,动作捕捉等等内容,不一一介绍。
Java开源技术分享:使用TopCode实现手指跟踪相关推荐
- Java开源技术分享交流群
JAVA开源技术分享群 群号:551404618 [Java开源技术分享(群号551404618)][点击链接加入群聊[Java开源技术分享(群号551404618)] [点击链接加入群聊[Java开 ...
- 硬核! 逛了4年Github ,一口气把我收藏的 Java 开源项目分享给你
硬核! 逛了4年Github ,一口气把我收藏的 Java 开源项目分享给你! 原创置顶 SnailClimb在csdn 发布于2019-12-09 13:20:16 阅读数 2856 收藏 展开 ...
- 开源知识管理系统_逛了4年Github,一口气把我收藏的 Java 开源项目分享给你
好像忘记贴项目地址了:github.com/Snailclimb/- Awsome Java Great Java project on Github(Github 上非常棒的 Java 开源项目). ...
- java综合技术分享
1:心跳机制 1.1心跳包机制 跳包之所以叫心跳包是因为:它像心跳一样每隔固定时间发一次,以此来告诉服务器,这个客户端还活着.事实上这是为了保持长连接,至于这个包的内容,是没有什么特别规定的,不过一般 ...
- 硬核! 逛了4年Github ,一口气把我收藏的 Java 开源项目分享给你!
好像忘记贴项目地址了:https://github.com/Snailclimb/awsome-java Awsome Java Great Java project on Github(Github ...
- java foward_Java技术分享:Forward和Redirect的区别
用户向服务器发送了一次HTTP请求,该请求可能会经过多个信息资源处理以后才返回给用户,各个信息资源使用请求转发机制相互转发请求,但是用户是感觉不到请求转发的.根据转发方式的不同,可以区分为直接请求转发 ...
- 开源技术分享:SDN网络浅析与选型
SDN的概念已经流行了很多年了,从一开始的实验室产品到2012年谷歌宣布其主干网络已经全面运行在OpenFlow上,使广域线路的利用率从30%提升到接近饱和.从而证明了OpenFlow不再仅仅是停留在 ...
- 【开源技术分享】无需流媒体服务,让浏览器直接播放rtsp/rtmp的神器:EasyMedia
不同于市面上其他需要各种转发到流媒体服务的中间件来说,EasyMedia不需要依赖任何nginx-rtmp,srs,zlmediakit等等第三方流媒体服务,只需要你有rtsp或者rtmp等等协议的视 ...
- 国内优秀的java开源saas项目分享
国外的优秀开源项目没啥好说的,支持国产,今天重点聊聊国内优秀的 Java 开源项目.在国内开源项目做得最好的莫非于阿里巴巴了,今天特地给大家整理了阿里的 11 个神级项目.最后还有一个 java 全开 ...
最新文章
- 第九次会议(5.14)
- 【Android 返回堆栈管理】打印 Android 中当前运行的 Activity 任务栈信息 | Activity 任务栈信息分析 | Activity 在相同 Stack 中的不同 Task
- kaggle入门竞赛之泰坦尼克事故存活预测(xgboost方法)
- distcc源码研究三
- 阿里巴巴创新研究计划AIR2018正式发布 邀全球学者共创未来
- lua的元表metatable及元方法
- matlab 矢量化,matlab矢量化编程简要
- vector的基本操作简析
- 一步一步搭建mysql_Linux——搭建PHP开发环境第一步:mysql
- 螺旋矩阵c++语言_一起刷 leetcode 之螺旋矩阵(头条和美团真题)
- 诺基亚发布最新研究报告:多角度分析5G服务的投资回报
- 吴恩达机器学习 8.应用机器学习的建议
- 选中菜单 android,Android支持:设计NavigationView选中的菜单子项
- js 不相等 多次随机数_node.js静态\动态服务器
- shell 获取当前日期时间
- Python求水仙花数
- android 烟花动画效果图,android利用图片实现烟花效果
- 制作透明背景的微信头像
- Beyond Compare 激活解决办法
- C# 红色警戒2无限金钱+电力负载 外挂源码示例
热门文章
- sql server 中的数据类型隐式转换
- 指定了无效的 Oracle URL: OracleDataSource.makeURL
- 虚拟现实大作业——VR游乐园之需求分析文档
- calloc()和realloc()的用法详解
- 傅里叶变化与卷积和互相关操作的转换
- 乐山市计算机学校 童杰,乐山市计算机学校教师节慰问活动记
- a是偶数用C语言表示,C语言复习A.doc
- 板式橡胶支座弹性模量怎样计算_板式橡胶支座抗压弹性模量试验分析(详细)
- 2022年湖北省科学技术奖申报指南(申报流程以及认定条件汇总)
- 小程序全局生命周期和页面生命周期