优秀的IC/FPGA开源项目(六)-手语字母翻译器

news2024/9/21 22:47:48

242d2c151bc8480c5b64c4273e77a349.png

《优秀的IC/FPGA开源项目》是新开的系列,旨在介绍单一项目,会比《优秀的 Verilog/FPGA开源项目》内容介绍更加详细,包括但不限于综合、上板测试等。两者相辅相成,互补互充~


一种智能手套,可将手语字母翻译成带显示器的书面字母。

绪论

在这个项目中,我们的主要目的是开发一款智能手套,帮助使用手语的人在日常生活中轻松交流。

学习手语是一个要求很高的过程。因此,许多健康人并不了解这个过程。在这款智能手套的帮助下,那些健康的人将能够理解那些使用手语的人。智能手套还可以用作想要学习手语的健康人的模拟器。

这个项目主要涉及到模拟字母,字母是语言的基石。在这个项目中,我们使用 FPGA 来实现将手势模拟为视觉字母的算法。检测手势是通过手指上的柔性传感器测量出手的形状。vga监视器用于直观显示FPGA中转换为字母的手势。

a3c5bb1dcba8670063c8947d6275b8ac.png 941e8c1c1fc4a44499d890d7996a7517.png 74671261bcd0e31cfb5dfeb1571f4f5c.png 6ae0c2a2d19fa9af28d33a322167cd15.png

上三图说明了 VGA 控制器产生的时序信号。控制器包含两个计数器。一个计数器在像素时钟上递增并控制 h_sync(水平同步)信号的时序。通过将其设置为显示时间从计数器值 0 开始,计数器值在显示时间内等于像素的列坐标。水平显示时间之后是消隐时间,消隐时间包括水平前沿、水平同步脉冲本身和水平后沿,每个都有指定的持续时间。在行的末尾,计数器重置以开始下一行。v_sync 计数器在垂直轴内应用相同的操作。

使用这些计数器,VGA 控制器输出水平同步、垂直同步、显示启用和像素坐标信号。每个 VGA 模式的同步脉冲被指定为正极性或负极性。

aef7e60caa31d89f562260033920406e.png

我们首先创建随机图像并使用 RGB 信号改变它们的颜色,如上图所示。

429a2c72201d32b9604d26fe52c76663.png

要在屏幕上显示文本或字符串,有一个众所周知的 Font Rom Map -上图 - 包括所有 ASCII 字符(每个字符为 8x16 位)。通过使用 Font Rom,我们的代码现在能够在显示器上书写文本或字母,如下图所示 。

1b5179a5bbd248dddbbd6cd1bab89710.png

为了转换来自柔性传感器的模拟数据,我们使用了ADC-每通道具有 12 位分辨率。由于 4 个手指足以执行大多数手语字母,因此一个 4 通道ADC就足够了。

232799d7ceb5a8fab20a684f7a384c2b.png

ADC的通信的逻辑如下图所示。

d5ea91683e62ab40277f52804e8a8c06.png 71256f3732ff78557ebdd85cbec625a0.png

作为总结,项目的架构如下图所示。

b13ee238176f9ffc63301a4382af32c4.png 3402433b18447dbb0cd9fe52e7222e1c.png 9ce393375f44446121d665d1a5689922.png

作为参考手语,我们使用了ASL,它具有下图中的手势。

4ca3e167c0ca3feabc02534efc457df5.png f9a7e3a4081bd2ec81453a099ca2c539.png

现在执行工程就可以识别到上图中标记的字母。

工程链接:

https://github.com/umuttoksoy/10ISTK---Sign-Language-Translator

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/377717.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【分享】订阅集简云畅捷通T+cloud连接器自动同步财务费用单至畅捷通

方案场景 伴随公司发展和数字化水平提高,大量的财务单据需要手动审核和录入,这些重复机械的操作占据大量人力,同时极容易出现数据出错或丢失等情况,严重影响着企业经营效率。 使用集简云提供服务的畅捷通TCloud钉钉连接器完成财…

UML 类关系(详解)——依赖、关联、聚合、组合、泛化

概述 在学习面向对象设计时,类关系涉及依赖、关联、聚合、组合和泛化(继承)这五种关系,耦合度依次递增。关于耦合度,可以简单地理解为当一个类发生变更时,对其他类造成的影响程度,影响越小则耦…

电子发票打印工具 v2023.02.27 免费的PDF发票打印软件

电子发票打印工具一款PDF发票打印辅助软件,因为单位有很多电子发票需要打印,每次打印都要用reader阅读器打开,选打印,选份数,选纸张,选纸盒,当然,有些发票有清单页的,以上步骤请再重复一遍。多张发票请重复N遍,忍了多年,终于决心开发一款方便用于打印PDF发票的辅助工…

源码numpy笔记

参考文章 numpy学习 numpy中的浅复制和深复制的详细用法 numpy中的np.where torch.gather() Numpy的核心数据结构,就叫做array就是数组,array对象可以是一维数组,也可以是多维数组 array本身的属性 shape:返回一个元组&#xf…

【数据库增删查改进阶版】保姆级教程带大家去学习更加复杂的sql语句,各种各样的约束以及各种各样的查询

前言: 大家好,我是良辰丫🍅🍅🍅,上一篇数据库我们一起学习了基础版本的增删查改,今天我们将接触更高级的增删查改,主要是学习一些约束条件,你们准备好了嘛?开…

华为OD机试题,用 Java 解【流水线】问题

最近更新的博客 华为OD机试题,用 Java 解【停车场车辆统计】问题华为OD机试题,用 Java 解【字符串变换最小字符串】问题华为OD机试题,用 Java 解【计算最大乘积】问题华为OD机试题,用 Java 解【DNA 序列】问题华为OD机试 - 组成最大数(Java) | 机试题算法思路 【2023】使…

LearnOpenGL-入门-8.坐标系统

本人刚学OpenGL不久且自学,文中定有代码、术语等错误,欢迎指正 我写的项目地址:https://github.com/liujianjie/LearnOpenGLProject LearnOpenGL中文官网:https://learnopengl-cn.github.io/ 文章目录坐标系统概述局部空间世界空…

干货收藏|医疗数据安全、临床业务容灾、智能运维及数字化转型方案集锦

数智赋能,助力医院高质量发展!历时三天的2022中华医院信息网络大会(CHINC)圆满落下帷幕,美创科技赴五年之约,与医疗行业用户朋友在深圳再聚交流,也带来关于“医疗行业数据安全、数字化转型”的新…

【再临数据结构】Day1. 稀疏数组

前言 这不单单是稀疏数组的开始,也是我重学数据结构的开始。因此,在开始说稀疏数组的具体内容之前,我想先说一下作为一个有着十余年“学龄”的学生,所一直沿用的一个学习方法:3W法。我认为,只有掌握了正确的…

react的严格模式 和 解决react useEffect执行两次

useEffect执行两次 这个问题,主要是刚接触react的时候发的问题,当时也没总结。现在回过头来再总结一次!!! 文章目录useEffect执行两次前言一、为什么useEffect执行两次1.React的严格模式(模版创建项目&…

Hadoop综合案例 - 聊天软件数据

目录1、聊天软件数据分析案例需求2、基于Hive数仓实现需求开发2.1 建库2.2 建表2.3 加载数据2.4 ETL数据清洗2.5 需求指标统计---都很简单3、FineBI实现可视化报表3.1 FineBI介绍3.2 FineBI配置数据3.3 构建可视化报表1、聊天软件数据分析案例需求 MR速度慢—引入hive 背景&a…

深度剖析指针(中)——“C”

各位CSDN的uu们你们好呀,今天小雅兰的内容仍旧是深度剖析指针噢,在上一篇博客中,我已经写过了字符指针、数组指针、指针数组、数组传参和指针传参的知识点,那么这篇博客小雅兰会讲解一下函数指针、函数指针数组 、指向函数指针数组…

【Spark分布式内存计算框架——Spark Streaming】8. Direct 方式集成底层原理 集成Kafka 0.10.x

Direct 方式集成底层原理 SparkStreaming集成Kafka采用Direct方式消费数据,如下三个方面优势: 第一、简单的并行度(Simplified Parallelism) 读取topics的总的分区数目 每批次RDD中分区数目;topic中每个分区数据 被…

布局三八女王节,巧借小红书数据分析工具成功引爆618

对于小红书“她”经济来说,没有比三八节更好的阵地了。伴随三八女王节逐渐临近,各大品牌蓄势待发,这场开春后第一个S级大促活动,看看品牌方们可以做什么? 洞察流量,把握节点营销时机 搜索小红书2023年的三…

学员作品|微博“绿洲”APP产品分析

一产品架构1. 产品功能架构图绿洲的主要功能模块可以拆分为六部分:首页、发现、发布动态、个人中心、水滴、消息。整体功能架构图如下:2. 用户使用路径图用于浏览动态:用于发布动态:新用户引导路径:二市场分析1. 产品定…

【Linux】Linux中gcc/g++的使用

本期主题:程序的编译过程和gcc/g的使用博客主页:小峰同学分享小编的在Linux中学习到的知识和遇到的问题小编的能力有限,出现错误希望大家不吝赐🍁 1.背景知识 预处理(进行宏替换,去注释,头文件的…

索引、索引失效、索引的存储

文章目录1.索引种类2.创建索引注意点3.索引失效的情况4.为什么索引使用B树存储(1)如果使用数组来存储索引(2)如果使用二叉查找树来存储索引(3)如果使用平衡二叉查找树来存储索引(4)如…

同为(TOWE)防雷产品助力福建移动南平分公司防雷改造

01 公司简介中国移动通信集团福建有限公司南平分公司属于福建移动地级分公司,所属行业为电信、广播电视和卫星传输服务。现已建成覆盖范围广、业务品种多、通信质量高的综合通信网络,具备行业领先的经营管理制度。移动通信大楼的综合防雷及地接系统&…

第八节 构造器和this关键字、封装

构造器的作用 定义在类中的,可以用于初始化一个类的对象,并返回对象的地址。 构造器的注意事项 1.任何类定义出来,默认就自带了无参数构造器,写不写都有。 2.一旦定义了有参数构造器,那么无参数构造器就没有了&#xf…

互联网人看一看,这些神器你用过哪些?

很多小伙伴在剪辑视频的过程中经常可以看到一些语音素材,经常刷视频的小伙伴也可以看到很多视频中经常出现一些AI合成的声音或者音效,这些配音可以给视频增添很多亮点!那么大家都是怎么将文字转语音的呢?今天给大家分享5款非常专业…