Android | 一个很糙的字母手势识别方案

最近需要一个字母手势识别功能,字母 C 的识别,因为 C 简单又饱满。可是在网上也没找到什么特别好的库,倒是看了不少关于 GestureDetector 的介绍,单击双击滑动滚动,上上下下、左左右右、BABA的。

不过还是不知道怎么识别字母手势哈,可能最近脑子不灵光了。脑子不灵光,挖坟还是挺在行的 -- 给我挖到一个「2008」年歪果仁写的不是那么精准的方案,整理并分享之。

远古的气息~

哦,对了,这个方案很糙,但也相对简单,且有一定的参考性。08 年的原贴链接见「阅读原文」。我自己在研究的过程中找到了一个新的方向,会更强大和精准, 正在研究。计划下一篇会写一写。有兴趣的话,关注以防走丢。

咱们继续。

总结了下这个「糙」方案的整体思想,很简单:先存储后识别。这个思路留意下,后面文章会再提到。

存储 - 预先准备工作:

1、预先将用户手势分为4个方向,上(U)下(D)左(L)右(R),并实现上下左右监听的功能。

2、“一次按下 + 中间滑动 + 一次抬起“ = 一次手势 = 一次识别。抬起时会有「手势结束」事件,并返回此次形成的手势字符串。

3、收集数据:基于1,2,一笔划写出一个字母,然后记录其手势字符串,比如"C"就是“LDR”。并以HashMap键值对的方式存储使用:mLetters.put("LDR", "C")。

识别 - 正式使用:你想要C,那就将返回的手势字符串和事先存储在 HashMap中的键值对作遍历对比。

经过试验,C的识别率挺高的。这也满足了我的需求。同时,I、J、L、N

M、W、O等正常顺序一笔完成的也很高。

至于其他字母,由于有的大写字母实在一笔划都无法完成,比如A,B等,原贴作者 MrSnowflake 对此类用了小写的方式识别。但这也失去了「字母手势识别」的意义。故此不推荐。

但是,这份代码里,可以学习的有两点:

1、方便的上下左右手势判断,已经集成到一个手势类 SnowGesture 中。简单集成即可实现上下左右的手势监听。

2、简单识别思路:事先存储然后对比识别。即使目前 4 个方向、一个笔画的实现很糙,那如果是 8 个方向并且可以多笔画呢?这个方向是正确的,之后更精准的方案,本质也是这个思路。另一个我能想到的完全不同的思路是:OCR识别。

原文发布于微信公众号 - 猿湿Xoong(skypeng-funny)

原文发表时间:2018-06-19

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Java Web

秋招提前批小结(CVTE一面挂、阿里三面挂)

1.自我介绍 2.有没有做过JavaWeb相关的项目?你觉得难点在哪里呢? 3.你这个博客系统有没有加权限系统?如果被拦截封包获取了账号密码怎么办?(没加,...

2201
来自专栏noteless

6.计算机语言的发展 编程语言发展 编程语言类型 为什么会有编程语言 编程语言什么作用 机器语言 高级语言分类 编程语言历史 编程语言有哪些 编程语言编年史

随后,开始用与代码指令实际含义相近的英文缩写词、字母和数字等符号来替代描述指令代码

971
来自专栏域名资讯

好域名被秒!8yy.com域名一口价19.5万元

所谓3杂,狭义上来说,是指字母与数字结合的,不包含后缀,长度为3位的域名。广义一点,3位扁担米,中英结合或中数结合的IDN域名,都可归纳为3杂。在...

1560
来自专栏钱曙光的专栏

一周极客热文:十步完全理解SQL

很多程序员视 SQL 为洪水猛兽。SQL 是一种为数不多的声明性语言,它的运行方式完全不同于我们所熟知的命令行语言、面向对象的程序语言、甚至是函数语言(尽管有些...

1928
来自专栏C/C++基础

编程语言分类

从1946年世界第一台计算机ENIAC诞生至今,计算机从早期的军事计算领域,已经渗透到人类生产和社会发展的各个领域。从政府机构到企业部门、从军事领域到民用行业、...

2443
来自专栏北京马哥教育

R、Python、Scala 和 Java,到底该使用哪一种大数据编程语言?

当你找到大数据项目,你首先会怎么做?确定这个项目的问题领域,确定这个项目的基础设施,在往上,确定项目的框架,选择最适合用来处理当前数据的所有内容。这个时候唯一摆...

3285
来自专栏喔家ArchiSelf

IOT语义交互性之词汇定义

只是限于能力有限,却始终没有什么建树。如今,区块链的出现可能会解决可信的问题。接下来闲暇的时候,需要好好学习一下。安全对于任何互联网应用都是及其重要。无所不在指...

1044
来自专栏云飞学编程

Python大神讲给那些基础不怎么牢固的同学的一节课:字符串精讲!

推荐下小编的Python学习群5421107414,不管你是小白还是大牛,小编我都欢迎,不定期分享干货,包括小编自己整理的一份2018最新的Python和0基础...

1011
来自专栏web编程技术分享

小兔JS教程(一) -- 环境搭建与JavaScript初探1.开发环境搭建2.JavaScript初探

3388
来自专栏ImportSource

程序员求生秘籍

不过即使是假新闻,也着实把人们吓得够呛。为此,我试图理了十个实用动作给大家保平安。

1274

扫码关注云+社区