导航:首页 > 源码编译 > matlab文字识别算法

matlab文字识别算法

发布时间:2022-03-30 16:53:12

‘壹’ 如何用matlab实现车牌字符识别全过程

其实也就是ocr功能,在matlab中的ocr,参考
http://www.mathworks.com/matlabcentral/fileexchange/18169-optical-character-recognition--ocr-

‘贰’ 用matlab对图片进行字符识别,只要能识别字母就行…十万火急!!请各位大侠们多多帮忙…

OCR的处理流程如下:

首先将标的物的影像输人,然后经过影像前处理、文字特征抽取、比对识别等过程,最后经人工校正将认错的文字更正,将结果输出。详细如下:

影像输入

要想进行OCR处理,必须先通过光学仪器,如影像扫描仪、传真机或任何摄影器械,将影像转人计算机。随着科技的进步,扫描仪等输人装置已制作得愈来愈精致,轻薄短小,品质也高,对OCR有相当大的帮助。扫描仪分辨率的提高使影像更清晰,扫描速度的加快提高了OCR处理的效率

影像前处理

影像前处理是OCR系统中需解决问题最多的一个模块。从得到一个不是黑就是白的二值化影像或灰阶、彩色的影像,到分离出一个个的文字影像的过程,都属于影像前处理。它包含了影像正规化、去除噪声、影像矫正等的影像处理,以及图文分析、文字行与字分离的文件前处理。影像处理的原理及技术都已成熟,在网站上有不少可用的链接库;在文件前处理方面,则凭各家本领了;影像需先将图片、表格及文字区域分离出来,甚至可将文章的编排方向、文章的提纲及内容主体区分开,而文字的大小及文字的字体也可如原始文件一样地判断出来。值得一提的是如何将独立文字从文字行抽取出来。中文字特别的地方在于它有部首的观念。因此,不只是上下的合成,左右合成的字也特别多,且有可能是两部分(如“利”、“明”等),也有三部分的(如“捌”、“晰”等)合成。当这些字与英文或数字同时存在且紧靠在一起时,判断如何连接或切出,是相当困难的。对排版整齐的印刷文件都无法百分之百解决,更何况是每个人写字习性都不同的手写文件。也因此,手写的OCR产品走向是特殊且有限制的。

文字特征抽取

单以识别率而言,特征抽取可说是OCR的核心,用什么特征,怎么抽取,直接影响识别的好坏,所以在OCR研究初期,特征抽取的研究报告特别多。而“特征”可说是识别的筹码,可简易的区分两类。一类为统计的特征。例如文字区域内的黑/白点数比,当文字区分成好几个区域时,这一个个区域黑/白点数比之联合,就成了空间的一个数值向量。在对比时,基本的数学理论就足以应付了。而另一类特征为结构的特征。例如文字影像细线化后,取得字的笔画端点、交叉点之数量及位置,或以笔划段为特征,配合特殊的比对方法进行比对,市面上的线上手写输人软件的识别方法多以此种结构的方法为主。

比对数据库

当输人文字算完特征后,不管是用统计或结构的特征,都需有一比对数据库或特征数据库来进行比对,数据库的内容应包含所有欲识别的字集文字以及根据与输人文字一样的特征抽取方法所得的特征群组。

比对识别

比对识别是指根据不同的特征特性,选用不同的数学距离函数进行比对.较有名的比对方法有欧式空间的比对方法、松弛比对法(Relaxation)、动态程序比对法(Dynamic Programming, DP)以及类神经网络的数据库建立及比对、HMM(Hidden Markov Model)等着名的方法。为了使识别的结果更稳定,提出了专家系统(Experts System),利用各种转征比对方袂的相异互补性,使识别结果的可靠性提高。

字词后处理

由于OCR的识别率并无法达到百分之百,为了加强比对的正确性及信心值,一些除错或甚至帮忙更正的功能,便成为OCR系统中必要的一个模块。字词后处理就是一例。它在比对后的识别文字与其可能的相似候选字群中,根据前后的识别文字找出最合乎“词”的词,作为更正的功能。例如识别出“找门”,在词库中找不到这个词,而“我”是“找”的相似候选字,因此很自然地将“我”取代“找”,而成“我们”。

字词数据库

它是为字词后处理所建立的词库。

人工校正

这是OCR最后的关卡。在此之前,使用者可能只是拿个鼠标,跟着软件设计的节奏操作或仅是观看,而在此则需要使用者去更正甚至找寻可能是OCR出错的地方。一个好的OCR软件,除了有一个稳定的影像处理及识别核心以降低错误率外,人工校正的操作流程及其功能也影响OCR的处理效率。因此,文字影像与识别文字的对照及其屏幕信息摆放的位置,还有每一识别文字的候选字功能、拒认字的功能及继字词后处理而特意标示出可能有问题的字词,都是为了让使用者尽量少地使用键盘。当然,不是说系统没显示出的文字就一定正确,可根据具体要求决定是否重新校正一次。

结果输出

其实输出是件简单的事,但需看使用者用OCR到底为了什么。有人只要求文本文件用于部分文字的再使用,所以只要一般的文字文件,有人要求输人文件的原文原封不动地重现出来;有人注重表格内的文字,要求跟Excel等软件结合。无论怎么变化,都只是输出档案格式的变化而已。

‘叁’ 新手求教,请问用matlab的ocr工具箱怎么对汉字进行识别

需要安装一个叫 OCR Language Data Files的东西。 我的经验是, 直接在你的语句中写, 例如,

results = ocr(I,'Language', 'ChineseSimplified');

运行时, Matlab会出错。

例如;

************************************************************

>> OCRExampleJL

错误使用 vision.internal.ocr.validateLanguage (line 41)

Install the OCR Languages Support Package to use 'ChineseSimplified'.

*********************************************************

这最后一行是链接。 可以点进去然后安装。 最好, 安装时以下载, 手动的方式安装。 否则太慢。

装好后运行汉字识别还是OK的。 如图下图结果。



‘肆’ 自然场景文字识别的代码怎么写,用matlab仿真

试试CTPN 有在线demo

‘伍’ matlab实现ART1汉字分类,训练,识别代码

这都不会,猪啊!唉~

‘陆’ 求一个能做毕业设计的Matlab图像文字识别题目

排除车牌这个小伙伴们最喜欢用的道具...那你可以考虑一下用集装箱侧面箱号区域,主要分为定位和识别两大部分。整个过程如下:
读入图片预处理 --> 字符定位初始化 --> 字符强化搜索处理 --> 模板匹配形态识别 --> 输出结果

如果楼主需要的话,我还可以说的具体一些

‘柒’ matlab 文字检测

赵辉《Visual+C++_MATLAB图像处理与识别实用案例精选》

程序代码说明
P0201:MATLAB赋值
P0202:MATLAB中的for循环
P0203:MATLAB中的for循环和if条件
P0205:MATLAB图像处理的基本操作
P0206:MATLAB高级图像处理操作
P0207:根据RGB图像创建一幅灰度图像
P0208:二值图像的取反操作
P0209:用imshow函数显示图像
P0210:在同一个窗口内显示两幅图像
P0301:数字图像矩阵数据的显示及其傅立叶变换
P0302:二维离散余弦变换的图像压缩
P0303:采用灰度变换的方法增强图像的对比度
P0304:直方图均匀化
P0305:模拟图像受高斯白噪声和椒盐噪声的影响
P0306:采用二维中值滤波函数medfilt2对受椒盐噪声干扰的图像滤波
P0307:采用MATLAB中的函数filter2对受噪声干扰的图像进行均值滤波
P0308:图像的自适应魏纳滤波
P0309:运用5种不同的梯度增强法进行图像锐化
P0310:图像的高通滤波和掩模处理
P0311:利用巴特沃斯(Butterworth)低通滤波器对受噪声干扰的图像进行平滑处理
P0312:利用巴特沃斯(Butterworth)高通滤波器对图像进行锐化处理
P0401:用Prewitt算子检测图像的边缘
P0402:用不同σ值的LoG算子检测图像的边缘
P0403:用Canny算子检测图像的边缘
P0404:图像的阈值分割
P0405:用水线阈值法分割图像
P0406:对矩阵进行四叉树分解
P0407:将图像分为文字和非文字的两个类别
P0408:形态学梯度检测二值图像的边缘
P0409:形态学实例——从PCB图像中删除所有电流线,仅保留芯片对象
P0502:计算图像中的欧拉数
P0610:神经网络的实例
P0701:细胞边缘检测
P0702:癌细胞形态学分析
P0703:癌细胞颜色分析
P0801:索书号文字图像分割
P0802:粘连字符切分
P0803:文字识别
P0804:彩色车牌分割
P0805:商标文字分割
Recognition:文字识别的识别子函数
StrDetect01:文字识别的结构特征提取子函数程序代码说明
P0901:灰度AGV路径识别
P0902:彩色AGV路径识别
P0903:HSI彩色空间的AGV路径识别
P0904:路径中心线的定位
P0905:Radon变换的AGV路径偏差检测
另外,站长团上有产品团购,便宜有保证

‘捌’ 用MATLAB做文字识别仿真

文字识别 要用神经网络。
具体参考神经网络的guide文件,关于 Character Recognition 应用:
11-15
Appcr1: Character Recognition
It is often useful to have a machine perform pattern recognition. In particular,
machines that can read symbols are very cost effective. A machine that reads
banking checks can process many more checks than a human being in the same
time. This kind of application saves time and money, and eliminates the
requirement that a human perform such a repetitive task. The demonstration
appcr1 shows how character recognition can be done with a backpropagation
network.
Problem Statement
A network is to be designed and trained to recognize the 26 letters of the
alphabet. An imaging system that digitizes each letter centered in the system’s
field of vision is available. The result is that each letter is represented as a 5 by
7 grid of Boolean values.
For example, here is the letter A.
Load the alphabet letter definitions and their target representations.
[alphabet,targets] = prprob;
However, the imaging system is not perfect, and the letters can suffer from
noise.11 Applications
11-16
Perfect classification of ideal input vectors is required, and reasonably accurate
classification of noisy vectors.
The twenty-six 35-element input vectors are defined in the function prprob as
a matrix of input vectors called alphabet. The target vectors are also defined
in this file with a variable called targets. Each target vector is a 26-element
vector with a 1 in the position of the letter it represents, and 0’s everywhere
else. For example, the letter A is to be represented by a 1 in the first element
(as A is the first letter of the alphabet), and 0’s in elements two through
twenty-six.
Neural Network
The network receives the 35 Boolean values as a 35-element input vector. It is
then required to identify the letter by responding with a 26-element output
vector. The 26 elements of the output vector each represent a letter. To operate
correctly, the network should respond with a 1 in the position of the letter being
presented to the network. All other values in the output vector should be 0.
In addition, the network should be able to handle noise. In practice, the
network does not receive a perfect Boolean vector as input. Specifically, the
network should make as few mistakes as possible when classifying vectors with
noise of mean 0 and standard deviation of 0.2 or less.
Architecture
The neural network needs 35 inputs and 26 neurons in its output layer to
identify the letters. The network is a two-layer log-sigmoid/log-sigmoid
Appcr1: Character Recognition
11-17
network. The log-sigmoid transfer function was picked because its output
range (0 to 1) is perfect for learning to output Boolean values.
The hidden (first) layer has 25 neurons. This number was picked by guesswork
and experience. If the network has trouble learning, then neurons can be added
to this layer. If the network solves the problem well, but a smaller more
efficient network is desired, fewer neurons could be tried.
The network is trained to output a 1 in the correct position of the output vector
and to fill the rest of the output vector with 0’s. However, noisy input vectors
can result in the network’s not creating perfect 1’s and 0’s. After the network
is trained the output is passed through the competitive transfer function
compet. This makes sure that the output corresponding to the letter most like
the noisy input vector takes on a value of 1, and all others have a value of 0.
The result of this postprocessing is the output that is actually used.
Initialization
Create the two-layer network with newff.
net = newff(alphabet,targets,25);
Training
To create a network that can handle noisy input vectors, it is best to train the
network on both ideal and noisy vectors. To do this, the network is first trained
on ideal vectors until it has a low sum squared error.
Then the network is trained on 10 sets of ideal and noisy vectors. The network
is trained on two copies of the noise-free alphabet at the same time as it is
trained on noisy vectors. The two copies of the noise-free alphabet are used to
maintain the network’s ability to classify ideal input vectors.
p1
a1
1
1
n1
n2
35 x 1
10
x1
10 x 1
26 x 1
26 x 1
26 x 1
Input
26 x 10

‘玖’ 有没有关于文字识别的文献,matlab有关的!来发我一下吧求回答!!

然后图像切割需要算法,还得看你的图像具体有什么特征,可以确定每一个问题的区域。
然后模式类需要特征吧? 还得去找找 设计文字识别常用的特征 文献资料。!@

阅读全文

与matlab文字识别算法相关的资料

热点内容
linux硬盘格式化命令 浏览:518
神舞幻想存档放哪个文件夹 浏览:650
怎样把pdf转为图片 浏览:335
51单片机指令jz 浏览:91
ug后处理算法更改 浏览:370
河南服务器负载均衡是什么 浏览:684
docker容器执行命令 浏览:152
程序员成本管理思路 浏览:171
租界租界pdf 浏览:624
ipad上pdf 浏览:647
程序员没钱买房完整版 浏览:815
贞观政要pdf 浏览:713
php打印错误信息 浏览:337
zec是什么压缩机 浏览:286
vivov3如何刷安卓60 浏览:180
平板电脑开机解压 浏览:917
平板教师上网课用什么app 浏览:888
一遵命令 浏览:276
比心app锁一下是什么意思 浏览:276
群晖和联想的云服务器区别在哪里 浏览:475