基于svm的手写数字识别程序介绍(matlab)

1、程序界面介绍

       该程序GUI界面包括手写板、手写数字可视化(原图)、对图像进行灰度处理(灰度图)、图像二值化处理(二值化)、图像特征可视化(HOG特征(方向梯度直方图))、识别结果可视化。其中包括训练模型、数字识别。

程序GUI界面

数字3识别结果数字4识别结果

2、程序的使用

2.1 程序的打开

  首先在matlab窗口命令行中,输入“guide”命令,在弹出的对话框中,选择NumberRecog.fig文件并打开,得到数字识别程序界面。

窗口出入命令行fig打开对话框

程序界面示意图

  单击绿色三角即可运行程序

2.2 训练样本制作

     本程序基于支持向量机SVM进行手写数字识别,因此需要事先制作训练样本。本程序提供了利用手写板制作样本的方法。利用手写版,对0、1、2、...、9这10个数字,每个数字制作20个样本数字。具体来说,在手写板上,利用鼠标各写20次数字,并利用“保存图片”按钮,将数字进行保存。如制作样本数字0如下:

手写0样本数字0样本数字保存

       相同数字样本放在同一文件夹下,便于寻找。可以参考如下形式,10个数字分别放在10个文件夹下,并按照一定顺序进行编号,如对样本数字图片,编号为0-1、0-2、0-3、0-4、....。

训练样本存放示例文件夹0中的样本数字
文件夹5中的样本数字文件夹8中的样本数字

      制作完样本数字后,需要制作一个存放样本数字图片的txt文件,如traindata.txt。其中,里面主要存放每个样本数字图片的存放路径。如下图所示:

 ******需要注意的是,下载到自己电脑上后,一定要将traindata.txt中内容,改成图片实际在你电脑上存放的位置,要不然程序报错。********

traindata.txt文本中图片存放位置示意

2.3 训练模型

      在制作好训练数据后,便可以训练模型。点击“训练模型”按钮,打开traindata.txt文件,确定后开始训练模型,模型训练结束后,会弹出“模型训练完成!”的提示,如下图所示。

打开训练样本文件训练完成提示

2.4 识别数字

     在手写板上随意写0-9数字中任意数字,单击“载入”按钮,再单击“数字识别”按钮,最后变可准确识别数字。

     当再写其他数字时,单击“重置”按钮,会将手写版清空,再使用鼠标写数字,再单击“载入”、“数字识别”,即完成数字识别过程。

4、说明

   理论上样本制作的越多,训练的模型精度会更高。若自己想制作更多的训练样本数字训练模型,可以使用写字板最左样本。但是制作完后,需要修改以下地方:

(1)traindata.txt中内容

      traindata.txt是存放每个训练样本图片的路径,因此,需要根据最终制作样本图片进行修改。具体来说,将你制作多的训练样本图片路径,添加进来即可。

(2)m文件修改

在NumberRecog.fig文件中,选择“训练模型”按钮,右击,在弹出选项中选择“callback”。

     对train_label进行修改,修改主要是行数,比如,本人电脑上每个数字样本图片各为20张,因此train_label中0-9中每个数字各为20。

若你增加了训练样本数字,每个数字样本为30,那么你需要将0-9中每个数字各为30,如下形式:

按照上述介绍,根据自己实际情况进行修改即可。

基于matlab的源代码下载链接:https://download.csdn.net/download/qq_32867925/89275750

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

解决Node.js mysql客户端不支持认证协议引发的“ER_NOT_SUPPORTED_AUTH_MODE”问题

这是一个版本问题 我用koa2和mysql2链接就没有问题 不知道这个老项目运行为啥有这个问题 解决方案 打开mysql运行这个两个命令: ALTER USER rootlocalhost IDENTIFIED WITH mysql_native_password BY 123321; FLUSH PRIVILEGES; 须知(给小白看的!) …

Hive Views 视图

Hive Views 视图 在Hive中,视图(Views)是虚拟表,它只包含查询定义,而不包含实际的数据。视图可以简化复杂查询,隐藏数据结构,提供安全性,以及促进数据访问和重用。 创建视图的语法如…

汽车灯罩一般都是用什么材质做的?汽车车灯的灯罩如果破损破裂破洞了要怎么修复?

汽车灯罩一般都是用什么材质做的? 汽车灯罩一般使用的主要材质是聚碳酸酯(PC)和丙烯酸酯(PMMA)这两种塑料。这两种材料具有良好的透明性、耐候性和耐冲击性,因此非常适合用于汽车灯罩的制造。 聚碳酸酯&am…

使用Docker安装MySQL5.7.36

拉取镜像并查看 docker pull mysql:5.7.36拉取成功后查看(非必须) docker images创建并设置宿主机 mysql 配置文件目录和数据文件目录 创建相关文件夹将容器中的mysql数据保存到本地,这样即使容器被删除,数据也不会丢失。 mkd…

销量?模糊销量?精准销量?如何获取淘宝商品销量数据接口

淘宝爬虫商品销量数据采集通常涉及以下几个步骤: 1、确定采集目标:需要明确要采集的商品类别、筛选条件(如天猫、价格区间)、销量和金额等数据。例如,如果您想了解“小鱼零食”的销量和金额,您需要设定好价…

解决3D模型只显示线框材质的方法---模大狮模型网

在3D建模和渲染过程中,正确的材质和纹理是呈现逼真效果的关键。然而,有时候用户可能会遇到一个常见问题,即3D模型在渲染或查看时只显示线框材质,而没有正确的表面纹理和颜色。本文将介绍解决这一问题的几种方法,帮助用…

一文了解CRM系统帮助中心:从认识到搭建

客户关系管理(CRM)系统是企业的一个重要部分。而CRM系统帮助中心为用户提供了便捷的支持服务,提升了用户体验,减少了企业运营成本。本文将从认识到搭建,带你全面了解CRM系统帮助中心。 一、认识CRM系统帮助中心 CRM系统…

网络安全与IP地址的关联

网络安全与IP地址之间存在着密不可分的关系。IP地址作为网络通信的基础,对于网络安全的保障具有至关重要的作用。以下将详细探讨网络安全与IP地址之间的关联,以及IP地址在网络安全中的应用。 一、IP地址与网络安全的关系 IP地址是网络通信的基础&#x…

Facebook之道:探索社交媒体领域的未来

随着科技的不断发展,社交媒体已经成为我们日常生活中不可或缺的一部分。而在这个领域中,Facebook一直是引领者和领头羊。然而,随着时间的推移,社交媒体领域正在发生着翻天覆地的变化,而Facebook又将何去何从&#xff1…

使用 OpenCV 创建视频(74)

返回:OpenCV系列文章目录(持续更新中......) 上一篇:OpenCV 库来捕获和处理视频输入和相似度测量(73) 下一篇 :OpenCV系列文章目录(持续更新中......) 目标 每当您使用视频源时,您最终可能希望将图像处理结果保存为…

【go从入门到精通】go命令使用

作者简介: 高科,先后在 IBM PlatformComputing从事网格计算,淘米网,网易从事游戏服务器开发,拥有丰富的C++,go等语言开发经验,mysql,mongo,redis等数据库,设计模式和网络库开发经验,对战棋类,回合制,moba类页游,手游有丰富的架构设计和开发经验。 (谢谢…

矩阵相关运算1

矩阵运算是线性代数中的一个核心部分,它包含了许多不同类型的操作,可以应用于各种科学和工程问题中。 矩阵加法和减法 矩阵加法和减法需要两个矩阵具有相同的维度。操作是逐元素进行的: CAB or CA−B其中 A,B 和 C 是矩阵,且 C…

第12章 软件测试基础(第三部分)测试类型、测试工具

七、测试类型(按工程阶段划分) 单集系确收 (一)单元测试 1、单元测试/模块测试 单元就是软件中最小单位(或模块)。可以是一个函数、一个过程、一个类。主要依据是模块的详细设计文档。价值在于尽早发现…

2024年全域电商矩阵109节线上课

《24年全域电商矩阵109节线上课》是一门全面介绍电子商务领域的课程。从电子商务的基本概念到全球电子商务趋势,再到电子商务的营销策略和实际操作技巧,本课程涵盖了丰富多样的主题。学员将通过109节在线课程系统全面了解电子商务,并获得在这…

如何安全可控地进行内外网跨网络传输文件?

跨网络传输文件通常指的是在不同的网络环境之间移动数据,这在现代企业运营中非常常见。随着网络技术的高速发展,为了有效地保护内部的核心数据资产,企业一般会采用内外网隔离的策略。在进行内外网跨网络传输文件时,需要考虑多种因…

全国各地区劳动力流动、外出务工劳动力数、总劳动力数(2006-2021年)

01、数据简介 劳动力流动是指劳动力在不同地区、行业、职业、岗位之间的流动。它是劳动力市场运行的重要特征,也是实现劳动力资源优化配置的必要条件。劳动力流动可以促进劳动力资源的优化配置,提高劳动生产率和经济效益。据名称:全国各地区…

初始C++(一)

目录 前言: 命名空间: 总结: 前言: C语言学好了,现在当然要进阶了,那么就是从C开始。 C兼容C,支持其中90%的语法。可能有很多同学听说过C#,C#和C没有关系,是微软研究出…

SD-WAN对云服务的优化

在云服务日益普及的当下,SD-WAN技术正成为众多企业优化网络连接的首选方案。其通过优化云集成和连接,以及增强应用程序性能,为企业带来了前所未有的业务效益。这种革新性的云连接方式极大地促进了企业对全球劳动力和潜在客户的触达能力。 软件…

Java中Maven的依赖管理

依赖介绍 是指当前项目运行所需要的jar包&#xff0c;一个项目中可以引入多个依赖 配置 在pom.xml中编写<dependencies>标签 在<dependencies>中使用<dependency>引入标签 定义坐标的groupId、rtifactId、version 点击刷新按钮、引入新坐标 例如引入下…

git bash各分支修改内容不同但合并后不显示冲突问题

在跟着廖雪峰老师的git学习时&#xff0c;按部就班的执行明后&#xff0c;发现 而不是出现原文的结果 解决方法&#xff1a; 切换位feature分支&#xff0c;再合并 git switch feature1 git merge master 此时我们发现&#xff1a; 后面再跟着原文敲就可以了