LabVIEW通过嘴唇图像识别为残疾人士开发文本输入系统

news2025/3/13 19:21:08

LabVIEW通过嘴唇图像识别为残疾人士开发文本输入系统

近年来,计算机已经成为现代人日常生活中的一种信息器具。人们可以使用计算机来处理复杂的文件,获取新信息并在线购物等。但是,上面讲的使用电脑的所有好处对普通人来说都很方便,残疾人总是无法享受电脑的现代生活。

许多残疾人辅助设备都是逐案设计的,如眼控鼠标、头控鼠标、使用单按钮的摩尔斯电码文本输入系统等。虽然这些辅助设备可以为使用计算机提供禁用的通信接口,但有一个共同的缺陷,即用户必须佩戴某种辅助设备的附件。该缺陷可能会引起残疾人的不适,他们通常长期继续使用这些辅助设备。

为了解决上述问题,设计了一种利用数字图像处理技术开发的辅助器件系统。使用辅助设备系统时,无需佩戴任何类型的附件。实现一个面部跟踪系统,根据嘴唇在脸上的相对位置执行嘴唇图像提取。嘴张或闭嘴的状态可以通过图像上上唇和下唇之间的相应垂直距离来识别。一旦检测到口开或闭嘴的状态,分别表示逻辑“1”或“0”,数据将通过并行端口接口传输到摩尔斯电码文本输入系统。应用图像识别技术检测嘴巴张开或闭嘴的状态,以取代我们系统中的机械按钮。此外,文本输入系统包括PS2键盘接口和RS232鼠标接口来连接PC。因此,可以达到使用嘴唇图像识别来控制计算机的目的。对于残疾人来说,使用图像识别系统来控制计算机会更加方便和舒适。

人脸跟踪是预处理捕获图像的一个非常重要的步骤。准确提取嘴唇图像对于进一步的嘴唇识别是必要的。必须找到一种实时面部跟踪算法,该算法始终可以在捕获的图像序列中定位面部。

人脸跟踪算法包括两个步骤:人脸检测和人脸验证。前一个过程将 RGB 类型的图像传输到 HSL 类型的图像。 此过程还减少了光强度变化的影响。接下来,使用HSL型图像的色相和饱和度信息进行阈值运算,以获得图像序列中的肤色范围。最后,使用了一些形态学操作,即侵蚀、扩张和凸壳来获得最大的肤色范围。面部跟踪的后一个过程包括确定执行面部验证的最大肤色范围。在此阶段,在最大肤色范围内与预定义的嘴唇图像图案进行了模式匹配操作。如果嘴唇图像区域在最大肤色范围内找到,则意味着此最大肤色范围是面部。相反,则意味着范围不是人脸,并且将放弃面部跟踪。

根据嘴唇在一系列图像中的相对位置来执行嘴唇图像提取,必须提前确定面部区域。面部和CCD相机之间的距离是可变的,因此应更改图像中皮肤颜色的最大范围。为了克服这个问题,按比例定义嘴唇范围的相对位置,以肤色的最大面积的宽度来分配嘴唇面积。

在嘴唇范围的提取和分配过程后获得完整的嘴唇图像。定义并提取张开或闭上嘴时上唇和下唇之间区域的轮廓。通过测量上唇和下唇之间的深黑色范围的方法,以识别张嘴或闭嘴的状态。

首先,对嘴唇图像中的肤色范围和深黑色范围进行ROB多阈值运算,然后可以得到两个二进制图像,即二值化。接下来,对显示肤色区域的二进制图像执行反向操作。最后,对显示肤色区域的二值图像和显示深黑色区域的二值图像执行逻辑AND运算,然后可以明显地获得上唇和下唇之间的深黑色区域。

当获得上唇和下唇之间深黑色区域的轮廓时,可以识别嘴巴张开或闭嘴的状态。定义三条直线来观察灰度的变化。然后,记录两个端点之间的相对距离,代表与深黑色区域轮廓相交的每条直线的边缘点。接下来,设置三个距离阈值。当每条直线上两个端点之间的相对距离分别大于相应的预定义阈值时,嘴巴将被识别为嘴张开状态。另一方面,嘴巴将被承认为嘴闭的状态。

一旦获得了张嘴或闭嘴的信息,可以将这些信息传输到摩尔斯电码文本输入系统,以在PC上执行文本输入的功能。

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

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

相关文章

React05-样式隔离

一、样式隔离方案 css 的样式是全局样式,在书写react组件时,如果写了相同的样式类名,很容易造成样式污染。 在 vue 中,vue 官方提供了样式隔离方法,在组件代码中的 style 标签中加入 scoped,可以让这部分…

Python案例分析|使用Python图像处理库Pillow处理图像文件

本案例通过使用Python图像处理库Pillow,帮助大家进一步了解Python的基本概念:模块、对象、方法和函数的使用 使用Python语言解决实际问题时,往往需要使用由第三方开发的开源Python软件库。 本案例使用图像处理库Pillow中的模块、对象来处理…

Java中的JDBC编程(数据库系列6)

目录 前言: 1.什么是Java的JDBC编程 2.JDBC的数据库驱动包的导入过程 3.JDBC代码的编写 3.1创建并初始化一个数据源 3.2和数据库服务器建立连接 3.3构造SQL语句 3.4执行SQL语句 3.5释放必要的资源 3.6整体代码的展示及演示 3.7代码的优化 3.8 查询操作的…

「深度学习之优化算法」(十四)麻雀搜索算法

1. 麻雀搜索算法简介 (以下描述,均不是学术用语,仅供大家快乐的阅读)   麻雀搜索算法(sparrow search algorithm)是根据麻雀觅食并逃避捕食者的行为而提出的群智能优化算法。提出时间是2020年,相关的论文和研究还比较少,有可能还有一些正在发表中,受疫情影响需要论…

关于学习过程中的小点

nfev : 函数求值次数njev : Jacobian 评估的数量nit :算法的迭代次数 permute(dims)#维度转换 torch.split #[按块大小拆分张量] Pytorch.view Pytorch中使用view()函数对张量进行重构维度,类似于resize()、reshape()。用法如下:view(参数a,参数b,...)&a…

Nacos1.4.2单机与集群的安装部署

CentOS 部署Nacos1.4.2 下载 nacos 下载链接:https://github.com/alibaba/nacos/tags 如何选择我们下载的 nocas 版本? 查看 Spring Cloud Alibaba 与 nacos 版本对应关系:SpringCloudAlibaba 组件对应关系说明 本项目使用 nacos 1.4.2 …

Python(十七)数据类型转换——str()函数和int()函数

❤️ 专栏简介:本专栏记录了我个人从零开始学习Python编程的过程。在这个专栏中,我将分享我在学习Python的过程中的学习笔记、学习路线以及各个知识点。 ☀️ 专栏适用人群 :本专栏适用于希望学习Python编程的初学者和有一定编程基础的人。无…

2023年上半年:C#、Python和一些实用语言

文章目录 C#Pythonerlang和exilirfortranR语言 最近半年的开发任务主要集中在C#和Python上,所以博客内容也几乎围绕这两个部分,偶尔会穿插一些其他语言。下面就对2023年上半年的博客做一个总结。 C# 主要用C#写了一个文本阅读器,提供生成目…

学C的第二十八天【字符串函数和内存函数的介绍(一)】

相关代码gitee自取:C语言学习日记: 加油努力 (gitee.com) 接上期: 学C的第二十七天【指针的进阶(三)】_高高的胖子的博客-CSDN博客 前言: (1). C语言中对于字符和字符串的处理很是频繁&…

linux驱动开发:驱动开发框架,linux内核字符设备驱动开发过程

一、驱动框架 1.Linux内核模块和字符驱动的关系 模块是Linux进行组建管理的一种方式, 结构体:对设备的管理内核需要抽象出来一个结构体来描述设备所有的共性信息写驱动需要申请一个结构体并赋值(初始化),然后注册给内核让内核统一管理 驱动:由内核统一管理,所以驱动…

NUXT3学习笔记2

1、配置Ant design Vue (两个安装方式随便选一种,yarn会安装的更快) npm i ant-design-vue --save yarn add ant-design-vue 2、使⽤的 Vite,你可以使⽤ unplugin-vue-components 来进⾏按需加载。 yarn add unplugin-vue-components --save 在nuxt.…

设计模式——享元模式

享元模式 定义 享元模式(Flyweight Pattern)是池技术的重要实现方式。 使用共享对象可以有效地支持大量的细粒度对象。 优缺点、应用场景 优点 可以大大减少应用程序创建对象的数量,降低程序内存占用。 缺点 提高了系统的复杂度&…

5分钟上手IP代理服务

一 IP代理服务 在网上找了一个性价比高的IP代理服务,一个IP地址1分钱。 二 API协议 调用方式为http协议,响应数据格式支持JSON和txt,都是比较常用的方式。 三 源码范例 包括一些主流的编程语言,一分钟上手。 我用的python比较…

【Redis应用】查看附近(五)

🚗Redis应用学习第五站~ 🚩本文已收录至专栏:Redis技术学习 查看附近的XXX在我们的实际应用中非常广泛,能支持该功能的技术有很多,而在我们的Redis中主要依靠GEO数据结构来实现该功能! 一.GEO用法引入 GE…

问题解决:win10连接手机热点总是频繁自动断开

问题描述:尝试解决 问题解决:win10连接手机热点总是频繁自动断开 问题描述: 在使用win10笔记本电脑连接手机热点上网时,是不是的网络自动就断掉了,而且重新连上后,用着用着又断了, 这就让人有点恼火了, 尝试解决 重启电脑与手机 以前没出现过而现在有这种情况,可能是电脑或手机…

Spark复习笔记

文章目录 Spark在Hadoop高可用模式下读写HDFS运行流程构成组件作业参数RDD机制的理解算子map与mapPartition区别Repartition和Coalesce区别reduceBykey 与 groupByKeyreduceByKey、foldByKey、aggregateByKey、combineByKey区别cogroup rdd 实现原理宽窄依赖为什么要划分stage如…

Elasticsearch:语义搜索、知识图和向量数据库概述

结合对你自己的私有数据执行语义搜索的概述 什么是语义搜索? 语义搜索是一种使用自然语言处理算法来理解单词和短语的含义和上下文以提供更准确的搜索结果的搜索技术。 这种方法基于这样的想法:搜索引擎不仅应该匹配查询中的关键字,还应该尝…

LINUX命令:update-alternatives(软件版本管理工具)

前言   在基于 LINUX 操作系统之上安装所需开发环境组件时,可能会遇到无可避免的场景是:同一个组件,我们需要同时使用到两个或者更多的版本,比如 Java 有 1.6、1.7、1.8 等多版本,又比如 Python 有 2、3 等等&#x…

「2024」预备研究生mem-数学强化-整数、因数与倍数

一、整数、因数与倍数 二、带余除数 三、奇数与偶数 四、不定方程

Nature子刊-柔性薄膜上3D电极的直接激光写入

美国俄勒冈大学研究员设计了一种集成在柔性薄膜上的3D微电极阵列,其制造过程结合了传统的硅薄膜处理技术和双光子光刻在微米分辨率下的3D结构的直接激光书写技术,首次提出了一种产生高深宽比结构的方法。 发表在《自然通讯》杂志上的这项研究&#xff0c…