当前位置:文档之家› 基于OPENCV的手写数字字符识别修改版 V3

基于OPENCV的手写数字字符识别修改版 V3

基于OPENCV的手写数字字符识别修改版 V3
基于OPENCV的手写数字字符识别修改版 V3

1.1数字识别概述

模式识别是六十年代初迅速发展起来的一门学科。由于它研究的是如何用机器来实现人(及某些动物)对事物的学习、识别和判断能力,因而受到了很多科技领域研究人员的注意,成为人工智能研究的一个重要方面。

字符识别是模式识别的一个传统研究领域。从50年代开始,许多的研究者就在这一研究领域开展了广泛的探索,并为模式识别的发展产生了积极的影响。

字符识别一般可以分为两类:1.联机字符识别;2.光学字符识别(Optical Chara-cter Recognition,OCR)或称离线字符识别。在联机字符识别中,计算机能够通过与计算机相连的输入设备获得输入字符笔划的顺序、笔划的方向以及字符的形状,所以相对OCR来说它更容易识别一些。但联机字符识别有一个重要的不足就是要求输入者必须在指定的设备上书写,然而人们在生活中大部分的书写情况是不满足这一要求的,比如人们填写各种表格资料,开具支票等。如果需要计算机去认识这些己经成为文字的东西,就需要OCR技术。比起联机字符识别来,OCR不要求书写者在特定输入设备上书写,它可以与平常一样书写,所以OCR 的应用更为广泛。OCR所使用的输入设备可以是任何一种图像采集设备,如CCD、扫描仪、数字相机等。通过使用这类采集设备,OCR系统将书写者已写好的文字作为图像输入到计算机中,然后由计算机去识别。由于OCR的输入只是简单的一副图像,它就不能像联机输入那样比较容易的从物理特性上获得字符笔划的顺序信息,因此OCR是一个更具挑战性的问题。

数字识别是多年来的研究热点,也是字符识别中的一个特别问题,它是本文研究的重点。数字识别在特定的环境下应用特别广泛,如邮政编码自动识别系统,税表和银行支票自动处理系统等。一般情况下,当涉及到数字识别时,人们往往要求识别器有很高的识别可靠性,特别是有关金额的数字识别时,如支票中填写的金额部分,更是如此。因此针对这类问题的处理系统设计的关键环节之一就是设计出高可靠性和高识别率的数字识别方法。然而可以说还没有哪个数字识别器达到完美的识别效果。

在过去的数十年中,研究者们提出了许许多多的识别方法。按使用的特征不同,这些方法可以分为两类:基于结构特征的方法和基于统计特征的方法。结构特征通常包括圆、端点、交叉点、笔划、轮廓等,统计特征通常包括点密度的测量、矩、特征区域等,一般来说,两类特征各有优势。例如,使用统计特征的分类器易于训练,而且对于使用统计特征的分类器,在给定的训练集上能够得到相对较高的识别率,而结构特征的主要优点之一是能描述字符的结构,在识别过程中能有效地结合几何和结构的知识,因此能够得到可靠性较高的识别结果。

1.2数字图像处理的应用

数字图像处理主要研究的内容有以下几个方面:

1、图像变换。由于图像阵列很大,直接在空间域中进行处理,涉及计算量很大。因此,往往采用各种图像变换的方法,如傅立叶变换、沃尔什变换、离散余弦变换等间接处理技术,将空间域的处理转换为变换域处理,不仅可减少计算量,而且可获得更有效的处理(如傅立叶变换可在频域中进行数字滤波处理)。目前新兴研究的小波变换在时域和频域中都具有良好的局部化特性,它在图像处理中也有着广泛而有效的应用。

2、图像编码压缩。图像编码压缩技术可减少描述图像的数据量(即比特数),以便节省图像传输、处理时间和减少所占用的存储器容量。压缩可以在不失真的前提下获得,也可以在允许的失真条件下进行。编码是压缩技术中最重要的方法,它在图像处理技术中是发展最早且比较成熟的技术。

3、图像增强和复原。图像增强和复原的目的是为了提高图像的质量,如去除噪声,提高图像的清晰度等。图像增强不考虑图像降质的原因,突出图像中所感兴趣的部分。如强化图像高频分量,可使图像中物体轮廓清晰,细节明显;强化低频分量可减少图像中噪声影响。图像复原要求对图像降质的原因有一定的了解,一般讲应根据降质过程建立“降质模型”,再采用某种滤波方法,恢复或重建原来的图像。

4、意义的特征部分提取出来,其有意义的特征有图像中的边缘、区域等,这是进一步进行图像识别、分析和理解的基础。虽然目前已研究出不少边缘提取、区域分割的方法,但还没有一种普遍适用于各种图像的有效方法。因此,对图像分割的研究还在不断深入之中,是目前图像处理中研究的热点之一。

5、图像描述。图像描述是图像识别和理解的必要前提。作为最简单的二值图像可采用其几何特性描述物体的特性,一般图像的描述方法采用二维形状描述,它有边界描述和区域描述两类方法。对于特殊的纹理图像可采用二维纹理特征描述。随着图像处理研究的深入发展,已经开始进行三维物体描述的研究,提出了体积描述、表面描述、广义圆柱体描述等方法。

6、图像分类(识别)。图像分类(识别)属于模式识别的范畴,其主要内容是图像经过某些预处理(增强、复原、压缩)后,进行图像分割和特征提取,从而进行判决分类。图像分类常采用经典的模式识别方法,有统计模式分类和句法(结构)模式分类,近年来新发展起来的模糊模式识别和人工神经网络模式分类在图像识别中也越来越受到重视。

在数字识别中分类识别之前要利用数字图象处理和计算机图形学的知识进行图象的预处理以便进行下面的特征提取以及识别。图象的预处理包括二值化、图象的增强、图象的锐化以及图象的分割等。

1.3本论文所做的工作

本论文在数字识别及预处理方面做了如下工作:

1、介绍了数字识别广阔的应用前景和常用的识别方法,通过分析指出数字识别的难点在于无法建立精确的数学模型和做出简单可行的识别系统。

3、第二章分析了常规数字识别的基本步骤,并指出数字识别的关键步骤是预处理和特征提取。

第2章数字识别系统的设计与实现

2.1系统的实现平台

程序采用Microsoft Visual Studio2010与OpenCV2.4.8在Windows 7-64位旗舰版系统下开发完成。并在Windows xp-32位系统下测试可用。2.2系统的流程

几种常用的解决问题的软件开发方法,一种是对问题追述的方法,也就是从问题的结果分析起一步一步找到问题的源头。另一种解决问题的方法是寻找容易解决的或者是己经解决的相关的问题转而应用到解决当前的问题来。但是当前软件开发中更为流行和常用的方法是逐步求精法。这种方法是一种由顶向下的方法,也就是由一般到特殊的方法,它的基本思想是将原始的问题分割成若干个子问题,子问题较整个大问题容易解决。

本文程序设计采用逐步求精法,将整个系统问题分割成若干个子问题来做,主要包括图像预处理,特征提取,分类识别。首先分别对每个模块进行单元测试分析和模块测试,然后再组合成系统,进行系统测试。

预处理过程主要找到图像的ROI部分子图像并进行大小的归一化处理,特征提取将图像转化为特征向量,分类识别采用k-近邻分类方法进行分类处理,最后根据分类结果完成识别工作。

主流程图:

细化流程图:

2.3系统的具体处理步骤

2.3.1预处理

预处理的过程就是找到图像的ROI区域的过程,如下图所示:

首先找到数字的边界框,然后大小归一化数字图片,主要流程如下图所示:

主要代码:

IplImage preprocessing(IplImage*imgSrc,int new_width,int new_height)

{

IplImage*result;

IplImage*scaledResult;

CvMat data;

CvMat dataA;

CvRect bb;//bounding box

CvRect bba;//boundinb box maintain aspect ratio

//Find bounding box找到边界框

bb=findBB(imgSrc);

cvGetSubRect(imgSrc,&data,cvRect(bb.x,bb.y,bb.width,bb.height));

int size=(bb.width>bb.height)?bb.width:bb.height;

result=cvCreateImage(cvSize(size,size),8,1);

cvSet(result,CV_RGB(255,255,255),NULL);

//将图像放中间,大小归一化

int x=(int)floor((float)(size-bb.width)/2.0f);

int y=(int)floor((float)(size-bb.height)/2.0f);

cvGetSubRect(result,&dataA,cvRect(x,y,bb.width,bb.height));

cvCopy(&data,&dataA,NULL);

//Scale result

scaledResult=cvCreateImage(cvSize(new_width,new_height),8,1);

cvResize(result,scaledResult,CV_INTER_NN);

//Return processed data

return*scaledResult;//直接返回处理后的图片

}

2.3.2特征提取

在拿到ROI图像减少了信息量之后,就可以直接用图片作为向量矩阵作为输入:

void basicOCR::getData()

{

IplImage*src_image;

IplImage prs_image;

CvMat row,data;

char file[255];

int i,j;

for(i=0;i

{

for(j=0;j

{

//加载所有的样本pbm格式图像作为训练

if(j<10)

sprintf(file,"%s%d/%d0%d.pbm",file_path,i,i,j);

else

sprintf(file,"%s%d/%d%d.pbm",file_path,i,i,j);

src_image=cvLoadImage(file,0);

if(!src_image)

{

printf("Error:Cant load image%s\n",file);

//exit(-1);

}

//process file

prs_image=preprocessing(src_image,size,size);

//生成训练矩阵,每个图像作为一个向量

cvGetRow(trainClasses,&row,i*train_samples+j);

cvSet(&row,cvRealScalar(i));

//Set data

cvGetRow(trainData,&row,i*train_samples+j);

IplImage*img=cvCreateImage(cvSize(size,size),

IPL_DEPTH_32F,1);

//转换换8bits image to32位浮点数图片取值区间为[0,1]

//scale=0.0039215=1/255;

cvConvertScale(&prs_image,img,0.0039215,0);

cvGetSubRect(img,&data,cvRect(0,0,size,size));

CvMat row_header,*row1;

//convert data matrix sizexsize to vecor

row1=cvReshape(&data,&row_header,0,1);

cvCopy(row1,&row,NULL);

}

}

}

2.3.3分类识别

识别方法采用knn近邻分类法。这个算法首先贮藏所有的训练样本,然后通过分析(包括选举,计算加权和等方式)一个新样本周围K个最近邻以给出该样

本的相应值。这种方法有时候被称作“基于样本的学习”,即为了预测,我们对于给定的输入搜索最近的已知其相应的特征向量。

K最近邻(k-Nearest Neighbor,KNN)分类算法,是一个理论上比较成熟的方法,也是最简单的机器学习算法之一。该方法的思路是:如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别。KNN算法中,所选择的邻居都是已经正确分类的对象。该方法在定类决策上只依据最邻近的一个或者几个样本的类别来决定待分样本所属的类别。KNN方法虽然从原理上也依赖于极限定理,但在类别决策时,只与极少量的相邻样本有关。由于KNN方法主要靠周围有限的邻近的样本,而不是靠判别类域的方法来确定所属类别的,因此对于类域的交叉或重叠较多的待分样本集来说,KNN方法较其他方法更为适合。

识别工作主要有以下几个步骤:

1.初始化机器学习算法,及其训练

knn=new CvKNearest(trainData,trainClasses,0,false,K);

因为trainData,trainClasses数据已得到。训练在CvKNearest算法初始化中已经完成

2.识别

获取识别测试的数据,testData

result=knn->find_nearest(testData,K,0,0,nearest,0);

result为返回的识别的结果

2.4实验结果

实验截图

程序界面由以上两个界面构成,第一个用于介绍软件的使用说明和软件实际运行时的识别效果,主要由三个指标:识别结果,测试精度,准确度。第二个界面提供给使用者输入想要识别的数字。

在knn参数k=5,子图像向量大小选取128*128像素,训练样本50副图片,测试样本50副图片,系统误识率为7.4%。对于用户手写阿拉伯数字2的识别结果为2,识别比较准确。

2.5未来的工作

本程序主要参照网上的一些实例完成了部署跟实验工作,虽然仅仅完成了手写阿拉伯数字的识别工作,但是字符识别的一些原理工作都是相同的,未来能够从一下几个方面进行提高:

1、提高程序的识别准确率,从一些文献实现的结果来看,简单的模型结合大量的训练样本,往往效果比复杂的模型结合少量训练样本实现的效果好。

2、扩展程序的功能,从实现简单的字符到最终实现识别手写汉字等。

3、提高识别速度,改进算法为并行算法,实现如联机在线识别等。

3.总结

对于数字图像处理这门课的最后综合性作业,我们组进行了友好的任务分配,经过一个月的实践,我们终于能够基本实现其功能,虽然过程是很艰辛的,但是对于我们自身来说却是十分有意义的。

我们的设计题目是基于opencv的手写数字识别。数字识别技术发展到现在已经很成熟了,它的应用范围也很广泛。数字识别的实现是有很大实际意义的。在我所做的这个系统中主要应用到了三门学科:数字图象处理、模式识别与人工神经网络和VC++语言。由于设计时间的限制,要在一个多月时间里运用这些知识,对我们来说是有很大挑战性的。

这个系统总的来说可分为两部分来进行,第一部分就是图象的预处理,我们直接处理的就是BMP形式位图。所以相对简单一点,不用进行图象格式的转换,

但在现实应用中需要有图象格式转换这一步。图象的预处理就是将采集到图象通过一系列转换变成能够被BP网络训练的格式。第二部分就是网络的识别,首先确定网络的权值训练网络,通过误差反传不断的修正网络,使之具有很强的抗干扰性,最后达到高的识别精度。

在设计过程中,我们觉的图象预处理部分相对简单一些,BP神经网络部分就有了一定的难度,查阅了很多的资料才将其理解。

再就是VC编程设计那一部分让我们觉的很难,按照要求设置了流程图,但将其转化为程序就很困难,尤其是将各个函数的组装在一起的时候,函数与函数的接口,调用都极容易出错。这就要求设计人要有一定的耐心。

这个系统还有不是很完善的地方,就是它的识别精度还不是很高,而且系统不是很稳定,有的时候设置同样的参数前后识别的结果就不相同。这是一个还没有解决的问题。

总的来说,数字识别应用的技术还有很大的发展潜力,通过研究数字的识别进而发展到识别英文字符、汉字等,这些应用都是很广泛的。例如,公路上自动拍照就是通过识别车牌照完成功能的,车牌识别中就包括了数字、汉字和英文字符的识别,所以它是一个更为庞大的系统。

其次我们还可以借助其他算法理论,如矢量量化、小波分析、神经网络算法等理论研究和算法实现,力求找到一种识别率更高,实时性更好的算法。以丰富各方面的性能,拓宽数字识别可以应用的方面。

手写字符识别系统设计

版本:V1.0 手写字符识别系统设计说明书 湖南大学信息科学与工程学院 二0一四年六月

目录 1引言 (2) 1.1目的 (2) 1.2阅读对象 (2) 2项目概述 (2) 2.1项目简介 (2) 2.2项目任务 (2) 2.3实验环境介绍 (2) 3任务描述 (3) 3.1背景资料概述 (3) 3.2系统组成 (3) 3.3系统评估 (5) 4机器学习算法介绍 (5) 4.1支持向量机 (5) 4.2BP神经网络 (6) 4.3决策树方法 (7) 5特征选择 (8) 6参考资料和实用网站 (9)

1引言 1.1目的 随着图像处理技术与机器学习技术的发展,机器视觉技术已广泛应用于工业生产、日常生活及城市管理中。字符识别作为机器视觉的一种基本应用,在车牌识别、光学字符识别(OCR,Optical Character Recognition)等应用中均有涉及。 本说明书旨在介绍基于常用机器学习算法(如BP神经网络、支持向量机、朴素贝叶斯、K近邻分类)的手写字符识别系统的设计需求,设计方法和环境介绍,帮助学生了解字符识别的基本流程,常用机器学习算法的基本原理,掌握机器视觉应用的开发技术。 1.2阅读对象 本说明书的阅读对象有: ●数字媒体类相关专业学生 ●相关客户人员,体验用户等 2项目概述 2.1项目简介 本项目旨在基于机器学习算法实现手写字符(包括数字和大小写字母)的识别。该系统通过读入一张图片或通过鼠标绘制字符的方式,实现识别对象的输入,通过BP神经网络、支持向量机、朴素贝叶斯或K近邻分类方法实现手写字符的识别,并输出识别的结果。 2.2项目任务 项目名称:手写字符识别系统的设计 项目内容:1)手写字符的输入; 2)图片预处理与特征提取; 3)机器学习与字符分类; 项目周期:1个月(2014年8月25日——2014年9月20日) 参与人数:2~4人。 2.3实验环境介绍 A)Visual Studio 2010

基于OpenCV识别库的面部图像识别系统的设计

基于OpenCV识别库的面部图像识别系统的设计 本系统采用J2EE技术并以OpenCV开源计算机视觉库技术为基础,实现一套具有身份验证功能的面部图像识别信息管理系统。系统使用MySQL数据库提供数据支撑,依托于J2EE的稳定性和Java平台的可移植性使得本系统可以在各个操作系统平台中运行,同时提供在互联网中使用面部识别技术的一套较为完备的解决方案。 标签:OpenCV;人脸识别;生物学特征 引言 随着信息技术的飞速发展以及互联网的深入普及,越来越多的行业和领域使用信息技术产品以提高工作效率和管理水平。但是由于人们隐私信息的保护意识薄弱,出现了许多信息安全的问题。在人们对于信息安全越来越重视的情况下,许多技术被应用到信息安全领域中来。较为先进的技术有虹膜识别技术、遗传基因识别技术以及指纹识别技术等。而论文采用的是当前热点的面部图像识别技术。 1 系统实现算法及功能分析 1.1 面部图像的生物学特征模型的建立 本系统是利用面部图形的生物学特征来识别不同的人。由于每个人的面部图像都有各自的特征但又具有一定的通性,需要应用生物学中相关知识加以解决。可以利用已有的生物学测量手段以及现有的算法构建人的面部图像生物学特征模型(简称:面部模型),并应用于系统中,面部模型的建立为面部图像识别的功能提供实现依据。 1.2 知识特征库及面部识别引擎的建立 在前述面部模型建立完成后,需要建立相应的知识库以及面部识别引擎方可进行身份的识别。可经过大量数据的采集和分析后建立知识库,并根据知识库的特点建立相应的识别引擎。此识别引擎对外开放,在本系统中提供其它外来程序的调用接口,其它系统能够通过本接口实现识别引擎的调用实现对于面部图形的识别,从而达到识别引擎的可复用性。在技术条件允许的情况下,提供知识库的智能训练以及半自动构建支持。 1.3 面部图像的采集与预处理 本系统中采用了预留API接口,利用USB图形捕获设备采集数据图像。经过USB设备的捕获,使用JMF(Java Media Framework)来处理已捕获的图像数据,对捕获的图像进行面部图行检测和实时定位跟踪。

(完整版)手写体数字识别系统设计毕业设计

石河子大学 信息科学与技术学院毕业论文 课题名称:手写体数字识别系统设计 学生姓名: 学号: 学院:信息科学与技术学院

专业年级:电子信息工程2007级指导教师: 职称: 完成日期:二○一一年六月十一日

手写体数字识别系统设计 学生: 指导教师: [摘要] 随着科学技术的迅速发展,在邮政编码、统计报表、财务报表、银行票据等处理大量字符信息录入的场合,手写数字识别系统的应用需求越来越强烈,如何将数字方便、快速地输入到计算机中已成为关系到计算机技术普及的关键问题。本文设计实现了一个基于Matlab软件的手写体数字识别系统,采用模块化设计方法,编写了摄像头输入、直接读取图片、写字板输入三个模块,利用摄像头等工具,将以文本形式存在的手写体数字输入进计算机,完成对手写体数字图片的采集,并设计了一种手写数字识别方法,对手写体数字图像进行预处理、结构特征提取、分类识别,最终以文本形式输出数字,从而实现手写体数字的识别。 [关键词] 预处理,结构特征提取,分类识别,手写体数字识别

Handwritten Digit Recognition System Students: Teacher:

Abstract:With the rapid development of science and technology, in zip code, statistics, reports, financial statements, Bank bills dealing with a large number of characters, such as information recorded occasions, handwritten digit recognition system of requirement has become stronger and stronger, how easily and quickly the number entered in the computer has become a key issue relates to the popularization of computer technology. This article design implementation has a based on Matlab software of handwriting body digital recognition system, used module of design method, write has camera entered, and directly read pictures, and write Board entered three a module, using camera, tools, will to text form exists of handwriting body digital entered into computer, completed on handwriting body digital pictures of collection, and design has a handwriting digital recognition method, on handwriting body digital image for pretreatment, and structure features extraction, and classification recognition, eventually to text form output digital, to implementation handwriting body digital of recognition. Key words: Pretreatment, structure feature extraction, classification and recognition, handwritten digit recognition.

基于OpenCv的图像识别

基于2DPCA的人脸识别算法研究 摘要 人脸识别技术是对图像和视频中的人脸进行检测和定位的一门模式识别技术,包含位置、大小、个数和形态等人脸图像的所有信息。由于近年来计算机技术的飞速发展,为人脸识别技术的广泛应用提供了可能,所以图像处理技术被广泛应用了各种领域。该技术具有广阔的前景,如今已有大量的研究人员专注于人脸识别技术的开发。本文的主要工作内容如下: 1)介绍了人脸识别技术的基础知识,包括该技术的应用、背景、研究方向以及 目前研究该技术的困难,并对人脸识别系统的运行过程以及运行平台作了简单的介绍。 2)预处理工作是在原始0RL人脸库上进行的。在图像的预处理阶段,经过了图 象的颜色处理,图像的几何归一化,图像的均衡化和图象的灰度归一化四个过程。所有人脸图像通过上述处理后,就可以在一定程度上减小光照、背景等一些外在因素的不利影响。 3)介绍了目前主流的一些人脸检测算法,本文采用并详细叙述了Adaboost人脸 检测算法。Adaboost算法首先需要创建人脸图像的训练样本,再通过对样本的训练,得到的级联分类器就可以对人脸进行检测。 4)本文介绍了基于PCA算法的人脸特征点提取,并在PCA算法的基础上应用了 改进型的2DPCA算法,对两者的性能进行了对比,得出后者的准确度和实时性均大于前者,最后将Adaboost人脸检测算法和2DPCA算法结合,不仅能大幅度降低识别时间,而且还相互补充,有效的提高了识别率。 关键词:人脸识别 2DPCA 特征提取人脸检测

2DPCA Face Recognition Algorithm Based on The Research Abstract:Face recognition is a technology to detect and locate human face in an image or video streams,Including location, size, shape, number and other information of human face in an image or video streams.Due to the rapid development of computer operation speed makes the image processing technology has been widely applied in many fields in recent years. This paper's work has the following several aspects: 1)Explained the background, research scope and method of face recognition,and introduced the theoretical method of face recognition field in general. 2)The pretreatments work is based on the original ORL face database. In the image preprocessing stage, there are the color of the image processing, image geometric normalization, image equalization and image gray scale normalization four parts. After united processing, the face image is standard, which can eliminate the adverse effects of some external factors. 3)All kinds of face detection algorithm is introduced, and detailed describing the Adaboost algorithm for face detection. Through the Adaboost algorithm to create a training sample,then Training the samples of face image,and obtaining the cascade classifier to detect human face. 4)This paper introduces the facial feature points extraction based on PCA ,and 2DPCA is used on the basis of the PCA as a improved algorithm.Performance is compared between the two, it is concluds that the real time and accuracy of the latter is greater than the former.Finally the Adaboost face detection algorithm and 2DPCA are combined, which not only can greatly reduce the recognition time, but also complement each other, effectively improve the recognition rate. Key words:Face recognition 2DPCA Feature extraction Face detection

手写体数字的识别

手写体数字识别 第一章绪论 (4) 1.1课题研究的意义 (4) 1.2国内外究动态目前水平 (4) 1.3手写体数字识别简介 (5) 1.4识别的技术难点 (5) 1.5主要研究工作 (6) 第二章手写体数字识别基本过程: (6) 2.1手写体数字识别系统结构 (6) 2.2分类器设计 (7) 2.2.1 特征空间优化设计问题 (7) 2.2.2分类器设计准则 (8) 2.2.3分类器设计基本方法 (9) 3.4 判别函数 (9) 3.5训练与学习 (10) 第三章贝叶斯方法应用于手写体数字识别 (11) 3.1贝叶斯由来 (11) 3.2贝叶斯公式 (11) 3.3贝叶斯公式Bayes决策理论: (12) 3.4贝叶斯应用于的手写体数字理论部分: (16) 3.4.1.特征描述: (16) 3.4.2最小错误分类器进行判别分类 (17) 第四章手写体数字识别的设计流程及功能的具体实现 (18) 4.1 手写体数字识别的流程图 (18) 4.2具体功能实现方法如下: (19) 结束语 (25) 致谢词 (25) 参考文献 (26) 附录 (27)

摘要 数字识别就是通过计算机用数学技术方法来研究模式的自动处理和识别。随着计算机技术的发展,人类对模式识别技术提出了更高的要求。特别是对于大量己有的印刷资料和手稿,计算机自动识别输入己成为必须研究的课题,所以数字识别在文献检索、办公自动化、邮政系统、银行票据处理等方面有着广阔的应用前景。 对手写数字进行识别,首先将汉字图像进行处理,抽取主要表达特征并将特征与数字的代码存储在计算机中,这一过程叫做“训练”。识别过程就是将输入的数字图像经处理后与计算机中的所有字进行比较,找出最相近的字就是识别结果。 本文主要介绍了数字识别的基本原理和手写的10个数字字符的识别系统的设计实现过程。第一章介绍了数字识别学科的发展状况。第二章手写体数字识别基本过程。第三章贝叶斯方法应用于手写体数字识别。第四章手写体数字识别的设计流程及功能的具体实现,并对实验结果做出简单的分析。 关键词:手写体数字识别分类器贝叶斯vc++6.0 错误!未找到引用源。

基于opencv对图像的预处理

基于opencv 对图像的预处理 1.问题描述 本次设计是基于opencv 结合c++语言实现的对图像的预处理,opencv 是用于开发实时的图像处理、计算机视觉及模式识别程序;其中图像的预处理也就是利用opencv 对图像进行简单的编辑操作;例如对图像的对比度、亮度、饱和度进行调节,同时还可以对图像进行缩放和旋转,这些都是图像预处理简单的处理方法;首先通过opencv 加载一幅原型图像,显示出来;设置五个滑动控制按钮,当拖动按钮时,对比度、亮度、饱和度的大小也会随之改变,也可以通过同样的方式调节缩放的比例和旋转的角度,来控制图像,对图像进行处理,显示出符合调节要求的图像,进行对比观察他们的之间的变化。 2.模块划分 此次设计的模块分为五个模块,滑动控制模块、对比度和亮度调节模块、饱和度调节模块、缩放调节模块、旋转调节模块,他们之间的关系如下所示: 图一、各个模块关系图 调用 调用 调用 调用 滑动控制模块 对比度和亮度调节模块 饱和度调节模块 缩放调节模块 旋转调节模块

滑动控制模块处于主函数之中,是整个设计的核心部分,通过createTrackbar创建五个滑动控制按钮并且调用每个模块实现对图像相应的调节。 3.算法设计 (1)滑动控制: 滑动控制是整个设计的核心部分,通过创建滑动控制按钮调节大小来改变相应的数据,进行调用函数实现对图像的编辑,滑动控制是利用createTrackbar(),函数中包括了滑动控制的名称,滑动控制显示在什么窗口上,滑动变量的地址和它调节的最大围,以及每个控制按钮应该调用什么函数实现什么功能; (2)对比度和亮度的调节: 对比度和亮度的调节的原理是依照线性理论,它的公式如下所示:g(x)=a* f(x) +b,其中f(x)表示源图像的像素,g(x)表示输出图像的像素,参数a(需要满足a>0)被称为增益(gain),常常被用来控制图像的对比度,参数b通常被称为偏置(bias),常常被用来控制图像的亮度; (3)饱和度的调节: 饱和度调节利用cvCvtColor( src_image, dst_image, CV_BGR2HSV )将RGB 颜色空间转换为HSV颜色空间,其中“H=Hue”表示色调,“S=Saturation”表示饱和度,“V=Value ”表示纯度;所以饱和度的调节只需要调节S的大小,H 和V的值不需要做任何的改变; (4)旋转的调节: 旋转是以某参考点为圆心,将图像的个点(x,y)围绕圆心转动一个逆时针角度θ,变为新的坐标(x1,y1),x1=rcos(α+θ),y1=rsin(α+θ),其中r是图像的极径,α是图像与水平的坐标的角度的大小; (5)缩放的调节: 首先得到源图像的宽度x和高度y,变换后新的图像的宽度和高度分别为x1和y1,x1=x*f,y1=y*f,其中f是缩放因子; 4.函数功能描述 (1)主函数main()用来设置滑动控制按钮,当鼠标拖动按钮可以得到相应的数据大小,实现手动控制的功能,当鼠标拖动对比度和亮度调节是,主函数调用

手写体数字识别系统的设计与实现

大学生研究计划项目 论文报告 项目名称:_手写体数字识别系统的设计与实现 负责人:_________ _______________ 学院/专业:_____ ______ 学号:____ ________ 申请经费:_____ _________________ 指导教师:______ _______ 项目起止时间:2011年6月-2012年3月

摘要 手写体数字识别系统依托计算机应用软件为载体,利用C++程序设计的相关知识,运用模块设计等相关技术,最终完成手写体设计系统的程序综合设计。 关键字:手写体数字处理模式识别程序设计 一、论题概述 模式识别是六十年代初迅速发展起来的一门学科。由于它研究的是如何用机器来实现人(及某些动物)对事物的学习、识别和判断能力,因而受到了很多科技领域研究人员的注意,成为人工智能研究的一个重要方面。 字符识别是模式识别的一个传统研究领域。从50年代开始,许多的研究者就在这一研究领域开展了广泛的探索,并为模式识别的发展产生了积极的影响。 字符识别一般可以分为两类:1.联机字符识别;2.光学字符识别(Optical Chara- cter Recognition,OCR)或称离线字符识别。在联机字符识别中,计算机能够通过与计算机相连的输入设备获得输入字符笔划的顺序、笔划的方向以及字符的形状,所以相对OCR来说它更容易识别一些。但联机字符识别有一个重要的不足就是要求输入者必须在指定的设备上书写,然而人们在生活中大部分的书写情况是不满足这一要求的,比如人们填写各种表格资料,开具支票等。如果需要计算机去认识这些己经成为文字的东西,就需要OCR技术。比起联机字符识别来,OCR不要求书写者在特定输入设备上书写,它可以与平常一样书写,所以OCR 的应用更为广泛。OCR所使用的输入设备可以是任何一种图像采集设备,如CCD、扫描仪、数字相机等。通过使用这类采集设备,OCR系统将书写者已写好的文字作为图像输入到计算机中,然后由计算机去识别。由于OCR的输入只是简单的一副图像,它就不能像联机输入那样比较容易的从物理特性上获得字符笔划的顺序信息,因此OCR是一个更具挑战性的问题。 数字识别是多年来的研究热点,也是字符识别中的一个特别问题,它是本文研究的重点。数字识别在特定的环境下应用特别广泛,如邮政编码自动识别系统,税表和银行支票自动处理系统等。一般情况下,当涉及到数字识别时,人们往往要求识别器有很高的识别可靠性,特别是有关金额的数字识别时,如支票中填写

脱机手写体汉字识别综述

脱机手写体汉字识别综述 赵继印1,郑蕊蕊2,吴宝春1,李 敏1 (1.大连民族学院机电信息工程学院,辽宁大连116600;2.吉林大学通信工程学院,吉林长春130025) 摘 要: 脱机手写体汉字识别是模式识别领域最具挑战性的课题之一.本文分析了近年来脱机手写体汉字识别 的最新进展,讨论了脱机手写体汉字分割、特征提取和分类器设计等关键技术的各种主流方法,介绍了3种典型的汉字识别数据库,并提出了脱机手写体汉字识别的难点问题和今后发展的趋势,为该领域的研究者指明研究方向,共同促进脱机手写体汉字识别技术的发展. 关键词: 脱机手写体汉字识别;字符分割;特征提取;分类器设计;汉字识别数据库中图分类号: TP39114 文献标识码: A 文章编号: 037222112(2010)022******* A Review of Off 2Line Handwritten Chine se Character Recognition ZH AO Ji 2yin 1,ZHE NG Rui 2rui 2,W U Bao 2chun 1,LI Min 1 (1.College o f Electormechanical and Information Engineering ,Dalian Nationalities Univer sity ,Dalian ,Liaoning 116600,China ; 2.College o f Communication Engineering ,Jilin Univer sity ,Changchun ,Jilin 130025,China ) Abstract : Off 2line handwritten Chinese character recognition is one of the most challenging problems in pattern recognition field.This paper analyzed the latest developments of off 2line handwritten Chinese character recognition in recent years.Main meth 2ods of the key technologies such as Chinese characters segmentation ,feature extraction and classifier design were discussed.This pa 2per also introduced 3typical off 2line handwritten Chinese character recognition databases.Finally ,remain difficult issues and future trends of off 2line handwritten Chinese character recognition were proposed.This paper will guide researchers in this field and pro 2mote development of off 2line handwritten Chinese character recognition technology. K ey words : off 2line handwritten Chinese character Recognition ;characters segmentation ;feature extraction ;classifier design ;Chinese recognition database 1 引言 汉字识别是模式识别的一个重要分支,也是文字识 别领域最为困难的问题之一,它涉及模式识别、图像处理、统计理论等学科,呈现出综合性的特点,在办公和教学自动化、银行票据自动识别、邮政自动分拣、少数民族语言文字信息处理等技术领域,都有着重要的理论意义和实用价值[1].汉字识别技术可分为印刷体和手写体汉字识别两大类.手写体汉字识别又可分为联机(on 2line )和脱机(off 2line )手写体汉字识别.脱机手写体汉字识别可分为受限和非受限两种情况,如图1所示. 清华大学、中科院自动化所等著名高校和科研院所都致力于汉字识别的研究,以汉王科技股份有限公司为首的科技企业也推出了一系列成熟的商业产品[2].目前,很多论文提出的脱机手写体汉字识别的方法在不同的字符数据库试验中,取得了95%~99%的识别率,但是对真正的手写文档的识别效果却难以达到实际应用的要求. 目前脱机手写体汉字识别仍处于实验室研究阶 段,成功的商业产品仍未发布[2~4].本文着重讨论脱机手写体汉字识别的现状和存在的问题,明确今后的发展趋势,为脱机手写体汉字识别领域的广大研究人员提供参考和借鉴. 2 手写汉字字体特点 从识别的角度分析,汉字具有如下4个特点.2.1 汉字类别多 汉字的个数很多,国家标准G B1803022000《信息交换用汉字编码字符集基本集的扩充》收录27484个汉字[5].汉字个数在模式识别问题中体现为汉字的类别,因此汉字识别问题属于超大规模数据集的模式识别问题. 收稿日期:2009202216;修回日期:2009206213 基金项目:大连民族学院科研基金(N o.20086201);吉林省科技厅科技引导计划(N o.20090511)   第2期2010年2月 电 子 学 报 ACT A E LECTRONICA SINICA V ol.38 N o.2 Feb. 2010

最新基于OpenCV与深度学习框架的物体图像识别

基于OpenCV与深度学习框架Caffe的物体图像识别 摘要:本文主要介绍深度神经网络中的卷积神经的相关理论与技术。研究采用OpenCV深度学习模块DNN与深度学习框架Caffe进行物体识别。采用OpenCV 中的DNN模块加载深度学习框架Caffe模型文件,对物体图像进行识别。实验结果表明,卷积神经网络在物体的识别方面具有较高的准确率。 一.概述 1.1 OpenCV简介 OpenCV于1999年由Intel建立,如今由Willow Garage提供支持。OpenCV 是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows和Mac OS操作系统上。它轻量级而且高效——由一系列C 函数和少量C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。其最新版本是3.2,于2016年12月23日发布。OpenCV致力于真实世界的实时应用,通过优化的C代码的编写对其执行速度带来了可观的提升,并且可以通过购买Intel的IPP高性能多媒体函数库(Integrated Performance Primitives)得到更快的处理速度。在其最新版3.2版本中,已经添加了深度神经网络模块,并支持深度学习框架Caffe模型(Caffe framework models)。 1.2 深度学习框架Caffe简介 Caffe(Convolutional Architecture for Fast Feature Embedding)是一个清晰而高效的深度学习框架,其作者是博士毕业于UC Berkeley的贾扬清,曾在Google 工作,现任Facebook研究科学家。Caffe是纯粹的C++/CUDA架构,支持命令行、Python和MATLAB接口;可以在CPU和GPU直接无缝切换。Caffe的优势

手写体数字识别方法的研究与实现

手写体数字识别方法的研究与实现 摘要 1引言 手写体数字识别是文字识别中的一个研究课题,是多年来的研究热点,也是模式识别领域中最成功的应用之一。由于识别类型较少,在实际生活中有深远的应用需求,一直得到广泛的重视。近年来随着计算机技术和数字图像处理技术的飞速发展,数字识别在电子商务、机器自动输入等场合已经获得成功的实际应用。尽管人们对手写数字的研究己从事了很长时间的研究,并己取得了很多成果,但到目前为止,机器的识别本领还无法与人的认知能力相比,这仍是一个有难度的开放问题,所以对手写数字识别的进一步研究,寻求如何更高效更准确更节能地实现手写数字的自动录入和识别的解决方案对提高经济效益、推动社会发展都有深远的意义。 近年来, 人工神经网技术发展十分迅速, 它具有模拟人类部分形象思维的能力, 为模式识别开辟了新的途径, 成了模拟人工智能的一种重要方法,特别是它的信息并行分布式处理能力和自学习功能等显著优点, 更是激起了人们对它的极大的兴趣。BP(Back Propagation)网络是神经网络中一种,是1986年由Rumelhart和McCelland为首的科学家小组提出,是一种按误差逆传播算法训练的多层前馈网络,可以很好地解决非线性问题,在函数逼近、模式识别和数据压缩等方面都有很广泛的应用。我们在认真地研究了神经网络的基本原理和机制的基础上, 结合手写体数字识别这一具体课题, 提出了用BP神经网络方法来实现手写体数字 识别的方案。 2手写体数字识别概述 2.1手写数字识别简述 模式识别是六十年代初迅速发展起来的一门学科。由于它研究的是如何用机器来实现人及某些动物对事物的学习、识别和判断能力,因而受到了很多科技领域研究人员的注意,成为人工智能研究的一个重要方面。 字符识别是模式识别的一个传统研究领域。从50年代开始,许多的研究者就在这一研究领域开展了广泛的探索,并为模式识别的发展产生了积极的影响。 手写体数字识别是多年来的研究热点也是字符识别中的一个特别问题。手写体数字识别在特定的环境下,如邮政编码自动识别系统,税表和银行支票自动处理系统等一般情况。当涉及到数字识别时,人们往往要求识别器有很高的识别可靠性,特别是有关金额的数字识别时,如支票中填写的金额部分,更是如此。因此针对这类问题的处理系统设计的关键环节之一就是设计出高可靠性和高识别率的手写体数字识别方法。这个领域取得了飞速的发展,部分是由于更好的学习算法,部分是由于更优良的训练集。美国国家科学学会(NIST)建立了

手写体数字识别软件设计设计

唐山学院毕业设计 设计题目:手写体数字识别软件设计 系别:智能与信息工程学院班级:12通信2班 姓名: 指导教师: 2016年5月28日

手写体数字识别软件设计 摘要 手写体数字的识别,作为光学字符识别技术中的一类,是图像处理领域中很具代表性的课题,其核心技术是人工神经网络算法。通过计算机来进行图像处理,使手写数字被识别出来。 本软件主要用到的技术有数字图像的灰度化,二值化,图像的边缘检测和膨胀等预处理过程。还有特征提取,建立分类识别器进行识别的过程。本软件用到的主要技术为BP神经网络算法。用MATLAB R2014a软件编写程序,并设计GUI界面来运行程序。经过不断地调试改进,可以良好的对手写数字0-9进行识别。 在经济全球化的今天,对于手写阿拉伯数字的正确识别在金融领域,特别是银行票据处理,业务受理查询方面的应用将极大的方便人们日常生活,提高工作效率,这也使得手写数字的识别研究工作飞速发展。 关键词:字符识别特征提取BP神经网络MATLAB

The Design of Handwritten Numeral Recognition Software Abstract Handwritten number recognition, as a kind of optical character recognition technology, image processing field is the most representative of the topic and its core technology is artificial neural network algorithm.Through the computer to carry out the image processing, so that the handwritten numeral is recognized. The software is mainly used in the technology of digital image of the gray, image edge detection and expansion of the pretreatment https://www.doczj.com/doc/9616320568.html,ing MATLAB R2014a software written procedures, and write a GUI interface to run the program. After continuously adjustable pilot improved can be a good opponent to write numbers 0-9 identification. In the economic globalization , for handwritten Arabic numerals recognition in the financial sector, especially the bank bill processing, business admissibility inquiry application will be greatly convenient for people daily life, improves work efficiency, which also makes handwritten digital recognition of rapid development. Keywords:Character recognition ; Feature extraction;BP neural network ; MATLAB

自由手写体数字识别系统的设计与实现

自由手写体数字识别系统的设计与实现 摘要:本文论述并设计实现了一个脱机自由手写体数字识别系统。文中首先对待识别数字的预处理进行了介绍,包括二值化、平滑滤波、规范化、细化等图像处理方法;其次,探讨了如何提取数字字符的结构特征和笔划特征,并详细地描述了知识库的构造方法;最后采用了以知识库为基础的模板匹配识别方法,并以MATLAB作为编程工具实现了具有友好的图形用户界面的自由手写体数字识别系统。实验结果表明,本方法具有较高的识别率,并具有较好的抗噪性能。 关键词:手写体数字;预处理;模式识别;特征提取 Abstrct: This paper describes and designs a free handwritten number recognition system. Firstly, the pretreatment of the character to be recognized is introduced, including binarization, smoothing, normalization and thinning. Next, how to extract the structural features of the numbers is discussed, and we describe the constructing method of repository. Finally, we use the method of template matching, based on repository, to recognize the digital number. Matlab is used as a program tool to realize this free handwritten digital recognition system with friendly graphical user interface. The experimental results show that the rate of the recognition system is high, and the proposed method is robust to noise. Keywords: handwritten number; pretreatment;pattern recognition; feature extraction 1 引言 OCR(Optical Character Recognition)即光学字符识别技术,是通过扫描仪把印刷体或手写体文稿扫描成图像,然后识别成相应的计算机可直接处理的字符。OCR是模式识别的一个分支,按字体分类主要分为印刷体识别和手写体识别两大类。对于印刷体识别又可以分成单一字体单一字号和多种字体多种字号几类。而手写体识别又可分为受限手写体和不受限手写体两类;按识别方式可分为在线识别和脱机识别两类。 字符识别处理的信息可分为两大类:一类是文字信息,处理的主要是用各国家、各民族的文字(如:汉字,英文等)书写或印刷的文本信息,目前在印刷体和联机手写方面技术已趋向成熟,并推出了很多应用系统;另一类是数据信息,主要是由阿拉伯数字及少量特殊符号组成的各种编号和统计数据,如:邮政编码、统计报表、财务报表、银行票据等等,处理这类信息的核心技术是手写数字识别。因此,手写数字的识别研究有着重大的现实意义,一旦研究成功并投入应用,将产生巨大的社会和经济效益。 在整个OCR领域中,最为困难的就是脱机自由手写字符的识别。到目前为止,尽管人们在脱机手写英文、汉字识别的研究中已取得很多可喜成就,但距离实用还有一定距离。而在

毕业设计:基于OpenCV的人脸识别算法(终稿)-精品

安徽工业大工商学院 毕业学士论文 基于OpenCV的人脸识别算法 姓名:陈滔 申请学位级别:学士专业:测控技术与仪器 指导教师:方挺

摘要 人脸在社会交往中扮演着十分重要的角色,是人类在确定一个人身份时所采用的最普通的生物特征,研究人脸跟踪识别及其相关技术具有十分重要的理论价值和应用价值。彩色图像序列的人脸检测、跟踪与识别技术是随着计算机技术的高速发展和视频监控等应用的需要在近几年才逐渐成为一个研究热点。本文着重构建一套人脸跟踪识别系统,致力于精确实时地对彩色视频中的人脸图像检测跟踪,并可以将跟踪到的人脸图片传输到识别端进行身份识别。系统分为客户端和服务器两部分。针对传统Camshifl跟踪算法进行形态学处理、分配多个跟踪器等改进后的算法应用于客户端进行多人脸的跟踪。服务器端首先将人脸图像按其主要特征进行分块,再对分块图执行Eigenface算法实现人脸身份的识别。这套系统完成了对多人脸的跟踪效果,可广泛的应用于各种安防系统之中如:ATM机监控系统,门禁系统等。

Abstract Human face is 0111"primary focus of attention in social intercourse playingamajor rolei conveying dentity and emotion.Researchonthe face tracking,recognition technology has great theoreticaland practical value.This paper focusesOilbuildingasetofhumanface recognition and trackingsystem tocommitted toaccurate and real-timecolorvideoimages,andcalltransmit the tracked human face image to the recognition part to identify the person’S status.Thesystem is divided into client and server parts.Thetracking algorithm whichcarrieson morphology processing after traditional track algorithm Camshifl and assignments severaltrackingdevices is applied to the client for duplex facetracking.Theserver—side first divides the person face image into blocksaccording to its chief feature,then the blocksuses the Eigenfacealgorithm separately to realize the person’S status recognition.The system implementation for multiple face trackingcallbe widelyused among the various security systems,suchas:ATM machine monitoring system,accesscontrol system.Keywords:Face DetectionFace TrackingFace Recognition Eigenface Camshift

相关主题
文本预览
相关文档 最新文档