手写数字识别的图像预处理GUI设计

合集下载

手写识别器的设计与制作

手写识别器的设计与制作

手写识别器的设计与制作手写识别器是一种将人类手写文字转换为数字化形式的技术工具。

它能够通过识别手写文字的形状、笔画以及笔迹等特征,将其转化为计算机可以处理的数据形式。

在实际应用中,手写识别器被广泛应用于银行、邮政、教育等领域,例如银行支票识别、快递单号识别以及表格填写等。

1. 数据采集:我们需要收集大量的手写样本数据集,包括不同人群、不同字体、不同书写习惯等。

数据采集可以通过请人手写、搜索公开的手写数据集或者使用写字板等方式进行。

2. 数据预处理:在进行手写识别之前,需要对收集到的手写样本数据进行预处理。

预处理包括图像的灰度化、二值化、噪声去除等操作,以获得更好的图像质量。

3. 特征提取:在进行手写识别时,我们需要将图像数据转化为计算机可以处理的特征表示。

常用的手写特征包括笔画的方向、角度、长度以及笔画结束的位置等。

4. 特征选择:在特征提取之后,我们需要对提取到的特征进行选择,选择对于手写识别具有重要意义的特征。

特征选择可以通过统计分析、降维算法等方法进行。

5. 模式分类:在选择好特征后,我们需要设计识别算法将图像与已知类别进行比较,以确定其所属类别。

常用的分类算法包括支持向量机、朴素贝叶斯、深度学习等。

6. 模型训练与测试:在手写识别器的设计过程中,我们需要使用已标注的手写样本数据集进行模型的训练。

训练过程可以通过迭代优化等方法进行,以使模型能够更好地拟合手写样本数据。

训练完成后,需要使用未参与训练的手写样本进行测试,以评估模型的性能。

7. 性能评估与优化:在进行手写识别器的设计与制作时,我们需要对其性能进行评估与优化。

常用的性能评估指标包括准确率、召回率、精确度等。

如果性能指标不满足需求,我们可以通过增加训练样本、调整参数、使用更复杂的模型等方式进行优化。

手写识别器的设计与制作是一个复杂的过程,需要经过数据采集、数据预处理、特征提取、特征选择、模式分类、模型训练与测试等多个步骤。

在实际应用中,我们需要根据具体需求进行适当的调整与优化,以实现更准确、高效的手写识别。

手写识别实验课程设计

手写识别实验课程设计

手写识别实验课程设计一、课程目标知识目标:1. 学生能理解手写识别的基本原理和算法流程;2. 学生能掌握手写识别中的特征提取和分类方法;3. 学生了解手写识别技术在生活中的应用及其价值。

技能目标:1. 学生能运用所学的特征提取方法对手写文字进行数字化处理;2. 学生能运用分类算法对手写文字进行识别,并评估识别效果;3. 学生能通过实验分析不同算法在手写识别中的优缺点。

情感态度价值观目标:1. 学生培养对手写识别技术的兴趣,激发学习热情;2. 学生认识到人工智能技术在生活中的重要性,提高对科技创新的认识;3. 学生通过实验,培养团队协作和解决问题的能力,增强自信心。

课程性质:本课程为实践性课程,结合理论知识与实际操作,培养学生的动手能力和创新能力。

学生特点:初三学生,具备一定的计算机基础和编程能力,对新鲜事物充满好奇。

教学要求:结合学生特点,注重理论与实践相结合,提高学生的实际操作能力和问题解决能力。

通过分解课程目标为具体学习成果,使学生在实验过程中逐步达成目标,为后续教学设计和评估提供依据。

二、教学内容1. 理论知识:- 手写识别的基本原理和常见算法介绍;- 特征提取方法,如HOG(方向梯度直方图)和LBP(局部二值模式);- 分类算法,如支持向量机(SVM)、神经网络和K近邻算法。

2. 实践操作:- 手写文字数据集的准备与预处理;- 特征提取和数字化处理的具体实现;- 分类算法的应用与识别效果评估;- 实验报告撰写,总结实验过程和结果。

3. 教学大纲:- 第一阶段:手写识别原理及算法介绍(1课时)- 第二阶段:特征提取方法学习与应用(2课时)- 第三阶段:分类算法学习与识别实验(2课时)- 第四阶段:实验总结与成果展示(1课时)4. 教材章节:- 《信息技术》第九章:人工智能及其应用- 《计算机视觉基础》第三章:图像特征提取与匹配- 《模式识别》第四章:分类算法及其应用教学内容安排和进度根据课程目标和学生的实际操作能力进行制定,确保学生能系统地掌握手写识别技术相关知识,为实际应用打下基础。

手写数字识别原理

手写数字识别原理

手写数字识别原理手写数字识别是指通过计算机对人工手写的数字进行自动识别的技术。

它在现实生活中有广泛的应用,例如邮政编码识别、银行支票处理、手写签名识别等。

手写数字识别的原理主要包括以下几个步骤:图像预处理、特征提取、分类器训练和测试。

图像预处理是对手写数字图像进行一系列的预处理操作,以便提高后续的特征提取和分类效果。

其中包括图像灰度化、二值化、去噪等操作。

灰度化将彩色图像转化为灰度图像,简化了图像处理的复杂度。

二值化将灰度图像转化为二值图像,将图像中的数字与背景分离出来。

去噪操作能够减少图像中的噪声干扰,提高数字的清晰度。

特征提取是指从预处理后的图像中提取出能够代表数字特征的信息。

常用的特征提取方法包括垂直投影法、水平投影法和网格法等。

垂直投影法是将图像按列进行投影,统计每一列中非空像素的个数,得到的投影曲线能够反映出数字的垂直分布情况。

水平投影法则是将图像按行进行投影,统计每一行中非空像素的个数,得到的投影曲线能够反映出数字的水平分布情况。

网格法则是将图像划分为若干个小网格,统计每个网格中非空像素的个数,得到的网格特征能够反映出数字的局部形状。

接下来,分类器训练是指通过将提取的特征输入到分类器中进行训练,以便建立数字与特征之间的映射关系。

常用的分类器包括支持向量机(SVM)、人工神经网络(ANN)和决策树等。

支持向量机是一种常用的二分类器,通过构建超平面将不同类别的样本分开。

人工神经网络是一种模拟人脑神经元工作原理的数学模型,通过训练神经元之间的连接权重实现数字的分类。

决策树则是一种基于特征值进行判断的分类方法,通过构建一系列判断节点来实现数字的分类。

通过对分类器进行测试,可以对新的手写数字进行识别。

测试时,将预处理和特征提取步骤应用于待识别的手写数字图像,然后将提取到的特征输入到已经训练好的分类器中,通过分类器的判断结果可以得到手写数字的识别结果。

总结起来,手写数字识别的原理是通过对手写数字图像进行预处理、特征提取和分类器训练,然后通过测试将新的手写数字图像输入到分类器中进行识别。

手写识别器的设计与制作

手写识别器的设计与制作

手写识别器的设计与制作
手写识别器是一种能够将手写字体转换为数字或文本的设备或软件。

它广泛应用于银行、学校、邮政以及各种手写输入设备中。

1. 数据采集:首先需要采集足够数量的手写样本作为训练数据。

可以通过请志愿者写字或挑选现有的手写字体样本进行采集。

要保证采集的数据具有多样性和代表性。

2. 数据预处理:采集到的手写样本可能存在噪声、斜倾和不一致等问题。

需要进行数据预处理来清洗和标准化数据。

这包括去除噪声、调整图像的大小和方向,以及对图像进行灰度化处理。

3. 特征提取:提取图像的特征是手写识别的关键步骤。

常用的特征提取方法有灰度共生矩阵、方向梯度直方图等。

这些特征可以反映手写字的纹理和形状。

4. 训练模型:使用特征矩阵和对应的标签数据来训练手写识别模型。

常见的机器学习算法包括支持向量机、神经网络和随机森林。

通过不断迭代和调整参数,优化模型的准确性和性能。

5. 测试和评估:使用另外一组手写字体样本测试已经训练好的模型。

评估模型的性能指标,如准确率、召回率和F1值等。

对模型进行调整和优化,提高识别准确性。

6. 集成和部署:将训练好的手写识别模型集成到实际应用中。

可以通过API接口、嵌入式设备或移动应用等方式进行部署。

手写识别器的设计与制作需要经过数据采集、预处理、特征提取、模型训练、测试评估、集成部署等步骤。

每一步都需要仔细设计和调整,以提高识别准确性和性能。

随着技术的不断发展,手写识别器有望在更多领域发挥重要作用。

基于MATLAB GUI图像处理系统的设计与实现

基于MATLAB GUI图像处理系统的设计与实现

基于MATLAB GUI图像处理系统的设计与实现MATLAB是一种常用的数学计算软件,可以进行科学计算、工程分析、数据分析、数据可视化等工作,而GUI(图形用户界面)则是一种以图形的形式呈现程序中的控件和信息的工具,能够方便用户进行操作和交互。

本文主要介绍基于MATLAB GUI图像处理系统的设计与实现。

1. GUI界面设计GUI界面设计要考虑美观与实用性,并根据图像处理的需要来设计控件和布局。

在本系统中,主要包括以下控件:1.1 菜单栏和工具栏菜单栏和工具栏是常用的程序界面设计元素,可以方便地打开和保存文件,进行图像处理操作。

菜单栏中包含“文件”、“编辑”、“操作”等选项,工具栏中包含“打开”、“保存”、“旋转”、“放大”、“缩小”等常用图像处理工具。

1.2 显示面板显示面板用于显示处理后的图像或原始图像。

在本系统中,显示面板包括原始图像、处理后图像和处理结果图像,用户可以对图像进行比较、观察和分析。

控制面板包含图像处理的参数和参数调节控件。

在本系统中,包括图像旋转角度、图像缩放比例、图像亮度调节、图像对比度调节、图像阈值等参数。

用户可以根据图像的实际情况和需求进行参数调节,以达到最优的处理效果。

2. 图像处理算法实现图像处理算法是图像处理系统的核心部分,对图像的处理效果和速度有着重要的影响。

在本系统中,主要包括以下算法:2.1 图像旋转图像旋转是通过旋转矩阵来实现的,MATLAB中提供了角度旋转和仿射变换两种方法。

在本系统中,旋转角度由用户自行调节。

对于超出图像界限的部分,可以通过图像插值方法进行处理,常用的方法有双线性插值、最邻近插值、双三次插值等。

2.3 图像亮度调节图像亮度调节是通过调整每个像素点的RGB值来实现的,可以通过分别调节红、绿、蓝三种颜色通道来调整整个图像的颜色。

在本系统中,提供了滑动条和控制按钮来实现对图像亮度的调节。

图像对比度调节是通过调整每个像素点的离均差来实现的。

具体地,对于每一个像素点i,其新的RGB值为(C[i]-m)*(127/f)+128,其中C是原始像素值,m是像素均值,f是最大离均差值。

手写数字识别原理(一)

手写数字识别原理(一)

手写数字识别原理(一)手写数字识别原理解析1. 引言手写数字识别是一项经典的机器学习任务,其目标是通过计算机算法将手写的数字图像转换成对应的数字。

该技术在邮政编码识别、银行支票处理等领域有着广泛的应用。

本文将从浅入深,分析手写数字识别的相关原理。

2. 数据预处理在进行手写数字识别之前,我们首先需要对输入的图像进行预处理。

常见的预处理方法包括: - 图像灰度化:将彩色图像转化为灰度图像,减少处理的复杂性。

- 图像二值化:将灰度图像转化为黑白图像,便于提取特征。

- 图像平滑化:采用滤波器对图像进行平滑处理,去除噪声。

3. 特征提取特征提取是手写数字识别的关键步骤,通过提取有效的特征可以更好地描述图像。

常用的特征提取方法有: - 形状描述符:根据图像的形状进行特征提取,如轮廓面积、周长等。

- 纹理特征:通过分析图像的纹理信息来描述特征,如灰度共生矩阵、小波变换等。

- 直方图特征:将图像像素值的分布情况作为特征,如灰度直方图、颜色直方图等。

4. 分类模型为了将手写数字图像映射到对应的数字,我们需要训练一个分类模型。

常用的分类模型包括: - 支持向量机(SVM):通过构建超平面实现分类。

- 决策树:按照特征的不同取值划分样本,构建树形结构。

- 人工神经网络:通过多个神经元的连接实现分类。

5. 模型训练与评估模型训练是指通过已有的手写数字图像数据集对分类模型进行训练,使其能够泛化到未见过的图像。

模型评估是指使用独立于训练集的测试数据对训练好的模型进行性能评估。

常用的评估指标有: - 准确率:分类正确的样本数量占总样本数量的比例。

- 精确率:被分类器正确分类为正例的样本数量占被分类器分类为正例的样本总数的比例。

- 召回率:被分类器正确分类为正例的样本数量占真实正例的样本总数的比例。

6. 深度学习方法近年来,深度学习方法在手写数字识别领域取得了显著的成果。

深度学习模型如卷积神经网络(CNN)通过多层卷积与池化层对图像进行特征提取,再通过全连接层进行分类。

基于图像处理的手写体识别算法

基于图像处理的手写体识别算法随着数字化时代的到来,文化交流和信息传递更加便捷,写字已经不再是最常见的沟通方式。

但在某些领域,如个人日记、手写信件和文物研究等,手写文本依然具有举足轻重的地位。

为此,手写体识别技术应运而生,而基于图像处理的手写体识别算法便是其中一种。

手写体识别算法可以将手写的文本自动转换成电子文字,免去了找人识别或耗费大量时间手动输入的过程。

它的实现过程主要包含三个步骤:图像预处理、特征提取和分类识别。

以下将详细分析这三个步骤。

图像预处理首先需要对手写体图像进行预处理,以便更好地进行后续的特征提取。

图像预处理的内容主要包括灰度化、二值化和去噪等。

灰度化是将手写文本图像转化为灰度图像,在颜色空间中将图像从RGB转换为灰度。

这一过程可以简化图像,减少特征量,也可防止干扰数据产生误差。

二值化是将手写文本图像转换成黑白图像,方便进行后续的特征提取。

二值化分为全局二值化和局部二值化,全局二值化适用于亮度一致的图像,而局部二值化则适用于光照不均的图像。

去噪是为了消除图像中的干扰信号,提高识别的准确率。

去噪处理可以通过中值滤波、高斯滤波等方式来实现。

特征提取经过图像预处理后,就需要进行特征提取,将原图像中的特征值提取出来,并作为后续分类器的输入。

特征值应既能够包含足够的信息量,也应减少干扰数据的影响,提高识别准确度。

常用的特征提取方法有梯度方向直方图(HOG)、局部二值模式特征(LBP)和灰度共生矩阵(GLCM)等。

HOG特征是通过统计图像中各个像素点的梯度方向直方图构成的。

这个特征可以描述物体的边缘和角度,且抗干扰能力强。

LBP特征是通过计算像素点周围8个像素与该像素的大小比较,根据像素的大小关系编码成二进制数字,构成了新图像。

根据新图像中像素灰度值的分布情况,来将新图像编码为特征向量。

GLCM特征是建立在灰度共生矩阵基础之上的。

灰度共生矩阵主要是统计了图像中每个灰度级别间的距离为d的像素对出现的概率分布。

手写识别器的设计与制作

手写识别器的设计与制作手写识别器是一种能够将手写文字转换为可识别的文本的系统。

它可以应用于各种场景,如手写输入法、手写签名识别、手写数字识别等。

设计和制作一个手写识别器可以分为以下几个步骤:1. 数据收集:为了训练识别器,我们需要收集大量的手写样本数据。

可以通过请人手写一些文字、数字或者使用现有的手写数据集来获取样本数据。

2. 数据预处理:手写样本数据需要经过预处理才能用于训练识别器。

通常,我们需要将手写样本图像转换为数字矩阵,灰度化处理,并进行一些图像增强操作,如模糊、二值化等。

3. 特征提取:提取样本图像中的特征可以帮助识别器更好地理解并区分手写文字。

通常我们可以使用一些特征提取算法,如SIFT、HOG等。

这些算法可以从图像中提取出关键点、边缘、纹理等信息。

4. 模型选择和训练:选择适当的模型可以帮助我们更好地进行手写文字识别。

常用的模型包括神经网络、支持向量机(SVM)等。

选择好模型后,我们需要使用训练数据对模型进行训练,调整模型参数,使其能够更准确地识别手写文字。

5. 模型评估和优化:在训练过程中,我们需要使用测试集对模型进行评估,计算模型的准确率、召回率等指标。

根据评估结果,我们可以对模型进行优化,调整参数,改进训练算法等。

6. 部署和应用:在识别器训练完成后,我们需要将其部署到实际的应用环境中。

可以使用识别器对手写文字进行识别,输出可识别的文本结果。

根据应用需求,我们还可以集成该手写识别器到其他系统中,如手写输入法、签名验证系统等。

为了提高手写识别器的准确率和鲁棒性,还可以采取以下一些措施:1. 增加样本数据量:收集更多的手写样本数据可以帮助识别器更好地学习手写文字的特征,并提高准确率。

2. 数据增强:通过对手写样本图像进行一些变换操作,如旋转、缩放、平移等,可以增加样本数据的多样性,提高识别器的鲁棒性。

3. 多模型融合:使用多个模型组合的方式可以提高手写识别器的准确率。

可以采用集成学习的方法,如投票算法、堆叠模型等。

基于图像识别的手写数字识别技术研究

基于图像识别的手写数字识别技术研究随着科技的飞速发展,图像识别技术已经被广泛应用于人们的日常生活中。

其中,手写数字识别技术是图像识别领域的重要应用之一。

本文将对基于图像识别的手写数字识别技术进行研究和探讨。

一、手写数字识别技术的应用手写数字识别技术的应用范围非常广泛,它可以用于自动识别银行卡号码、识别信件上的邮编、自动识别票据上的数字等。

此外,在智能手机、平板电脑等设备中也常常使用手写数字识别技术,帮助用户更方便地输入数据。

在数字化时代,手写数字识别技术的重要性不断提升。

它可以使得数据采集更为高效,帮助企业、政府等机构更好地管理数据。

二、手写数字识别技术的基本原理在数字图像处理领域,手写数字识别技术通常采用模式识别算法进行处理。

模式识别算法主要包括特征提取和分类两个部分。

首先,手写数字的图像是分析手写数字的基础。

我们需要将手写数字的图像进行预处理,包括图像灰度化、二值化、滤波等操作。

接下来,我们需要提取出手写数字图像的特征。

手写数字有很多不同的特征,如形状、线条宽度等。

特征提取是将这些特征从图像中提取出来的过程。

可用的特征提取方法包括像素点数量、图像边缘、形态学处理等。

最后,我们需要对提取出来的数字特征进行分类。

分类算法一般可以采用支持向量机、k近邻等机器学习算法进行实现。

三、手写数字识别技术的研究现状手写数字识别技术在图像识别领域已经有很长的历史。

随着计算机和人工智能技术的不断发展,手写数字识别技术也得到了不断改善和提升。

目前,手写数字识别技术在精度和速度方面已经取得了很大的进步。

相关研究通过深度学习、神经网络等方法,实现了手写数字识别技术在不同场景下的优化。

同时,目前的手写数字识别技术已经应用于银行、邮政等领域,并取得了很好的效果。

四、手写数字识别技术的发展前景随着数据化发展的深入和人工智能技术的快速前进,手写数字识别技术的应用领域会不断拓展。

未来,手写数字识别技术可能会在金融、邮政、医疗等更多领域得到应用,进一步提高数据处理的效率和精度。

基于SVM的手写数字识别系统设计

基于SVM的手写数字识别系统设计手写数字识别系统是一项重要的人工智能技术,广泛应用于各个领域,如自动化邮件分类、银行支票处理、手写数字输入等。

本文将介绍一种基于支持向量机(SVM)的手写数字识别系统设计。

【引言】手写数字识别是一个经典的模式分类问题,目标是将手写数字图像准确地分为0~9十个类别。

SVM作为一种强大的分类器,常用于解决这类模式分类问题。

本文将探讨如何使用SVM构建一个高效、准确的手写数字识别系统。

【数据集获取与预处理】要构建一个有效的手写数字识别系统,首先需要一个适用的数据集来训练和测试模型。

常用的数据集是MNIST手写数字数据库。

此外,还需要对数据集进行预处理,包括图像二值化、尺寸归一化等操作,以提高分类器的准确性和鲁棒性。

【特征提取与表示】在训练SVM模型之前,需要对手写数字图像进行特征提取和表示。

常用的特征提取方法有灰度共生矩阵(GLCM)、图像梯度等。

通过提取图像的特征,可以将复杂的图像信息转化为机器学习算法能够处理的向量形式。

【SVM分类器的训练与优化】SVM是一种监督学习算法,通过寻找最优的超平面将不同类别的样本分开。

在手写数字识别中,我们可以使用多类别的SVM来实现对0~9十个类别的分类。

训练时,需要选择合适的SVM核函数,并对模型参数进行调优以达到最佳性能。

【手写数字识别系统的实现】本文采用Python编程语言,使用机器学习库scikit-learn来实现基于SVM的手写数字识别系统。

首先,导入所需的库和数据集。

然后,对数据集进行预处理,包括尺寸归一化、图像二值化等。

接下来,使用SVM算法进行特征提取和分类器的训练。

最后,通过对输入图像进行预测,实现手写数字的自动识别。

【实验结果与讨论】为了评估所设计的手写数字识别系统的性能,可以使用交叉验证等方法进行模型评估。

根据实验结果,可以调整系统参数或进行算法优化,以提高识别准确率。

实验结果表明,基于SVM的手写数字识别系统在MNIST数据集上可达到较高的准确率和鲁棒性。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第5卷第1期 2015年2月 

智能计算机与应用 

INTELLIGENT COMPUTER AND APPLICATIONS Vo】.5 No.1 

Feb.2015 

手写数字识别的图像预处理GUI设计 张光建 (1 I!!tlll建筑职业技术学院信息工程系,I ̄tJll德阳618000;2 l ̄t JII建筑职业技术学院智能计算研究所,[]111德阳618000) 

摘 要:在手写数字识别中,对采集的数字图像必须预先进行预处理,再进行识别研究。使用MATLAB的GUI创建图形化的操 作与显示界面进行预处理,能减少研究人员反复修改代码的重复工作,并能直接显示预处理后数字图像,能对比各种算法处理的 效果,以确定最佳算法及方式,达到高识别率目标。 关键词:模式识别;手写数字识别;图像处理;MATLAB GUI 中图分类号:TPI81 文献标识码:A 文章编号:2095—2163(2015)0l一0098—03 GUI Design of Digital Image Pertreatment for Handwritten Numeral Recognition ZHANG GuangjianI. (1 Information Engineering Department,Sichuan CoHege of Architectural Technology,Deyang Sichuan 618000,China; 2 Institute ofIntelligent Computing,Sichuan College ofArchitecture Technology,Deyang Sichuan 618000,China) Abstract:In handwritten numeral recognition,the digital image acquisition must be pretreated,and then to carry out iden。 tify research.The paper creates graphics using MATLAB GUI operation and display interface for pretreatment。SO repetitive work of the researchers can be reduced to repeatedly modify the code,and can directly display the digital image pretreat・ ment,which can compares the treatment effect of Various algorithms,therefore determine the best algorithm and the way. So the target of high recognition rate is achieved. Key words:Pattern Recognition;Handwritten Numeral Recognition;Image Processing;MATLAB GU1 

0 引 言 手写体数字识别(Handwritten Numeral Recognition)是光 学字符识别技术(Optical Character Recognition,简称OCR)的 

一个分支。主要研究利用计算机自动辨认人手写在纸张上 或电子设备的10个阿拉伯数字。写在纸张上的称为脱机手 写(of—line),写在电子设备上的称为联机手写(on— line)u J。手写数字识别的研究有很强的实际应用价值,如在 大规模的数据统计(如:行业年检、人中普查等)、账务、税务、 金融领域等。而在邮件的自动分拣中,手写数字识别与光学 条码识别和人工辅助识别等手段相结合,即可协同完成邮政 编码的阅读。 联机手写的数字识别已应用于实际,但脱机手写的研究 成果还不是很好,虽然手写数字识别只有0—9十个数字,共 10个符号,笔画的结构与书写较为简单,但困难在于同一个 数字写法各个不同,不同的人对同一个数字写法不一样,同 一个人在不同时候写相同的数字所得数字样式也可能不同, 而且书写的数字在一般应用范围内也没有上下文的关联。 脱机手写一般写在纸质载体上,需要先期用图像进行采集, 因而对数字符号的图像的预处理将直接影响到数字识别率 高低。 图形用户界面(Graphical User Interface,简称GUI,又称 图形用户接口)(2 3是指采用图形方式显示的计算机操作用户 

界面。与早期计算机使用的命令行界面相比,图形界面对于 用户来说在视觉上更易于接受,而且极大地方便了非专业用 户的使用。因为不再需要死记硬背大量的命令,只是通过窗 口、菜单、按键等方式即可方便地进行各类操作。并且,嵌入 式GUI具有轻型、占用资源少、高性能、高可靠性、便于移植、 可配置等特点。 脱机手写数字识别中需要对原始的数字图像进行先期 预处理,但是使用不同的处理方法(或算法),却会对后期数 字识别率产生直接影响。研究已知,数字识别是一种实验性 科学,因此可以通过实践对实验进行一些有利尝试,只要这 些设计尝试不会影响一般性前提并且是合理的,那么这种处 理就是可行的。比如,对数字图像二值化就可以采用:整体 阈值二值化、局部阈值二值化、动态阈值二值化、利用空间信 息阈值二值化等,具体在预处理时,则可根据采样样本选择 最佳的二值化处理。 使用MATLAB的M文件也能测试各种处理效果,但研 究人员却要反复修改程序代码。使用MATLAB的GUI 。 , 在数字图像预处理中,各步骤中均可应用现有的各种处理方 法(或算法),同时借助操作简单的图像化数字图像工具,如 此即可为手写数字识别的研究人员减少研究中的重复工作, 并且直观比较各种算法处理完成的结果和效果,而研究人员 只需将重点集中专注于识别算法的研究方面。本文就是针 对GUI设计的完整过程给出详细论述。 1 GUI设计 1.1启动MATLAB的GUI 在MATLAB的命令窗口中,键入guide命令,启动 

收稿日期:2015—01—19 作者简介:张光建(1978一),女,四川简阳人,硕士,讲师,主要研究方向:模式识别、人工神经网络、人工智能等。 ・1OO・ 智能计算机与应用 第5卷 处理。灰度图是R、G、B三个分量相同的一种特殊的彩色图 像。二值化的图像源要求是灰度图,为此第一步就需要对采 样、且导入的数学图像进行灰度化处理。按钮的返回代码可 展示实现如下: B=rgb2gray(A);%默认算法处理 axes(handles.axes1),imshow(B); 2.3 二值化(Binariation) 把灰度图像处理成二值(0,1)图像的过程,即可称之为 二值化。对灰度图像二值化能显著减小数据存储的容量,并 降低后续处理的复杂性。按钮的返回代码可做如下呈现,其 中阈值参数由子菜单的弹出窗口输入。 C=im2bw(B);%默认二值化,如果需要可使用选择结 构进行参数获取 axes(handles.axes2),imshow(C); 2.4分割 分割是把多行或多个字符图像中的显式字符从整个图 像中切割出来成为单个字符。对于单个字符的图像也可以 分割数字,并将多余的空白区域切割掉,从而减少存储空间, 也利于后期的快速处理。数字字符分割算法包括:投影法、 气泡法、投影一气泡法等。这里默认使用的是单数字符号的 边缘进行分割,如此则可减少数字符号的存储量,同时剪切 掉多余的空白区域。按钮的返回代码可完整表示如下: function pushbutton6一Callback(hObject,eventdata,han— 

dles) global C D; I3=C(:,:,1); [r,c]=find(I3:=I); il=min(r); i2=max(r); i3=min(C); i4=max(c); D=imcrop(I3,[i3 il i4一i3 i2一il]); axes(handles.axes3),imshow(D); 2.5归一化 因为原始图像在位置、形状等方面都存在很大的差异, 所以需要进行归一化处理。处理后,使所有样本均具有相同 的大小和形状,便于后续特征提取和识别。归一化可以按位 置或大小进行操作。按钮的返回代码具体实现如下: global D D1; D1:imresize(D,[28 28]);%默认大小归一化,可以获 取位置参数进行位置归一化 %图像放大100倍显示 

axes(handles.axes4),imshow(D1); 3软件生成 制作GUI可执行文件,生成EXE文件,使其在Windows 平台下,没有安装MATLAB软件的情况下直接运行,即可脱 离Matlab环境的执行程序。这里需要使用MATLAB自带的 Lcc编译器来完成。制作步骤:在命令窗I:1输入>>mbuild —setup,选择编辑器,创建exe文件;将创建的M文件和fig 两个扩展名的同名文件以及exe文件,c仃文件一起复制到同 

一个文件夹中,再将这个文件夹复制到目标机上,直接执行 即可。 另一个方法:在MATLAB窗口输入>>comtool,点击 file—open project可将预先已经创建的cbl工程文件打开,再 点击component一一package component就实现了打包,此时在 文件夹里的exe就是生成打包后的压缩文件。复制这个文 件到目标硬盘中,双击解压,在解压的文件夹中点击一instal1. bat就可以实现并完成安装。 本文的所有程序代码是在MATLAB 2013a 64位版本下 调试通过。 4结束语 随着信息化的迅速发展,手写数字识别的应用会涉及到 很多领域。手写数字识别应用系统性能的关键与瓶颈在于 手写数字识别核心算法,核心算法需要准确的采样数据,准 确的图像预处理方案能保证采样数据的准确性,如此才能研 究出零误识率和零拒识率的高速识别算法。 参考文献: [1]白天毅.基于神经网络的手写体数字识别关键技术研究[D].西 安:西安工业大学,2014. [2]王天永.基于MATLAB GUI的电子散斑干涉图像采集和处理系 统[J].大众科学,2012(1):11—13. [3]王霞英.基于MATLAB GUI指纹图像特征提取与对比的研究 [D].太原:中北大学,2013. [4]钱超.基于MATLAB GUI的指纹图像采集及预处理研究[D].太 原:中北大学,2013. [5]张猛,余仲秋,姚绍文.手写体数字识别中图像预处理的研究 [J].微计算机信息,2006(16):256—258. [6]彭敏.基于多级神经网络分类器的手写数字识别[D].沈阳:沈 阳工业大学,2014. [7]王一木,潘赞,龙彦辰,等.基于自组织映射的手写数字识别的并 行实现[J].浙江大学学报(工学版),2014(4):742—747. [8]王璇,薛瑞.基于BP神经网络的手写数字识别的算法[J].自动 化技术与应用,2014(5):5—10.

相关文档
最新文档