OpenCV-手势语言识别

news2024/9/22 15:43:50

OpenCV-手势语言识别

  • OpenCV-手势语言识别
    • Python环境、TensorFlow环境
    • 设置直方图
    • 模型保存
    • set_hand_hist.py相关代码如下:
    • 载入手势图片

OpenCV-手势语言识别

本部分包括Python环境、TensorFlow环境和OpenCV-Python环境。

Python环境、TensorFlow环境

需要Python 3.6及以上配置,在Windows环境下推荐下载Anaconda完成Python所需的配置,下载地址为:https://www.anaconda.com/,也可以下载虚拟机在Linux环境下运行代码。
打开Anaconda Prompt,输入清华仓库镜像,输入命令:
conda config–add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config–set show_channel_urls yes
创建Python 3.5的环境,名称为TensorFlow,此时Python版本和后面TensorFlow的版本有匹配问题,此步选择Python 3.x,输入命令:
conda create-n tensorflow python=3.5
有需要确认的地方,都输入y。
在Anaconda Prompt中激活TensorFlow环境,输入命令: activate tensorflow
安装CPU版本的TensorFlow,输入命令:
pip install-upgrade–ignore-installed tensorflow
安装完毕。

设置直方图

定义模型结构及损失函数后,需要对模型进行训练,使其具有服装图像分类的能力。经过训练的模型需要测试,以评估模型的训练效果。根据训练和测试的效果进行参数的调整后,保存模型。设定训练集batch_size=50,则每训练50张图片后进行一次迭代,根据损失函数前向传播,完成参数更新。输入命令python set_hand_hist.py运行Python文件,出现弹窗Set hand histogram。设置直方图具有50个正方形(5×10)。将手放在其中,确保遮盖所有正方形。按下C键,出现Thresh窗口,具有皮肤颜色图像部分的白色补丁会出现在Thresh窗口中。获得良好的直方图后,按下S键保存图像,然后关闭所有窗口,如图在这里插入图片描述

模型保存

在模型训练过程中,同时保存模型当前已训练周期数、权重、损失函数、优化算法,便于在训练终止后从当前进度恢复训练,并同时保存每个周期的损失值和正确率,以方便数据可视化。

set_hand_hist.py相关代码如下:

该应用分两部分:一是网页端交互功能,用户可以上传需要分类的图片并查看分类结果;二是图片预处理,将图片转换为PyTorch能够处理的格式并输入模型中,获取图片分类结果。
获得用户上传的图片并输入至模型获得对应的分类,将标签和图片写入数据库中。为了提高数据库的稳定性,采用bulk_create()方法批量写入数据,避免每写入一条数据就需要调用和关闭数据库的烦琐操作。在这里插入图片描述

在这里插入图片描述

载入手势图片

加载26个字母和10个数字的每个手势以及包含2400张图像的数据集,通过Python实现,相关代码如下:
在这里插入图片描述

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

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

相关文章

Spring Boot-入门、热部署、配置文件、静态资源

Spring Boot Spring Boot概述 一、微服务概述 1、微服务 微服务(Microservices)是一种软件架构风格。微服务是以专注单一责任与功能的小型功能区块 (Small Building Blocks)为基础;利用模块化的方式组合出复杂的大…

DockerImage镜像版本说明

参考文章 1、https://medium.com/swlh/alpine-slim-stretch-buster-jessie-bullseye-bookworm-what-are-the-differences-in-docker-62171ed4531d 2、https://stackoverflow.com/questions/52083380/in-docker-image-names-what-is-the-difference-between-alpine-jessie-stret…

顺序表 和 链表 的区别

顺序表 基于数组 就是对数组进行相关的操作 进行存储数据 数组有个很大的缺点就是 可能会产生内存浪费 针对数组这一缺点 就产生了链表 链表顾名思义 就是像链条一样将数据串起来 链表是将内存中的小空间利用起来 让内存的利用率提高 但是也产生了很大的缺点 就是不能随…

数据通信基础 - 差错控制(奇偶校验、海明码、CRC循环冗余校验码)

文章目录 1 概述1.1 检错和纠错1.2 差错控制原理 2 差错控制的方法2.1 奇偶校验2.2 海明码2.3 CRC循环冗余校验码 3 扩展3.1 网工软考真题 1 概述 1.1 检错和纠错 无论通信系统如何可靠,都不能做到完美无缺。因此,必须考虑怎样发现和纠正信号传输中的差…

【实用教程】教你制作好看的论文区位图

区位图是反映目标区所在位置和与周边地区自然、经济相互作用关系的体现区位的地图。好的区位图能为论文打好专业的基调,给读者留下更好观感,是科研论文不可或缺的一部分。 层次:面向国际期刊的区位图一定要从国际角度出发,清楚表示…

第一性原理差分电荷密度计算能得到什么数据?

第一性原理差分电荷密度(DFT)计算是一种用于计算分子和材料结构的计算化学方法。它基于物理学原理和量子力学理论,通过解决薛定谔方程来计算电子在分子和材料结构中的行为。DFT是一种非常重要的计算方法,因为它可以提供关于分子和…

自媒体必备素材库,免费、商用,赶紧马住~

自媒体经常需要用到各类素材,本期就给大家安利6个自媒体必备的素材网站,免费、付费、商用都有,建议收藏起来~ 1、菜鸟图库 https://www.sucai999.com/video.html?vNTYwNDUx 菜鸟图库可以找到设计、办公、图片、视频、音频等各种素材。视频素…

托福高频真词List03 // 附阅读真题

目录 4月23日单词 4月23日真题 4月23日单词 adjacentneighboringnearbyadj 毗邻的dependablereliableadj 可靠的 chronology a list that pairs past events with dates n 年表remarkably closeextremely close极为接近competenceabilityn 才能supplementadd tov 补充supplem…

Linux_红帽8学习笔记分享_6

Linux_红帽8学习笔记分享_6 文章目录 Linux_红帽8学习笔记分享_61. RPM软件包的使用技巧1.1如何查询指定软件包是否安装1.2如何删除指定软件包1.3如何安装指定软件包1.5依赖关系 2. YUM软件仓库的配置及使用2.1修改YUM软件仓库的配置文件 3.YUM常见命令使用技巧3.1查询指定软件…

Django框架之创建项目、应用并配置数据库

django3.0框架创建项目、应用并配置数据库 创建项目 进入命令行 新建一个全英文的目录 进入目录 输入命令 django-admin startproject project 项目目录层级 查看当前目录层级 tree /f 目录文件说明 创建数据库 做一个学生管理系统做演示,使用navicat创建数据…

【LPC55s69】使用FAL分区管理与easyflash变量管理

文章目录 1.FAL组件1.1什么是FAL1.2 使用ENV配置FAL1.3 FAL SFUD 移植1.4 FAL SFUD 测试用例1.5 测试结果 2.DFS文件系统2.1 什么是DFS2.2 DFS架构2.3 使用ENV配置DFS2.4 DFS挂载到FAL分区测试2.5 测试结果 3.Easyflash移植到FAL分区3.1 简述EasyFlash3.2EasyFlash软件包使用3.…

Docker的数据管理(dockerfile等)

文章目录 一、管理docker容器中数据1、 数据卷2、数据卷容器 二、容器互联(使用centos镜像)三、Docker 镜像创建1、基于现有镜像创建2、基于本地模板创建3、基于Dockerfile创建 四、Dockerfile操作常用的指令:五、Dockeerfile案例 一、管理docker容器中数…

HNU数据结构与算法分析-小班7

HNU数据结构与算法分析-小班7

【Python】可视化KITTI激光雷达点云绘制立体框

前言 最近在复现PointRCNN论文过程中发现没有可视化代码,于是查找资料找到了: pointRCNN 结果可视化——tiatiatiatia 按照参考链接下载代码【轮子库】并可视化成功了 mayavi库的学习 主要是利用了mlab模块: Mayavi2 旨在提供一个简单…

隐私计算商业化,原语科技的开源路线是否最优解?

2023年2月,《数字中国建设整体布局规划》出台,首次对我国数字中国建设提出了宏观规划。其中,尤为值得关注的是隐私计算领域。 隐私计算能够实现数据的所有权和使用权分离,可以在保护个人数据隐私安全的基础上,推动数字…

《Linux0.11源码解读》理解(一) 从开机到加载bootsec

计算机启动时, 内存(RAM)没有任何东西, 自然也无法跑操作系统. 但是可以执行固化在ROM里面的BIOS程序. 在按下电源键的一刻. CPU的cs和ip寄存器硬件被设置为0xf000和0xfff0, 于是cs:ip也就指向0xffff0这个地址, 而这个地址正是指向了ROM的BIOS范围(这里是0xfe000~0xfffff, 20根…

Zuul源码解析(二)

Zuul 的自动配置 ZuulProxyAutoConfiguration 如何触发 如上图,在 spring.factory 中配置 ZuulProxyAutoConfiguration 自动配置了,直接点进去 如上图所示,发现这有个条件注解,需要有 org.springframework.cloud.netflix.zuul.Zu…

Kubernetes 核心对象

Kubernetes 中的所有内容都被抽象为“资源”,如 Pod、Service、Node 等都是资源。“对象”就是“资源”的实例,是持久化的实体。Kubernetes 使用这些实体去表示整个集群的状态。它们主要描述了如下信息: 哪些容器化应用正在运行(…

ObjectARX中的坐标系以及坐标转换

1 AutoCAD中的坐标系种类 WCS World Coordinate System. The “reference” coordinate system. All other coordinate systems are defined relative to the WCS, which never changes. Values measured relative to the WCS are stable across changes to other coordinate s…

Nginx之正则表达式、location匹配简介以及rewrite重写

引言 在Nginx已经成为很多公司作为前端反向代理服务器的首选,在实际工作中往往会遇到很多跳转(重写URL)的需求。比如更换域名后需要保持旧的域名能跳转到新的域名上、某网页发生改变需要跳转到新的页面、网站防盗链等等需求。如果在后端使用的Apache服务器&#xff…