Java开源技术分享:使用TopCode实现手指跟踪
Posted eguid_1
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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实现手指跟踪的主要内容,如果未能解决你的问题,请参考以下文章
Github 榜首 Java 代码优化:77 案例 +28 技巧开源分享