当前位置:首页 » 操作系统 » 粘连算法

粘连算法

发布时间: 2024-10-05 10:10:45

㈠ OCR文字识别软件哪个易用可网上下载

OCR文字识别软件 Mini Ocr

xdowns.com/view_soft/3/7/OCRwenzishibieruanjian Mini Ocr.html



本软件是飞涛软件工作室开发的一款免费Ocr软件,主要用于识别图像文件之中,出现
的汉字显示字体。Ocr的中文含意是光学字符识别。
为什么叫Mini呢?因为现有的识别汉字的商业Ocr软件,动辄二三十兆,而本软件解
压后,也不过三兆多,身材比较纤小,再加上本软件主要用于识别字体比较小的汉字,所
以叫Mini,中文的发音是“迷你”,中文含义是超小型。

既然有了商业Ocr软件,为什么还要开发这个软件?

不同于商业Ocr软件,本软件是免费的,可以自由使用。第二个不同之处,本软件的
识别对象是屏幕出现的“显示汉字”,而不是针对扫描仪扫出来的“打印汉字”。二者有什
么不同呢?最重要的一点: 扫描出来的打印汉字的高度和宽度一般都在30多个像素点之
上,这是我用画图软件,打开某个商业Ocr的samples\sample1.tif,然后一点一点数出
来的。从文件名和目录名的中文含意可以看出,这个点数应该是一个典型值。那么,如果
用商业Ocr识别屏幕上出现的小五号字,汉字的高度是12个像素点,会出现什么情况呢?
测试方法:用记事本随便写几行汉字,设置字体为小五号字。这大概是看着还算舒服
的最小号的汉字字体了(高度是12个像素点),如果再小,字体就很难看了。然后,按拷
屏键PrtSc,把屏幕的图像拷贝、粘贴到画图软件中,修剪尺寸后,保存为bmp的格式。
然后,我找了两个国内最着名的Ocr软件进行测试,结果让人大吃一惊,识别率几乎为零。
把图像放大两倍,再测试,结果仍然很不理想,大概也只有百分之二三十的样子。

开发Mini Ocr软件的由来

我在开发护花使者反黄图像识别软件的时候,遇到有些图像里,嵌有某些文字,如果能
把文字识别出来,图像的含义就很容易让计算机理解了。预算有限,我连扫描仪都舍不得
买,就更别想买商业Ocr的开发包了,大概几十万,或者更多,或者别人压根就不卖。况且
它们的识别率对小字体几乎为零,不符合我的要求。看来,只好自力更生,重新写一个了。

开发Mini Ocr的历程

经过三个多月的努力,终于诞生了这款Mini Ocr 软件。第1个月做出了汉字识别的
核心模块,第2个月做出了文章段落切分的算法,并加入了对英文,数字,标点的支持,
第三个月继续调整英汉混排和汉字切分的算法,并用MFC 做了一个界面。

Mini Ocr的软件架构

为了让更多的人能使用到这个软件,我在windows系统下,采用VC进行编程,界面当
然只好用MFC写了。软件架构是一个SDI框架下的多窗口切分界面,左上角的窗口是一个
CFormView,用来显示常用的按钮;左下角是一个CEditView,用来显示帮助信息;右上角
是一个CView,用来显示要识别的图像;右下角是一个CEditView,用来存放识别出来的文
字。识别部分采用了工作者线程,以避免显示界面的主线程僵掉。识别部分是整个软件的
核心,与操作系统无关,可以单独摘出来放在dos窗口里跑,也可以移植到Linux系统中跑。

汉字识别软件的难点所在:

英文识别有一些开放源码的软件,我看过的软件,主要采取两种识别方法:基于规则
的方法,和采用神经网络方法。而这两种方法,在识别汉字时,都不宜采用。因为汉字数
目众多,最常用的国标2312的一级汉字就有3755个。如果借用基于规则的方法,需要对
三千多个汉字,逐一人工写出分类规则,工作量太大,我一个人无法完成;如果采用神经
网络的方法,这么多汉字,我不敢想象,需要多少层网络和神经节点呀!如果采用网格法,
抗位移的效果太差;而采用不变矩法,识别人和入,土和士,相似度又难于控制。除此之
外,汉字切分也是一大难题。英文宽度大概只有汉字一半,标点符号大概只有汉字三分之
一宽,数字大概只有四分之一的宽度。而汉字本身又有二分字,和三分字。某些字,如“啊”,
字体小时可能是独体字,字体大些,变为二分字,字体再大,又变为三分字。加上汉字与
汉字之间的粘连、汉字与英文的混排,英文与英文的粘连,造成汉字切分模块的算法,甚
至比汉字识别模块的算法还要复杂得多。为了克服这些难点,并加快识别速度,我在算法
设计时,采用了一些优化和简化的策略。经过实践检验,证明行之有效。

Mini Ocr进行汉字识别的策略:
1) 采用复合特征的分类方法。
2) 字符集选择3755个一级汉字。
3) 字体选择最常用的宋体。
4) 字号选择从小五号到一号汉字,主要针对20个点之内的小字体。
5) 英汉混排时,汉语优先。
6) 汉字粘连时,进行动态优化切分。

展望与下一步的开发计划:
1) 重新优化英文识别的算法;
2) 对英文粘连的切分算法进行调整;
3) 移植进入Linux;

选择Ocr软件的建议:

如果您选择Ocr软件,目的是用来识别扫描仪出来打印字体,推荐还是选用知名的商业Ocr。
如果您要识别屏幕上显示的汉字,Mini Ocr是一个比较不错的选择。真诚地希望您在使用
中,能喜欢上它

㈡ 阐述提高场景文字检测算法性能的难点

1、图像输入、预处理:
图像输入:对于不同的图像格式,有着不同的存储格式,不同的压缩方式。预处理:主要包括二值化,噪声去除,倾斜较正等
2、二值化:
对摄像头拍摄的图片,大多数是彩色图像,彩色图像所含信息量巨大,对于图片的内容,我们可以简单的分为前景与背景,为了让计算机更快的,更好的识别文字,我们需要先对彩色图进行处理,使图片只前景信息与背景信息,可以简单的定义前景信息为黑色,背景信息为白色,这就是二值化图了。
3、噪声去除:
对于不同的文档,我们对燥声的定义可以不同,根据燥声的特征进行去燥,就叫做噪声去除
4、倾斜较正:
由于一般用户,在拍照文档时,都比较随意,因此拍照出来的图片不可避免的产生倾斜,这就需要文字识别软件进行较正。
版面分析:5、将文档图片分段落,分行的过程就叫做版面分析,由于实际文档的多样性,复杂性,因此,目前还没有一个固定的,最优的切割模型。
6、字符切割:
由于拍照条件的限制,经常造成字符粘连,断笔,因此极大限制了识别系统的性能,这就需要文字识别软件有字符切割功能。
7、字符识别:
这一研究,已经是很早的事情了,比较早有模板匹配,后来以特征提取为主,由于文字的位移,笔画的粗细,断笔,粘连,旋转等因素的影响,极大影响特征的提取的难度。
8、版面恢复:
人们希望识别后的文字,仍然像原文档图片那样排列着,段落不变,位置不变,顺序不变,的输出到word文档,pdf文档等,这一过程就叫做版面恢复。
9、后处理、校对:
根据特定的语言上下文的关系,对识别结果进行较正,就是后处理。
开发一个OCR文字识别软件[2]系统,其目的很简单,只是要把影像作一个转换,使影像内的图形继续保存、有表格则表格内资料及影像内的文字,一律变成计算机文字,使能达到影像资料的储存量减少、识别出的文字可再使用及分析,当然也可节省因键盘输入的人力与时间。从影像到结果输出,须经过影像输入、影像前处理、文字特征抽取、比对识别、最后经人工校正将认错的文字更正,将结果输出。

㈢ 怎么进行人民币冠字码识别

人民币纸币上除了汉字、少数民族文字、汉语拼音及第四套人民币主币上增加的盲文外,还有用以控制各种票券印制数量和防伪作用的冠号和号码。冠,取首之意,冠字也称“字头”,即印在票券号码前的符号,用以表示各种票券和印制数量的批号。

中国人民银行发行的五套人民币纸币,前三套均使用两个或三个不同的罗马数字(Ⅰ、Ⅱ、Ⅲ、Ⅳ等)作冠字,第四套人民币改成两个相同或不同的汉语拼音字母作冠字,而“庆祝中华人民共和国成立50周年”流通纪念钞只用一个汉语拼音字母作冠字。

号码也是表示票券印制数量的编号,是每一冠字批号中的具体编号,一般采用阿拉伯数字排列号码,一票一号,在同一冠字批号中的号码一般不会出现重复。从钞票的号码位数可以看出该组冠字所印票券的多寡,即位数越多,印制数量越大,反之印制数量越少。

(3)粘连算法扩展阅读:

冠字号码新排列方式

2010年年初,央行调整了人民币纸币的冠字号码排列方式,如市场所见“A0A0000001”方式。随着现金发行量的增加,人民币纸币冠字号码排列方式仍会不断调整变化(如“A00A000001”和“A000A00001”等排列方式。

市面上较为广泛使用的第五套人民币100元纸币的冠字号码为十位,前两位是大写的拼音字母组合,后八位则为阿拉伯数字,其中冠字号码前四位为红色,后六位为黑色。

央行有关人士证实,如今两个拼音字母相互排列的冠号组合已经全部使用完,因此有一部分人民币百元钞冠号部分变更为拼音字母 数字拼音字母的形式,就如市面上已经出现的“A0A0000001”。而且,今后随着现金发行量的增加,冠字号码的排列方式还将进行调整。

㈣ imreconstruct 这个matlab的函数有人懂的吗

imreconstruct()函数的功能是对图形形态修饰。

imreconstruct()书写主要格式为

IM = imreconstruct(MARKER,MASK)

MARKER——标记,标记和掩码可以是两个灰度图像或两个二进制图像具有相同的大小。标记必须是相同的大小。

MASK——面膜,作为面膜,其元素必须小于或等于面具的相应元素。

应用实例代码:

I = imread('snowflakes.png'); 读写图形文件,snowflakes.png

mask = adapthisteq(I); 对比度自适应直方图均衡化(CLAHE)

se = strel('disk',5); 形态学结构元素

marker = imerode(mask,se); 图像灰度化

obr = imreconstruct(marker,mask);

figure, imshow(mask,[]), 修饰前的图形(图1)

figure, imshow(obr,[]) 修饰后的图形(图2)

热点内容
分解质因数c语言 发布:2024-10-05 12:15:53 浏览:776
mysql存储过程字符编码 发布:2024-10-05 12:05:48 浏览:180
c语言命名 发布:2024-10-05 11:56:38 浏览:616
编程哪个好学习 发布:2024-10-05 11:50:59 浏览:999
为什么不买安卓旗舰 发布:2024-10-05 11:46:04 浏览:380
ostcb编译条件 发布:2024-10-05 11:28:24 浏览:993
win10怎么关闭登录密码 发布:2024-10-05 11:09:55 浏览:935
降温解压器 发布:2024-10-05 10:54:15 浏览:421
轧钢压缩空气 发布:2024-10-05 10:54:10 浏览:185
京东微信密码是多少 发布:2024-10-05 10:28:48 浏览:488