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

news2024/12/24 20:13:46

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

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

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

相关文章

Python专题:三、数字和运算(1)

目录 一、Python中的数字和数值类型 二、整数进制的几种表示方式 三、变量 一、Python中的数字和数值类型 1、int 整数 如6,7,-1,0,42 2、float 浮点数 1.0,-2.2 3、complex 复数 11j,12j 4、type()查看数据类型 class 类 int 型 5…

推荐5个AI工具平替GPT

随着AI技术的快速发展,AI写作正成为创作的新风口。但是面对GPT-4这样的国际巨头,国内很多小伙伴往往望而却步,究其原因,就是它的使用门槛高,还有成本的考量。 不过,随着GPT技术的火热,国内也涌…

一个好用的短链接都需要具备哪些功能?

大家好,今天我们将会来聊聊一款优秀的短链接,都需要具备的功能,看看是不是你想要的呢? 1. 能够支持自定义域名 现在越来越多的用户都不会选择公用域名了,因为那样风险太大,而会选择用一个他们自己的专用域…

任务管理系统是什么?功能、特点、价值分析

任务管理系统是一种高效的项目管理工具,旨在帮助团队或个人有效组织、分配和追踪任务进度。它具有任务规划和分配、进度追踪、以及团队协作等功能。不仅确保每个成员都能明确自己的任务职责,管理者也能实时掌握项目整体进度。通过任务管理系统&#xff0…

【LeetCode算法】242. 有效的字母异位词

提示:此文章仅作为本人记录日常学习使用,若有存在错误或者不严谨得地方欢迎指正。 文章目录 一、题目二、思路三、解决方案 一、题目 给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。 注意:若 s 和 t 中每…

如何描述自己的算法?

算法的表达 好的,让我们来一起探讨如何向别人介绍我们的算法。说话很简单,但要把话说清楚,说明白就不那么容易了。同样的道理,能够通俗易懂,直观清晰和严谨地描述一个算法,也是一项具有挑战性的任务。接下…

Spring Gateway的核心功能:路由、过滤、限流一网打尽

Spring Gateway的简介 在微服务架构的世界里,如同繁星点点的服务需要一个指挥家,将它们有序地组织起来,让它们能够和谐地协同工作。这个指挥家,就是Spring Gateway。它是一个基于Spring Framework 5、Project Reactor和Spring Bo…

气膜体育馆可容纳多大的范围?—轻空间

气膜体育馆是一种创新的建筑形式,其可容纳的范围因其特殊的结构设计而具有灵活性和广泛性。那么,气膜体育馆到底可以容纳多大的范围呢? 首先,气膜体育馆的设计和建造通常可以根据场地的需求进行量身定制。由于气膜结构不需要钢结构…

轻松搞定!png格式图片怎么弄?详细方法一网打尽

在数字图像处理的日常应用中,PNG格式因其高质量的图像和支持透明背景的特性而备受青睐。然而,对于一些刚刚接触这一格式的用户,或者在处理PNG图片时遇到一些挑战的用户来说,如何轻松而有效地处理这种格式的图像可能是个问题。png格…

档案数字化电子文件检测工具

在档案数字化的过程中,需要注意扫描的电子文件属性和质量是否符合要求。nhdeep电子文件属性检测工具,支持对图片、pdf和ofd文件,显示文件的基本属性:文件类型、文件大小、创建时间;采集文件的分辨率、图片颜色、图片的…

element-plus el-cascader 懒加载实现-省市区街道选择及回显

大概思路: 准备一个接口可以通过父Id,查询到下一级省市区街道的信息;如下方的getRegionListOne确定后端的数据结构,需要在created里边处理数据回显逻辑el-cascader接收的数据格式是[‘’,‘’,‘’];后端的数据格式多为[{provinceId: ‘’, …

邮件群发系统的效率怎么样?如何评估性能?

邮件群发系统的使用方法?邮件群发工具的关键功能? 邮件群发系统已成为企业、组织及个人进行信息沟通的重要工具。然而,当我们谈论邮件群发系统的效率时,我们需要从多个维度来全面分析和评估。AokSend就来介绍一下。 邮件群发系统…

(图论)最短路问题合集(包含C,C++,Java,Python,Go)

不存在负权边: 1.朴素dijkstra算法 原题: 思路:(依然是贪心的思想) 1.初始化距离:dis[1]0,dis[i]INF(正无穷) 2.循环n次: 找到当前不在s中的dis最小的点&…

实现左上角的固定视口但是网格以图片中心放大缩小

仅仅修改了showbk() 函数部分,增加bkv4 直接采样,然后粘贴到左上角,实现多余部分裁剪,形成视口内放大缩小 // 程序:2D RPG 地图编辑器与摄像机追随 // 作者:bilibili 民用级脑的研发…

nestjs版若依全栈管理后台完全开源!

hello,大家好,我是徐小夕。之前和大家分享了很多可视化,零代码和前端工程化的最佳实践,今天继续和大家分享一下我们小伙伴开源的基于 nestjs 的若依全栈管理系统。 相信前端小伙伴对若依管理系统并不陌生,它的后端采用…

短视频矩阵系统源码saas开发--可视化剪辑、矩阵托管、多功能合一开发

短视频矩阵系统源码saas开发(可视化剪辑、矩阵托管、智能私信聚合、线索转化、数据看板、seo关键词、子账号等多个板块开发) 短视频矩阵系统是一种集成了多种功能的系统,旨在帮助用户在短视频平台上进行高效的内容创作、管理和发布。根据您提…

Mysql 基础 order by ,as ,limit,case,asc、desc

order by 、as 、limit 、asc(ascending 正序 默认) desc(descending 倒序) SELECT 学号, 姓名, 成绩, CASEWHEN 成绩 > 90 THEN 优秀WHEN 成绩 > 80 THEN 良好WHEN 成绩 > 60 THEN 及格ELSE 不及格 END as 成绩级别 FRO…

一些js的基础

五大主流浏览器 内核 IE trident chrome webkit blink safari webkit firefox gecko opera presto ECMA European Computer Manufactures Association 欧洲计算机制造联合会 评估、开发 认可电信、计算机标准 ECMA-262 脚本语言的规范 ECMAScript 编程语言 1、编译型 翻译…

Android bootchart 分析启动性能工具使用

bootchart简介 bootchart 可为整个系统提供所有进程的 CPU 和 I/O 负载细分。该工具不需要重建系统映像,可以用作进入 systrace 之前的快速健全性检查。 1. 板端配置: 在Android 板端启用 bootchart,请运行以下命令: 2. Bootch…

Java 【数据结构】 TreeSetTreeMap(二叉搜索树详解)【神装】

登神长阶 第八神装 TreeSet 第九神装 TreeMap 目录 💉 一.二叉搜索树 🩸1. 定义 💊2. 基本操作 🩹3. 插入操作 🩼4. 查找操作 🩺5. 删除操作* 🩻6. 遍历操作 🪒7.性能分析 …