倾斜文本图像的快速矫正方法论文09720.doc

上传人:仙人指路1688 文档编号:3995758 上传时间:2023-03-30 格式:DOC 页数:42 大小:1.57MB
返回 下载 相关 举报
倾斜文本图像的快速矫正方法论文09720.doc_第1页
第1页 / 共42页
倾斜文本图像的快速矫正方法论文09720.doc_第2页
第2页 / 共42页
倾斜文本图像的快速矫正方法论文09720.doc_第3页
第3页 / 共42页
倾斜文本图像的快速矫正方法论文09720.doc_第4页
第4页 / 共42页
倾斜文本图像的快速矫正方法论文09720.doc_第5页
第5页 / 共42页
点击查看更多>>
资源描述

《倾斜文本图像的快速矫正方法论文09720.doc》由会员分享,可在线阅读,更多相关《倾斜文本图像的快速矫正方法论文09720.doc(42页珍藏版)》请在三一办公上搜索。

1、中央民族大学学士学位论文Bachelor Thesis of Minzu University of China 倾斜文本图像的快速矫正方法摘 要本文主要提出一种文本图像倾斜矫正的快速算法。在一幅给定的文本图像中,空白字符一般都按照一定的规则分布在页面上。基于文本图像的这一特性,我们提出了一种快速的倾斜矫正方法。在本文介绍的算法中,我们运用映射原理并对其进行改进。改进算法采用在各种倾斜角度下对像素统计的方法来判断文本图像的倾斜角度,而不是传统的通过实际转动图像进行判断。这种算法的优点主要在于处理速度快、抗噪能力强,以及它对文本图像完整性的要求比较低。这种新的算法原理简单明了,并且可以高效的应用

2、于本文图像的实时矫正。关键词:映射;图像;倾斜AbstractThis paper proposes a rapid method to accomplish text images correction from slant ones. In a given text image, blank characters are always distributed in a regular pattern. According to this intrinsic property in text images, an improved algorithm based on projection

3、principle is presented. In the method, statistics method under different angles is introduced and applied for the judge of the slant angle of a given image, instead of traditional method of revolving the given image. The advantage of this algorithm lies in its fastness, robustness and a decrease in

4、the requirement of the text image integrality. The method could be applied for the real-time slant correction effectively and efficiently, although its fundamental principle is simple.Key Words: Projection; Image; Slant 目 录前 言1一 投影的定义4二 传统的投影技术5(一)投影技术概论5(二)投影算法的具体操作过程5(三)传统投影技术的优缺点分析61.传统投影算法的优点62.

5、传统投影算法的缺点7三 映射算法的改进算法10(一)改进算法概论10(二)改进算法的主要思想10(三)改进算法的具体操作过程12四 实验结果展示13五 算法讨论15(一)改进投影算法的优点15(二)改进投影算法的缺点15六 结论17参考文献18附 录19附录1 传统投影算法程序源代码19附录2 改进投影算法程序源代码23致 谢30文献翻译31图表目录图0-1 倾斜图像与正确图像空白行对比. .3表1-1 模拟图像与其行投影值. . .4图2-1 两种旋转方式得出的不同结果. .9图3-1 坐标旋转示意图. .11图4-1 倾斜的彩色文本图像. . .13图4-2 倾斜的二值化文本图像. . .

6、 .13图4-3 矫正后的文本图像. . . .14图4-4 各个角度下的空白行数直方图. .14前 言在数字图像处理领域中,倾斜文本图像矫正发挥着重要的作用。倾斜图像矫正作为图像预处理过程,为图像具体信息识别和提取奠定必要的基础。在光学字符识别系统中,倾斜的字符很可能引起以下两个重要的问题1:第一,若对倾斜的字符进行字符分割操作,有可能导致字符本身的分离,也有可能同时造成含有大量噪音的分割块。第二,若倾斜的字符未进行矫正就直接应用,会使算法锻炼的过程花费更多的计算时间,与此同时,也会造成识别系统所得结果的精确度下降,使算法的稳定性受到负面影响。鉴于倾斜矫正所起的重要作用,现在大部分的光学字符

7、识别系统都包含字符倾斜矫正过程,作为一个重要的预处理步骤。精确的倾斜矫正对随后的图像处理具有重要的意义。对图像的倾斜矫正处理一般包含三个步骤:首先是选定处理对象中的操作区域,其次是对处理图像倾斜角度的估测,再次是将图像根据其倾斜角度进行倾斜矫正。显然,以上的三个步骤中,第二步是最重要的,这也是本文主要介绍的算法将要解决的问题。第三步只需将所处理的图像进行图像旋转即可,这一步骤的实施可以采用简单的图像旋转算法,或者其他的图像处理软件工具,如PhotoShop等。在相关文献中,文本图像倾斜矫正的方法众多。一些典型的方法包括动态广义霍夫变换2、映射算法、改进的霍夫变换3、线性回归4、基于图元识别的快

8、速算法5以及应用变分辨率图像金字塔策略6,这种策略的基本原理也是霍夫变换。长时间以来,由于具有较强的鲁棒性,广义霍夫变换在有关图形识别、特征提取7与倾斜数字图像矫正相关领域,一直备受青睐。霍夫变换的主要原理是将X-Y平面上的点线性映射到平面上的曲线。然而,由于这种算法巨大的运算量将给计算机带来沉重的运算负担8,因此,之后致力于减少霍夫变换运算量的改进算法层出不穷。这些算法包括改进的霍夫变换(Improved Hough Transform),这种算法不仅改进了广义霍夫变换的效果,而且很大程度的提高了原来算法的运行处理速度。对霍夫变换的另一个重大改进是融合了霍夫变换与图像金字塔策略的算法。这种改

9、进算法通过改变图像的分辨率的方式,在减少运算量的同时获得了较好的抗噪音能力。而在提高图像处理速度方面,图元识别算法取得了更大的成就。同时,这种算法保证了计算的结果达到可靠的精度范围。另一类倾斜文本图像矫正的方法则应用了线性回归方法。线性回归算法现在仍是一种直线识别的经典数学方法。利用线性回归方法可以获得颇具竞争力的运算速度,并且具有对图像大小没有限制这一优点。然而,线性回归算法与霍夫变换相比,其抗噪音的能力比较弱,这也是这种算法的主要缺点。在实际应用中被广泛应用的还有映射算法。由于映射算法的原理简单,对计算机存储空间要求低又对所处理的图像完整性要求不高,因此也成为一种较为流行的算法。但是由于传

10、统的映射算法在操作过程中要实际转动文本图像,因此不可避免的降低了其运行速度。在本文中,我们致力于寻找一种原理简单、操作容易、处理速度快且具可靠性的算法。基于映射算法在这些方面的优越性,本文介绍的算法仍采用映射的思想,同时对传统的映射算法进行改进,提高其运行速度。由于传统的映射算法运行速度受到转动图像的制约,因此我们主要针对“转动图像”的算法进行改进。在改进算法中,不需要真正的实现文本图像的转动,而是从各个方向去“观察”图像,并对其像素信息进行统计操作。再将存储的像素信息用于映射操作,实现图像倾斜角度的估测。这种思想将大大的提高操作速度,使其在实际应用中具有显著的优越性。改进的映射算法所处理的对

11、象是二值化后的文本图像,即在一幅文本图像中,只有黑、白两种颜色,对应的像素值分别为0和255。在下文的说明中,我们用“白点”指代像素值为255的像素;“黑点”指代像素值为0的像素。映射算法的主要思想可以用以下两点阐述:(1) 给定一幅二值文本图像,我们从水平方向观察(水平方向上的)任意一行可以发现,不论我们把图像旋转到何种角度,黑点都是大量分散的分布在图像中,而白点则不同:只有当图像转到正确的角度时,白点是大量的成行分布的。因此,白点的水平投影值就成为了确定文本图像倾斜角度的首选指标。(2) 当文本图像被旋转到正确的角度时,水平方向上的空白行的数量会比图像旋转到其他任何角度时多,即当图像以正确

12、角度放置时,从水平方向观察到的空白行数量达到峰值。由图0-1可见。 图0-1 倾斜图像与正确图像空白行对比论文的余下部分如下展开。正文的第一章将引入投影的定义;正文的第二章介绍投影算法的具体操作过程;正文的第三章介绍改进算法的主要思想;正文的第四章将展示算法的操作结果;在正文的第五章,我们将对改进算法进行讨论;正文的第六章为本论文的结论。一 投影的定义为清楚方便的阐述论文思想,我们有必要引入投影在本文中确切的定义。在韦伯斯特字典中,投影的定义为:通过映射每一个点,将空间中的某物质重建到平面或曲面或者一条线的过程或技术。在此,为方便叙述,我们提出一种在本文使用中更加精确明了的投影概念。定义 在二

13、值图像上建立笛卡尔平面坐标系;将整个二值图像分割成最小单位像素;累加某一水平行上的白点数目,计算所得的结果即为指定行上的白点的水平投影。由于图像中除了原有的文本字符信息外,还会掺杂一些噪点,因此我们可以更进一步设定一个合适的阈值来定义空白行。也就是说,如果某一行上白点的水平投影值大于我们预先设定的阈值,那么这一行就被认为是空白行。经过灰度及图像二值化处理,彩色图像中的噪音信息被处理为黑白图像中的黑点。阈值的引入使投影算法能够包容图像中偶然出现的噪点,从而算法具有更强的鲁棒性,使其能够抵抗图像中不可避免的随机噪音信息。一个合适的阈值,可以通过对一幅图像在几个角度取不同的阈值进行实验,使实验结果中

14、白点水平投影峰值最清晰明确的那个值即可确定为最终的阈值。通过上述定义,我们可以得出,在一个给定的二值图像中,我们可以唯一确定一个水平空白行的数目。与此同时,依据上述定义,我们亦可以定义某一列中白点的垂直投影。为了更充分的理解投影的定义,通过表1-1对投影进行说明。在表1-1中,我们用模拟了一个二值化图像,其中,X代表白点,空白格代表黑点。在表1的第一列,我们给出了依据上述投影定义得出的每行的白点投影数。行投影值模拟图像3XXX2XX3XXX3XXX3XXX3XXX表1-1 模拟图像与其行投影值二 传统的投影技术(一)投影技术概论在本文对传统投影算法的实现中,我们设定,对于一个倾斜的文本二值图像

15、,其倾斜角度的范围为0到180度之间(包含0度而不包含180度)。也就是说,经过矫正后的图像可能是完全正着的,也可能是正好倒着的,而这两种情况在对图像的后续操作基本没有影响,因此,将文本图像的倾斜角度的变化域设为180度是合理的。本文计算倾斜角度的增量为1度,即结果精确到1度。对一幅给定的倾斜文本二值图像,我们依次计算其在0到180之间每个角度的水平空白行的行数,并将其储存在一个一维数组中。之后,我们在所储存的数组中找到最大值,同时也可以得到最大空白行数,即峰值对应的旋转角度。显然,这个倾斜角度就是我们所要求的图像的倾斜角度。该投影算法的输入值为一个二值化后的文本图像,输出值为算法计算得到的该

16、文本图像的倾斜角度。(二)投影算法的具体操作过程第一步:对于一个给定的文本二值图像,首先计算该图像中每一个水平行的白点的投影数。之后,我们将这些值与预先设定的阈值作比较,比阈值大的投影数值所对应的行判断为空白行。从而,对于输入的文本二值图像,我们计算出了该角度下的空白行数。第二步:储存文本图像现在的角度和其在该角度下对应的空白行数(初始角度为0度)。存储可通过一维数组来实现。之后,判断文本图像现在的角度是否大于179度,如果大于179度,则转到第四步;否则转到第三步。第三步:将替换为+1。将原始文本图像顺时针旋转至。转到第一步。第四步:在存储角度与角度对应的空白行数的一维数组中找到空白行数的最

17、大值,同时得到该空白行数对应的角度。程序结束。注:关于阈值的选取过程,我们没有将其列入主要算法中,在此处说明。若希望选取较为合适的阈值,使计算结果最为合理与明确,我们可以根据文本图像的宽(即每一行上的像素个数)来确定一个初始的阈值,以这个阈值进行如上四步的操作,根据计算结果,合理改变初始阈值的值,再以这次设定的阈值重复进行上述四步的操作。在反复的实验中,就可以选出一个使各角度下空白行数差距较为明显易观察的作为合适的阈值。(三)传统投影技术的优缺点分析1.传统投影算法的优点传统投影算法现在仍被广泛使用,其具有许多其他的倾斜矫正算法所不具有的良好特性。传统投影算法主要的优点表现为以下几点:(1)

18、投影算法的原理简单明了通过空白行数这一判断指标,即可确定输入的文本图像的倾斜角度。并且空白行数的计算也可以很方便的实现。投影算法的简明的原理,使得其具有广泛的实际应用范围。(2) 投影算法具有较强的鲁棒性由于阈值的选取,使得投影算法包容偶然出现的少量噪音,具有一定的宽泛性。偶然的噪音干扰,并不会影响计算的结果。因为在我们的算法中,判断指标为空白行数,而偶然的随机的噪音若控制在一定数量内(即噪点所占像素个数少),则噪音所在行由于阈值给予的宽泛性,仍被判断为“空白行”,除非噪音在所在水平行大量出现,以致使本来的空白行未通过预先设定的阈值检验,而被判断为“非空白行”。因此,投影算法由于阈值的设定,具

19、有较强的抗噪音能力。这使得投影算法可以在实际应用中被可靠的使用。(3) 投影算法对计算机的内存要求较低由于投影算法的旋转部分可通过PhotoShop等软件来实现,因此其主要C+程序部分即为空白行判断与统计的过程,因此算法实现容易,且不需要占用计算机大量的存储空间,这就使得投影算法在空间效率上占有一定优势。在存储效率来看,投影算法要优于霍夫变换。霍夫变换的主要思想是将X-Y平面上的点线性映射到平面上的曲线,这就要求对图像上的每一个像素点进行映射后,在另一个平面进行统计,因此其需要很大的存储空间,对计算机的内存要求较高。霍夫变换的算法较为复杂、存储空间需求大,这也使得霍夫变换这一经典算法在实际应用

20、中受到一定限制,而当操作对象为文本图像时,投影算法则很好的弥补了这一不足。由于传统的投影算法所需的存储空间只是几个一维数组,因此其对计算机的内存的要求较低,且同时这种简明的算法思想也使得其投影程序本身的运行速度很快,而使得整个操作过程消耗很多时间的则是图像的旋转过程,即上述操作步骤中的第三步。(4)投影算法对所处理的图像完整性要求不高投影算法的操作对象是文本图像,由于图像中白点的分布规律在图像的任何一部分上都可以得到体现,根据这一特点,我们知道投影算法可以对缺失的图像进行操作,也可以出于提高计算速度的目的,只对图像特征明显的一部分进行操作,这就在一定程度上降低了投影算法对所处理的图像的完整性要

21、求。投影算法对图像完整性的低要求,使得投影算法在实际应用中可以被广泛使用于处理多种文本图像。若图像较大,又对计算速度的要求较高,也可根据投影算法的这一特性,只对文本图像的某一部分进行操作,因此投影算法的处理过程有一定的灵活性。2.传统投影算法的缺点传统的投影算法具有很多优点的同时,也不可避免的具有一些缺点。传统投影算法缺点的主要来源是旋转操作。由于我们要将图像由初始位置旋转0度、1度、2度、179度后,再分别对每幅旋转后的图像进行投影计算,因此传统投影算法对旋转方法的依赖性很大,其所耗费的时间长短和结果的精确度很大程度上也取决于所选用的旋转方法。传统的投影方法中的旋转一般是由各类软件来实现的,

22、而本文中对传统投影方法的实现过程中,选用了PhotoShop作为旋转图像的工具。利用PhotoShop进行图像旋转时,会造成操作时间和结果精度方面的问题。一方面,用PhotoShop旋转的次数和每一次旋转所要花费的时间使整个投影算法的时间效率下降。这也就是说,需要将原始目标文本图像用PhotoShop分别旋转179次,再将每次旋转所得到的文本图像进行180次的投影算法计算(初始角度为0度,也需对原始图像进行投影计算),最后才能得出计算结果最大值,并得到最大值对应的角度,也就是我们所求的文本图像的倾斜角度;而另一方面,由于PhotoShop软件本身在图像旋转方面的特点也造成了旋转后的图像并非完全

23、忠实于原图像的信息,而使计算结果的精度受到影响。PhotoShop软件作为旋转工具时,其对结果准确度造成影响的原因主要是,PhotoShop的图像旋转算法为了达到理想的视觉效果,其旋转后的图像的像素值均在原来对应像素值的基础上做了一定调和处理,即图像上某一点A在原图像中为黑点,其周围的像素点均为白点,那么用PhotoShop旋转后的图像上,A点既不是黑点,也不是白点,而是带有一定的阴影色,这就是PhotoShop在旋转图像时,将A点的像素值与其周围的像素值做了“中和处理”,而使A点的像素值与原来图像上的像素值不一致。于是,如果利用PhotoShop对文本图像进行旋转操作,将会导致图像上原来的白

24、点遭到像素“中和处理”的侵蚀,使旋转后的图像上某些水平行的白点的水平投影减少,则原来能够通过空白行阈值检验的某些行,旋转后的白点投影数小于阈值,而使这些行不能通过空白行检验,被误认为是“非空白行”,从而造成旋转后图像上的空白行数量减少,结果使图像的投影运算精度受到一定影响。要解决如上所说的由PhotoShop旋转图像带来的精度问题,我们可以用PhotoShop去旋转最初始的彩色图像,而不是经过二值化后的图像9。但是用PhotoShop旋转彩色图像,就意味着我们要对每次旋转后的图像进行灰度及二值化处理,才能将其应用到后续的操作中。这就是说,我们要将原始图像旋转179次,灰度及二值化180次,再进

25、行180次投影运算,才可以求得倾斜角度。这种做法将很大程度上延长程序运行的时间。因此,我们没有选用这种方法,而是用PhotoShop直接对二值化后的图像进行旋转,然后将旋转后的图像直接应用到投影算法中。应用PhotoShop进行旋转有两种方法,不同的旋转方法的选用也会对结果的精度产生不同程度的影响,因此算法显得不稳定。具体的两种旋转方法:第一种是每个角度的旋转都从原图像出发,即要处理旋转角度为1度的图像时,我们的操作方法是利用PhotoShop将原图像旋转一度,再进行投影运算,在处理旋转角度为2度的图像时,也是利用PhotoShop将原图像旋转两度,再进行投影运算,同理,在处理旋转角度为179

26、度的图像时,也是利用PhotoShop将原图像旋转179度,再进行投影运算。也就是说,我们每次用PhotoShop进行图像旋转的对象都是原图像,而非某一次旋转后的图像。第二种旋转方法是每一次旋转图像的操作的对象都是前一次操作产生的旋转后的图像,即依次将上一角度的图像旋转1度,得到这一角度下的图像。也就是说,在处理旋转角度为1度的图像时,我们的操作方法是利用PhotoShop将原图像旋转一度,得到图像A,再进行投影运算,在处理旋转角度为2度的图像时,是利用PhotoShop将图像A旋转一度,得到图像B,再对图像B进行投影运算,在处理旋转角度为3度的图像时,是利用PhotoShop将图像B旋转三度

27、,得到图像C,再进行投影运算,以此类推。由于旋转后的图像的像素较原图像上对应像素的像素值发生了一些改变,因此容易得出,若每次旋转都对原图像进行操作,则可以避免误差的累积,在一定程度上减小误差,从而减弱旋转操作对于投影矫正方法的准确度影响。出于这种考虑,本文对传统投影方法的实现过程中,选用了第一种旋转方法。为更直观的观察两种旋转方法的区别,图2-1给出了两种旋转方法所得到的结果对比,这里我们选用空白行数这一明显指标来凸显两种旋转方法对计算结果的影响。图中,横坐标为应用PhotoShop对图像旋转的角度,方向为顺时针旋转。其中原点对应的纵坐标为计算得出的原始图像的空白行数。负角度表示将文本图像逆时

28、针旋转到某一角度。图中曲线I为运用第二种旋转方法在旋转角度为横坐标所示角度时所得到的对应空白行数,而曲线II则为运用第一种旋转方法在旋转角度为横坐标所示角度时所得到的对应的空白行数。由图中可以明显看出,曲线I总是在曲线II下方的,也就是说曲线I在各个旋转角度下对应的空白行数的数值总是小于曲线II的对应数值,这是由于旋转算法对白点的“侵蚀”造成的,曲线I造成了误差的累加,因而对白点的“侵蚀”程度也比曲线II严重。 图2-1 两种旋转方式得出的不同结果如前所述,传统投影算法对于旋转工具的依赖性导致了其时间效率和精度上的缺陷,使得其在实际矫正文本图像时受到限制,因此,对传统的投影方法的改进重点是对旋

29、转方法的改进,这也是本文即将介绍的改进的投影算法的主要目的和内容。 三 映射算法的改进算法(一)改进算法概论由于传统算法受到旋转方法的极大制约,因此有必要对旋转方法进行改进。改进旋转方法的益处不仅体现在时间效率的提高上,而且还会使计算结果的精度最大程度的提高。要实现图像的旋转,可以选用的直观的两种方法有:客观上真正实现图像的旋转,或者主观从所需转动的角度去观察图像,而使图像可以像旋转后的那样应用在后续计算中。就如我们在前一章介绍的那样,在传统的投影方法中采用的就是第一种旋转方法,这种旋转方法在矫正倾斜文本图像过程中的弊端在时间效率和结果精度上比较明显。而改进的投影算法中应用的旋转方法采用“图不

30、转,视线转”的方法,即在改进的旋转算法中,我们不是真正的去实现文本图像的旋转,而是将视线按照所需的角度去观察图像,从而确定图像旋转后每行的像素点在原图像中的坐标,之后就可以按照所得到的坐标去原图像中查询其像素值。显而易见,我们应用改进的旋转算法所得到的图像是绝对忠实于原图像的,而不像应用PhotoShop进行旋转那样,会在一定程度上改变原图像中的部分像素值。于是,整体投影算法的精确度也得到了提高。应用改进的旋转方法的益处还在于其可以极大程度的提高运算速度,这一优点的原理我们将在第五章算法讨论中阐述。(二)改进算法的主要思想由于改进的旋转方法的原理是“图不转,视线转”, 因此,这一算法的关键在于

31、确定图像“旋转后”每一行上像素的像素值。我们采用类似于指针的方法来操作。在实施过程中,我们只记录图像“旋转”后每一水平行上的像素在原图像中的坐标,再根据这一坐标,在原图像中查询其像素值。因此,改进的旋转算法的关键点就在于确定图像“旋转”后每一行的像素在原图像中的坐标。而这一问题则完全可以通过几何中坐标变换方法计算得到。我们利用一个三维数组结构体来存储在每个旋转角度下,由每一行观察,在该角度及观察点下深入的纵深对应的像素点的横坐标及纵坐标。三维数组中的每一个元素都有两个分量:X代表对应像素点在原图像上的横坐标,Y代表对应像素点在原图像上的纵坐标。而这个三维数组的每一个维度分别是旋转的角度、每一行

32、、在这一角度及起点下进行观察所深入的纵深。不难看出,由以上所说的这三个指标,就可以完全确定某一像素点。下面我们分别对三维数组的每一个维度进行说明,为清楚的阐释这一问题,我们将其具体化,如我们所用的三维数组中每一个元素为Aaji,其中a代表旋转的角度,j为某一行的起始点,i为该方向下的纵深。首先,a为文本图像旋转的角度。由于改进的旋转算法不对图像进行实际旋转操作,因此这里的a又可以理解为视线偏离X坐标轴正方向的角度。在本文采用的算法中,旋转的方向为逆时针。其次,j代表文本图像的每一行。我们定义文本图像的边缘点个数为图像的长与图像的宽之和,其中图像的长、宽均以像素点的个数来计数。同时定义原点为第一

33、个边缘点。再次,i代表在扫描角度为a,扫描起始点为j的条件下,扫描的纵深,即在该方向下扫描的像素点数。Aaji作为三维数组元素的同时,又是一个结构体,其具有两个成员分量:Aaji.x 以及Aaji.y,它们分别表示Aaji 所确定的那个像素点在原图像中的横坐标与纵坐标。如前所述,Aaji的横坐标与纵坐标可以通过a、j、i三个指标来完全确定。确定的方法基于几何方法中的坐标变换公式。图3-1 坐标旋转示意图由简单的三角变换,可以得到:Y=-X sin(a) + Y cos(a);X=X cos(a) + Y sin(a);由于本文采用的算法中,图像是绕原图像的中心旋转的,因此我们有必要讨论图像上的

34、任意一个像素点坐标(X,Y)绕一个坐标点(M,N)逆时针旋转A角度的坐标变换公式。设按上述变换得到的新坐标为(X, Y),那么我们有:X=(X-M) cos(A) + (Y-N) sin(A) + M;Y=-(X-M) sin(A) + (Y-N) cos(A) + N;再由简单变换,我们亦可以得到由新坐标(X,Y)求原坐标(X,Y)的公式:X=(X-M) cos(A) - (Y-N) sin(A) + M;Y=(X-M) sin(A) + (Y-N) cos(A) + N;这样,我们就可以得到新坐标在原图像中的坐标。确定某一像素点在原图像上的横纵坐标后,我们可以通过原图像上的像素信息,根据横

35、纵坐标来查找该像素点的像素值。这就意味着,我们可以知道旋转后图像每一行像素的像素值,这就相当于我们对图像实际进行了旋转。因此,我们就可以完全实现图像的旋转操作。同时,由于Sin与Cos函数的计算机处理过程较慢,我们在用C+算法实现时,可以将某一角度A的正弦与余弦值提前计算出来,以达到提高运算速度的目的。(三)改进算法的具体操作过程本文介绍的改进算法主要针对旋转方法,其对文本图像使用投影算法的部分与传统投影算法是基本一致的。下面介绍改进的旋转算法的主要步骤:第一步:将所需旋转的目标图像的像素信息储存在一个二维数组imageij中,其中,i为某像素点的纵坐标,j为像素点的横坐标,imageij为该

36、像素点的像素值。在这里,imageij只有两个取值:0和255。第二步:计算图像的旋转中心,并动态开辟一个三维数组结构体。第三步:为实现较快的运行速度,在某个确定的角度下,计算该角度下的正弦与余弦值。第四步:由坐标变换公式,将三维数组每一个元素的两个分量(该坐标在原图像中的横纵坐标)用三个维度表达出来。即确定三维数组结构体的成员分量。根据得出的像素点的横纵坐标,对“旋转”后的图像进行投影算法操作。投影算法具体操作流程详见第二章中的算法操作过程介绍。至此,程序结束。改进算法的优缺点分析,我们将在第五章算法讨论中详细分析。四 实验结果展示在这一章中,我们主要展示改进的投影算法的实验结果。我们选用的

37、图像具有很多噪音,这样的文本图像选择可以验证投影算法的强鲁棒性。在选择阈值的过程中,我们经过多次对比,发现当空白行检验的阈值设定为370时,各个角度下空白行数的差距容易观察,使结果更加明显。因此,我们设置阈值为370。图4-1为原始操作对象带有噪音的倾斜彩色文本图像。图4-2是经过灰度与二值化处理后的二值化文本图像,这是我们进行投影算法操作的对象。图4-3所展示的是利用投影算法矫正后的结果图像。图4-4所示为各个角度下的空白行数。图4-1 倾斜的彩色文本图像图4-2 倾斜的二值化文本图像图4-3 矫正后的文本图像图4-4 各个角度下的空白行数直方图由图4-4可以观察出,空白行数在2度(顺时针)

38、时达到最大值,因此图4-4的倾斜角度为2度。五 算法讨论本章主要对改进的投影算法进行讨论。由于我们是在传统的投影算法上进行改进的,传统投影算法的优缺点在第二章已经进行了详细的分析,因此,本章不再赘述。下面在传统投影算法的基础上分析改进投影算法的优点及缺点。(一)改进投影算法的优点改进的投影算法是在传统的投影算法的基础上,对其旋转图像的算法进行改进,因此,投影算法的优点改进的投影算法也都具备,下面对改进算法的两个不同于传统投影算法的优点进行讨论。1. 改进的投影算法处理速度快,时间效率高由于改进的投影算法中选用了改进的图像旋转方法,从而图像不必真正的经过旋转变换。因为要考察文本图像旋转角度范围为

39、0度到179度,因此传统投影算法需要旋转图像179次,所以这种改进的旋转算法在节省时间上的优势就愈加明显。也就是说,改进的旋转方法与传统的方法相比,节省了T179单位时间,其中,T为利用PhotoShop对图像顺时针旋转1度所需要的时间。从算法来看,改进的旋转算法的原理类似于指针。我们通过计算得出要查找的像素点在原图像上的横纵坐标,之后到原图像上查找其像素值。整个旋转图像的过程被简化为一个计算和查询的过程,因此,改进的投影算法在时间效率上要远远优于传统的投影算法。2. 改进的投影算法计算精度高正如前面介绍的那样,投影算法对于图像旋转方法具有一定依赖性,而传统的图像旋转方法会在一定程度上更改图像

40、上的一部分像素信息,因此造成了传统的投影算法的精度下降。而改进的投影算法运用类似于指针的操作方式,旋转后图像各个像素的像素值完全忠实于原图像的相应信息,因此,改进的投影算法的精度会很大程度的提高。(二)改进投影算法的缺点由于利用C+实现图像旋转的过程中,需要开辟三维数组结构体,而且当要处理的文本图像很大时,每个维度上的数目也都很大,因此对计算机内存的要求比较高,导致整个算法的空间效率下降。因此,我们可以这样说,改进的投影算法是用空间效率换时间效率的快速算法。同时,投影算法在抗噪音能力方面要弱于霍夫变换10,这也在实际应用中,受到一定制约。若要提高改进的投影算法的空间效率,我们可以只对图像的一部

41、分进行操作,但是这样虽然会在一定程度上提高空间效率,但会造成算法的稳定性下降,使结果的准确性不如对整篇图像进行操作来的可靠,因为在选择操作的图像部分时,可能导致图像上信息较多、特征明显的那部分被忽略。六 结论本文主要引进了一种改进的文本图像倾斜矫正的快速算法。本文在实现了传统投影算法,并对其进行时间效率、空间效率及其他指标的分析,同时,致力于减少传统算法的不足,对其进行改进。改进算法的成果在第四章中展示。改进后的算法具有较强抗噪能力、运行速度快、计算精度高、易于操作、对图像完整性要求较低等优点。参考文献1 E. Kavallieratou, N. Fakotakis, G. Kokkinaki

42、s. Slant Estimation Algorithm For OCR Systems. Wire Communications Laboratory2 鲁昌华,韩静,刘春基于Hough变换的角度检测和特征识别电子测量与仪器学报,2005、19(5):45-493 黄明蕾车牌识别系统中图像分割与识别技术研究科技创业月刊,2007(7):189-1904 赵楠楠,欧阳鑫玉,吴庆洪线性回归与Hough变换在计算图像倾斜角度中的应用鞍山科技大学学报,2003、26(6):457-4605 张秀山,吴产乐基于图元识别的OCR文本图像倾斜矫正快速算法海军工程大学学报,2004、16(4):48-52

43、6 瞿洋,杨利平Hough变换OCR图像倾斜矫正方法中国图象图形学报,2001、6(2):178-1817 A Mikhalev, R F Ormondroyd. Comparison of Hough Transform and Particle Filter Methods of Emitter Geolocation using Fusion of TDOA Data. 2007 IEEE:121-1278 Richard O. Duda, Peter E. Hart. Use of the Hough Transformation To Detect Lines and Curves

44、in Pictures. Communications of the ACM, 1972、15(1):11-159 Lin Liu, Sanyuan Zhang, Yin Zhang, Xiuzi Ye. Slant Correction of Vehicle License Plate Image. State Key Lab, 2005: 237-24410 E. DEL NINNO, G. NICCHIOTTI, E. OTTAVIANI. Image Analysis and Processing. Springer Berlin/Heidelberg, 1997:632-638附 录附录1 传统投影算法程序源代码#include #include #include #include lib1.hvoid main()int a=0;int w=638;int h=877;/int yuzhi=120;/BYTE *image12000;/BYTE *image22000;BYTE *image32000;/InitImage(image1,w,h);/InitImage(image2,w,h)

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号