燕山大学图像处理课程设计 基本文本图像的倾斜校正..

合集下载

倾斜矫正方案

倾斜矫正方案

倾斜矫正方案背景在现代社会中,越来越多的场合需要对文本图像进行识别与处理。

然而,在拍摄过程中,由于拍摄设备的因素,如相机的拍摄角度、拍摄位置等,会导致图片出现倾斜,从而给后续处理带来不便。

因此,进行倾斜矫正处理,将文本图像矫正成水平或垂直方向有利于提高识别和后续处理的准确度。

方案基于Hough变换的倾斜矫正Hough变换是一种常用的图像处理方法,适用于直线、圆等形状的提取与检测。

其中,概率Hough变换适用于检测直线。

运用概率Hough变换,可以通过以下步骤进行文本图像倾斜矫正:1.图像二值化处理,将颜色转化为黑白两种2.进行边缘检测,得到文本的边缘3.使用概率Hough变换,检测出文本的倾斜角度4.对图像进行旋转矫正,将文本矫正至水平或垂直方向使用Hough变换法进行倾斜矫正处理,具有以下优点:•对各角度的线段都能检测,鲁棒性好•可以适用于各种形状的文本图像但这种方法也有以下缺点:•算法对计算时间要求高,处理大图像时速度较慢•对于垂直、水平直线检测不如霍夫变换基于霍夫变换的倾斜矫正霍夫变换也是常用的图像处理方法,适用于基于形状特征的检测,例如直线、圆、椭圆等形状。

使用霍夫变换法进行倾斜矫正处理,具有以下优点:•操作简单,速度快•可以适用于各种形状的文本图像以下是使用霍夫变换进行文本图像倾斜矫正的步骤:1.将文本图像转化为灰度图像2.边缘检测,检测出文本的边缘3.进行霍夫变换,计算得到图像中直线的参数4.计算出倾斜角度,进行图像矫正使用霍夫变换进行倾斜矫正处理,可以快速地对文本图像进行处理。

但是,需要注意的是,霍夫变换的缺点是对于小角度的垂直或水平线检测精度不够高。

总结在进行文本图像处理时,倾斜矫正是必要而重要的一个环节。

使用Hough变换或是霍夫变换都可以对图像进行矫正,但应根据图像的特征选择相应的处理方法。

以下是常用的倾斜矫正处理方法:•Hough变换•霍夫变换根据图像的需求和特征,选择合适的方法进行处理,可以达到较好的处理效果。

通过OpenCV和Python进行文本倾斜校正

通过OpenCV和Python进行文本倾斜校正

通过OpenCV和Python进行文本倾斜校正本文所展示的是一个由Pyhton实现的文本倾斜校正的脚本,在实现中使用到了OpenCV和Python的图像处理函数。

假设我们有一幅图像,图像中的文本被旋转了一个未知的角度。

为了对文字进行角度的校正,我们需要完成如下几个步骤:1、检测出图中的文本范围2、计算出文本被旋转的角度3、将图像旋转特定的角度本文所介绍的文本角度校正算法一般被用于自动化文档分析。

但是,这个过程本身可以有其他的应用。

通过OpenCV和Python实现文本角度校正下文将详细介绍如何使用Python和OpenCV 中的基本图像处理函数实现文本的角度校正。

首先,我们将创建一个简单的案例用于检测我们的校正方案。

我们将通过Pyhton和OpenCV编写一个在图片中自动识别并校正文本角度的程序。

一个简单案例在下面的例子中,我们准备了一个简单的测试案例。

在这个案例中有四幅图,图中的文本被旋转了特定的角度。

图1 我们的测试案例,下面我们将用OpenCV和Python对图中文本的角度进行校正这四幅图对应了如下四个文件文件名的前半部分代表了图中文本被旋转的方向,其中neg表示逆时针旋转,pos表示顺时针旋转。

文件名的第二部分表示被旋转的具体角度。

我们的算法将识别出图像被旋转的方向和角度,进而对其进行校正。

下面,我们将介绍如何实现上述功能。

基于OpenCV 和Pyhton的文本倾斜校正首先,我们建立一个新文件,并命名为correct_skew.py,并在文件中插入如下代码:代码2—4行引入需要的Pyhton包。

我们通过引入cv2调用OpenCV,假设您已经在系统中安装了OpenCV,请参考对应的OpenCV install tutorial在进行系统的配置。

下面我们对代码7—10行进行解析,我们在此只需要一个参数,即--image,该参数代表了图像的路径。

在代码的第13行,图像被从磁盘读入。

下一步我们将从图像中识别出文本在我们的图像中,文字是黑色的而背景是浅色的。

关于文字识别中两种倾斜校正算法的比较研究

关于文字识别中两种倾斜校正算法的比较研究

关于文字识别中两种倾斜校正算法的比较研究作者:刘齐跃边立娴赵永凯来源:《中国科技博览》2013年第15期摘要:本文针对字符识别中的倾斜校正(即调整字符角度)问题,提出了一种新的校正方法,先经过灰度化,二值化的预处理,再提取字符图像每列的边缘点,经过公示算法计算出这些点所在的参考直线的倾斜角度,这个角度就是字符图像的倾斜角度,本文将这种方法与常用的hough变换校正法进行了比较,实验结果表明本文的算法不仅校正效果更好,而且大量节约了系统资源和简化了计算难度。

关键字:图像处理,计算机字符识别,倾斜校正,hough变换法比较【中图分类号】TP391.41文字识别是模式识别的重要内容之一,在进行文字识别的过程中由于种种人为因素或角度问题,待识别图像往往是存在一定的倾斜角度的。

当倾斜角度较大时就会对后续的字符分割和字符识别的结果造成很大的影响。

所以,在进行字符识别之前,进行文档图像的倾斜校正是非常有必要的。

1 本文采用的参考直线校正法本文处理的文字识别图像需不包含复杂的背景图像,首行没有图表的干扰。

本文算法首先对原图像做预处理,包括灰度变换、阈值设定去噪和二值化处理。

校正算法的大致思想是利用检测直线拟合,先检测每列的第一个非零点(即每个汉字的最上缘)作为边缘点,将他们代入拟合的检测直线,看是否最多的符合检测直线,如果边缘点符合直线方程的越多,越可以认为这条直线就是符合图像文字倾斜的倾斜直线。

求文档图像倾斜角度的关键就在于找到文档图像的参考直线并计算这条线的倾斜角度,进而求出图像的倾斜角度。

本文选用MATLAB语言编写程序,依次对图像做灰度化处理,二值化处理,将字符图像处理为字符部分为1,背景部分为0的形式。

为了避免其他费字符部分的灰度干扰,本文在二值化之前加上了一组判定语句,将灰度化之后的图像灰度值大于120的像素点变为255,其余像素点变为0,这样,字符图像就只包含有两种数值,进行二值化后,就只有字符部分和背景部分了,去除非字符部分干扰。

文本图像倾斜校正算法的研究与应用

文本图像倾斜校正算法的研究与应用

文本图像倾斜校正算法的研究与应用近年来,随着数字化时代的到来,文本图像的处理和应用越来越广泛。

然而,由于多种原因,文本图像可能出现倾斜的情况,影响了其可读性和识别准确性。

为了解决这一问题,研究者们致力于开发文本图像倾斜校正算法。

文本图像倾斜校正算法是一种通过自动调整图像中的文本角度,使得文本水平或垂直于图像边缘的方法。

这种算法可以有效地减少由于倾斜造成的文本歪斜、模糊或不清晰的问题。

研究者们通过分析文本图像的特征和几何关系,提出了多种文本图像倾斜校正算法。

其中一种常见的方法是基于直线检测的算法。

该算法首先通过边缘检测算子提取图像中的边缘信息,然后利用Hough变换或其他直线检测方法找到文本行的直线特征。

最后,通过计算直线的斜率,将图像旋转相应的角度来校正倾斜。

另一种常见的方法是基于文本行检测的算法。

该算法首先通过边缘检测和二值化等方法,将文本区域从图像中分割出来。

然后利用形态学操作和连通区域分析等技术,找到文本行的位置和角度。

最后,通过透视变换或仿射变换等方法,将文本行调整为水平或垂直。

除了这些基于几何特征的方法,还有一些基于机器学习的算法。

这些算法通过训练大量的文本图像样本,学习到文本倾斜校正的模式和规律。

然后通过应用这些模式和规律,对新的文本图像进行倾斜校正。

文本图像倾斜校正算法在很多领域都有广泛的应用。

在OCR (光学字符识别)系统中,倾斜校正可以提高字符的识别准确率。

在图像分类和检索中,倾斜校正可以提高图像的特征提取和匹配效果。

在图像处理和图像合成中,倾斜校正可以提高图像的质量和美观度。

总的来说,文本图像倾斜校正算法是一种重要的图像处理技术。

通过对文本图像进行倾斜校正,可以提高文本的可读性和识别准确性,进而提高相关应用的效果。

未来,我们可以进一步研究和改进这些算法,以满足不同领域和应用的需求。

图像的倾斜与校正教案设计

图像的倾斜与校正教案设计

图像的倾斜与校正教案设计教案设计:图像的倾斜与校正教学目标:1. 了解图像的倾斜现象及其对图像质量的影响。

2. 掌握图像校正的基本原理和方法。

3. 能够运用所学知识对倾斜图像进行校正。

教学准备:1. 计算机及投影仪。

2. 图像倾斜与校正的示例图片。

3. 课件或黑板、粉笔。

教学过程:一、导入(5分钟)1. 利用示例图片向学生展示倾斜图像,并引导学生观察倾斜现象对图像的影响。

2. 引发学生思考:如何校正倾斜图像?为什么需要进行图像校正?二、理论讲解(15分钟)1. 讲解图像的倾斜现象及其产生原因。

2. 介绍图像校正的基本原理和方法,包括旋转、仿射变换等。

3. 分析图像校正对提升图像质量的重要性。

三、实例演示(15分钟)1. 利用计算机投影仪展示校正前后的示例图像。

2. 演示图像校正的具体步骤和操作方法,包括选择校正工具、调整参数等。

四、实践操作(30分钟)1. 将学生分组,每组提供一张倾斜图像。

2. 学生利用所学知识对图像进行校正,并记录校正过程和结果。

3. 学生之间相互交流、讨论校正过程中遇到的问题和解决方法。

五、总结与评价(10分钟)1. 学生展示校正后的图像,并对校正效果进行评价。

2. 总结图像校正的重要性和应用价值。

3. 提出进一步学习的建议和方向。

六、作业布置(5分钟)1. 要求学生根据所学知识,选择一张倾斜图像进行校正,并撰写校正报告。

2. 鼓励学生对图像校正的其他应用领域进行深入研究。

教学反思:教案设计中,注重理论讲解与实践操作的结合,通过示例演示和实践操作,提高学生对图像校正的理解和应用能力。

同时,鼓励学生积极思考和讨论,培养学生的创新思维和问题解决能力。

如何使用图像处理技术实现图像矫正与校正

如何使用图像处理技术实现图像矫正与校正

如何使用图像处理技术实现图像矫正与校正图像矫正与校正是一种常见的图像处理任务,它可以用来修复和改善图像的外观和几何形状。

通过使用图像处理技术,我们可以自动地对图像进行旋转、平移、缩放和纠正,以达到更好的视觉效果和更准确的图像分析结果。

本文将介绍如何使用图像处理技术实现图像矫正与校正,并探讨一些常见的应用案例。

我们需要了解图像矫正和校正的定义。

图像矫正是指通过旋转、平移和缩放等方式使图像在几何形状上更加规则、对称和准确。

图像校正是指通过校正图像中的畸变、噪点和伪影等问题来改善图像的质量和清晰度。

要实现图像矫正,我们可以使用计算机视觉技术中的几何变换方法,如旋转、平移和缩放。

这些方法可以通过特定的几何变换矩阵来实现。

例如,要旋转图像,我们可以使用旋转矩阵。

要平移图像,我们可以使用平移矩阵。

要缩放图像,我们可以使用缩放矩阵。

通过组合这些变换,我们可以实现复杂的图像矫正效果。

在实际应用中,我们可以使用不同的图像处理库和工具来实现图像矫正。

例如,OpenCV是一个功能强大的开源计算机视觉库,它提供了丰富的图像处理函数和算法。

使用OpenCV,我们可以轻松地实现图像矫正和校正。

一个常见的图像矫正应用案例是文档扫描。

当我们使用手机或扫描仪扫描纸质文档时,由于扫描角度、纸张曲折或图像质量问题,图像可能会出现倾斜、变形或失真。

在这种情况下,我们可以使用图像矫正技术来校正图像,使其更加清晰、正常和易于阅读。

另一个常见的应用是计算机视觉中的目标检测和识别。

在目标检测任务中,我们可能会遇到图像中目标物体的不同角度和尺度。

通过使用图像矫正技术,我们可以将图像中的目标物体矫正到标准角度和尺度,从而提高目标检测和识别的准确性和鲁棒性。

图像矫正技术还可以应用于图像拼接、增强和纠错等领域。

在图像拼接任务中,我们可以使用图像矫正技术来对拼接图像进行对齐和校正,以达到更平滑和自然的拼接效果。

在图像增强任务中,通过使用图像矫正技术,我们可以改善图像的亮度、对比度、饱和度和清晰度等方面。

几种图像倾斜角度矫正方法

几种图像倾斜角度矫正方法

汽车牌照图像倾角矫正方法研究首先我们对汽车牌照图像进行边缘检测,找出图像与背景的交线,然后就可以通过一定算法确定图像的倾斜角度了。

这里采用了Sobel水平方向算子对图像中的水平边缘直线进行检测⑵。

检测出图像中的直线后,我们要对其倾角进行计算,这里选用了Hough变换法、Radon 变换法、最小二乘法和两点法四种方法来计算直线的倾角,下面将具体研究这四种方法并对其优缺点做出比较。

1 Hough变换法利用Hough变换法提取直线是一种变换域提取直线的方法,它把直线上的坐标变换到过点的直线的系数域,巧妙的利用了共线和直线相交的关系。

它的原理很简单:假设有一条与原点距离为s,方向角为0的一条直线,如图1所示:图1 一条与原点距离为s,方向角为0的直线直线上的每一点都满足方程:s = xco 盼+ ysir£^(1) 证明过程如下:图2坐标变换原理图如图2所示:oc = ob co = xc o 矽nc = nbsixO = ysixO所以:s = oc + nc = x c o 矽 + y s i 诏m为直线1上任意一点nd = y — jd, md = —(x — xl)因为:df = nd si 10 = (y — yl) s i xOdf = md c o 妇=-(x 一xl) c o 砂所以:ysir^-ylsii^ = -xcos^ + xlcos£? 所以:s = xco0 + ysi 谄= xlco& + ylsim 所以直线上任意一点都满足s = xco 矽+ ysirt7(2)(3)(4)(5)(6)(7)(8)(9)(10)图3 x-y 平面一点可以对应多个s,0值由图3可以看出点(xl,yl )即属于直线L1又属于直线L2,且满足:sl = xl cos 0\ + y\sin 0\ s2 = xl cos 02 + yl sin 02所以,x-o ・y 平面上的一点(xl,yl )对应于s-o-0平面上的一条曲线。

图像倾斜校正开题报告

图像倾斜校正开题报告

图像倾斜校正开题报告毕业设计开题报告图像倾斜校正系别:班级:学⽣姓名:指导教师:2011 年 11 ⽉22⽇毕业设计开题报告课题题⽬图像倾斜校正课题性质 A B C D E■□□□□课题来源 A B C D□□■□成果形式 A B C D E■□□■□同组同学⽆开题报告内容见附页指导教师意见(课题难度是否适中、⼯作量是否饱满、进度安排是否合理、⼯作条件是否具备等)指导教师签名:年⽉⽇专家组及学院意见(选题是否适宜、各项内容是否达到毕业设计(论⽂)⼤纲要求、整改意见等)专家组成员签字:教学院长(签章):年⽉⽇附页:图像的倾斜校正⼀、研究的⽬的图像倾斜⾓度矫正(车牌图像)是车牌定位和字符分割的⼀个重要处理过程。

经过车牌定位后所获取的车牌图像不可避免地存在某种程度的倾斜。

这种倾斜不仅会给下⼀步字符分割带来困难,最终也将对车牌的识别的正确率造成直接的影响。

本设计主要研究了对车牌图像倾斜⾓度矫正的算法。

本⽂给出了矫正倾⾓的四种⽅法:Hough变换法、Radon变换法、线性回归法和两点法,并详细介绍了这四种⽅法的原理、算法步骤、具体程序实现过程、仿真结果及各⾃的优缺点。

Hough 变换和Radon相似,其抗⼲扰能⼒⽐较强,但是运算量⼤,程序执⾏慢,Hough 变换法和Radon变换法进⾏倾⾓检测的最⼤精度为1度。

它们的优点是可以计算有断点的直线的倾⾓。

最⼩⼆乘法的优点就是运算量⼩,但是其抗⼲扰能⼒⽐较差,容易受到噪声的影响。

两点法虽然理论简单,但由于采样点⽐较多⽽且这些点服从随机分布,计算均值后能有效抑制⼲扰。

⼆、主要研究内容⾸先我们对汽车牌照图像进⾏边缘检测,找出图像与背景的交线,然后就可以通过⼀定算法确定图像的倾斜⾓度了。

这⾥采⽤了Sobel⽔平⽅向算⼦对图像中的⽔平边缘直线进⾏检测。

检测出图像中的直线后,我们要对其倾⾓进⾏计算,这⾥选⽤了Hough变换法、Radon变换法、最⼩⼆乘法和两点法四种⽅法来计算直线的倾⾓,下⾯将这四种⽅法简要阐述。

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

燕山大学课程设计说明书题目:基本文本图像的倾斜校正学院(系)电气工程学院年级专业: 11级仪表三班学号: ************* 学生姓名: ****** 指导教师:王志斌林洪彬教师职称:副教授副教授燕山大学课程设计(论文)任务书摘要数字信息时代人们更多地依赖图像这一媒介,而比较常用的文本图像的倾斜问题无疑图像应用的是一大障碍。

为了解决文本倾斜的自动校正功能,本文列举了四种倾斜校正的方法,涉及到基于文本图像边缘、矩形边缘的校正、基于文字向各方向投影的校正、基于投影实现特殊方向的文本校正、基于傅立叶频域分析的校正四种方法。

本文方法涵盖了图形图像边缘倾斜校正、表格的倾斜校正、打印及手写文本的倾斜校正、90度特殊角情况的文本校正、180度倒立文字的校正,适用面广。

通过实验验证以及与目前具有相关代表性的方法对比,论证了本文所采用的算法对带有表格、图像、手写体,以及各种语言的文本具有很好的校正效果,具有良好的有效性和可靠性。

关键词:倾斜校正、文本、边缘、投影、傅里叶。

目录一、引言 (5)二、算法综述 (5)三、各算法原理分析及实现代码: (5)四、各算法评价 (16)五、课程设计总结 (17)参考文献 (17)第一章引言在现今数字信息化高速发展的大时代背景下,随着数码产品的拍照能力越来越出色,人们更多地将信息的存储和传输依靠在数字图像这一媒介上。

而文字的数字图像化——数字化图书库、pdf纸质电子书、文字扫描的发展,无疑对文本的转换技术提出了更高的要求。

谈到数字图像化文本,就不得不提到这一技术遇到的最大障碍之一:输入文本图像的倾斜问题。

正基于这一普遍存在的问题,我们提出了文本、图像的倾斜校正这一课题。

第二章算法综述论文的倾斜校正共涉及以下四种方法:1)基于文本图像边缘、矩形边缘的倾斜校正。

2)基于文字向各方向投影的倾斜校正,90度以下都能用。

3)基于投影实现特殊方向的文本——垂直和倒立文本的校正。

4)基于傅立叶频域分析的文本、表格、图像的倾斜校正。

第三章各算法原理分析及实现代码1)基于文本图像边缘、矩形边缘的倾斜校正适用范围:具有清晰边缘的图片、形状,倾斜角小于45度。

1.将图像转化为灰度图像。

使用MATLAB进行处理时,所读入的图像是RGB三维矩阵,在以后的处理中用到的是灰度图像和二值图像,因此,必须经过处理变成灰度图像。

2.用im2bw函数实现图像的二值化,变成只有0和1的图片。

一幅图像包括目标物体、背景还有噪声,要想从多值的数字图像中直接提取出目标物体,最常用的方法就是图像的二值化。

灰度图像二值化处理是将图像上的点的灰度值置为0或1,本代码中选取的是自动二值i=im2bw(i,graythresh(i))。

3.找文本图片的两个边缘角所在的点。

通过i,j循环扫描,找到第一个灰度值为1的点,也就是白点。

找上边界点:从第一个点(0,0)开始,在每一行里逐列扫描,寻找第一列灰度值为1像素点即上边界的角所在点,(x1,y1),找到后立即停止寻找,跳出循环;找左边界点:从第一个点(0,0)开始,在每一列里逐行扫描,寻找第一列灰度值为1像素点即左边界的角所在点,(x2,y2),找到后立即停止寻找,跳出循环。

4.两点式求斜率。

通过(x1,y1),(x2,y2)两点,用公式k=(y2-y1)/(x2-x1)求找到的边缘的斜率,用反正切atan函数求出倾斜角。

5.确定图像倾斜角。

通过倾斜角大于45度还是小于45度,确定图像是经过顺时针旋转还是逆时针旋转产生的倾斜6.倾斜校正。

用imrotate函数实现倾斜校正。

7.代码部分clc;clear;i=imread('D:\12.png'); %读入图片V = i;i_hight=size(i,1);i_width=size(i,2);i=rgb2gray(i); %变灰度图片i=im2bw(i,graythresh(i)) %自动二值化sign=1; %循环找两个边缘点for y=1:i_hightfor x=1:i_widthif i(y,x)==1 %在每一行里逐列扫描sign=0;x1=x;y1=y;breakendendendfor x=1:i_width %在每一列里逐行扫描for y=1:i_hightif i(y,x)==1sign=0;x2=x;y2=y;breakendendendk=(y2-y1)/(x2-x1); %求两点确定的边缘直线的斜率theta=atan(k); %求直线的倾斜角a=theta*180/pi; %弧度转危角度if (abs(a)<=45) %由倾角大小与45度的比较判断校正应该顺时针旋转还是逆时针旋转 imshow(V);title('校正前图像') %输出原图像figureA=imrotate(V,a); %逆时针转a度imshow (A);title('校正后图像')elseimshow(V);title('校正前图像') %输出原图像figureA=imrotate(V,a+90); %顺时针转a+90度 imshow (A);title('校正后图像') %输出校正图像end2)基于文字向各方向投影的倾斜校正,倾斜角绝对值在90度以下都能用。

适用范围:文本,手写和打印的,表格均可,倾斜角绝对值在90度以下。

1.将图像转化为灰度图像。

2.利用radon函数,沿着0度到180度,分别计算180个方向角的积分,找文本各方向投影最大的方向,该方向直线与水平线夹角即为文本中文字行的倾斜角。

3.用imrotate函数进行倾斜校正。

4.代码部分clear allclose allbw=imread('D:\1.png');b=rgb2gray(bw);figure,imshow(b);title('校正前灰度图像');%================倾斜校正======================b=edge(b);theta = 1:180;[R,xp] = radon(b,theta); %theta表示角度从1取到179.这样,radon就得到了不同角度下的径向上的图像场强值,即R矩阵。

xp是对应的角度,跟theta一样。

[I,J] = find(R>=max(max(R))); %J记录了倾斜角qingxiejiao=90-J;bw=imrotate(bw,qingxiejiao,'bilinear','crop'); %qingxiejiao取值为正则逆时针旋转figure,imshow(bw);title('倾斜校正后图像'); %输出校正图像3)基于投影实现特殊方向文本—垂直和倒立文本的校正。

1.适用范围:仅适用于正负90度或180度倾斜的表格、文本,文字等排列比较整齐图片,打印、手写均可。

2.将图像转化为灰度图像。

3.向水平和垂直方向投影,找出投影大于一定阈值(经实验后取450)的方向即为行所在方向,进而识别倾斜角是90度还是180度。

4.imrotate函数倾斜校正。

每一个处理后同时输出两张旋转角相差180度的图片,解决可能出现的90文字倒立的问题(原创,前所未有)。

5.代码部分:i=imread('D:\23.png');imshow(i);title('原图像');bw=rgb2gray(i);bw=im2bw(i,graythresh(bw))%自动二值化[mt1,nt1] = size(bw);Ty=find(sum(bw)>=450==1);%向横轴投影,投影点的灰度值累加,阈值取450,大于450的区域即为累加后的白色投影的位置%b =length(Ty)rat= length(Ty) / nt1;if (rat>= 0.4) %白色投影长度占投影线长度的比例大于0.4即认为该投影方向为文字行方向A=imrotate(i,270); %图像校正C=imrotate(i,90); %图像校正subplot(1,2,1);imshow(A);title('校正图像1');subplot(1,2,2);imshow(C);title('校正图像2');else %比例<=0.4即认为该投影方向为文字行方向的垂直方向A=imrotate(i,0); %图像校正C=imrotate(i,180); %图像校正subplot(1,2,1);imshow(A);title('校正图像1');subplot(1,2,2);imshow(C);title('校正图像2');end4)基于傅立叶频域分析的文本、表格、图像的倾斜校正。

适用范围:可用于表格、矩形及一些文字校正,文字手写打印均可,文本行最好有下划线识别率更高。

1.离散傅里叶变换fft2处理成频域图片。

2.交换高低频位置fftshift。

3.将频域图片按所在象限分割,分别计算各象限中线的斜率,求四个倾斜角平均值。

4.通过原图矩阵乘以一个倾斜校正的矩阵实现图片旋转,达到倾斜校正目的。

5.代码部分clcclearf = imread('D:\31.jpg');f = im2double(f); %把图像数据类型转换为双精度浮点类型。

figure(1), imshow(f, [])title('1.输入图像')F = fft2(f); %fft2是2维离散傅立叶变换%imshow(F)Fc = fftshift(F); %低频移到频域图的中间%imshow(Fc)S = log(1 + abs(Fc)); %输入图像的频域图%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%↓%下面将频域图按所在象限分成四块,分别计算每个象限亮线的倾斜角[m, n] = size(Fc);M = floor(m/2)+1; N = floor(n/2)+1; %取原频域图的几何中心点。

floor为向下取整S1 = S(M-150:M, N:N+150); %分别将频域图按所在象限等分成四块[M, N] = size(S1); %取出第一象限S1(M-5:M, 1:5) = 0; S5 = S1; %标出原频域图的几何中心点,方便查看for k = 1:20maximum = max(max(S1)); %maximum取最大值[I1(k), J1(k)] = find(S1 == maximum); %最大值的位置坐标S1(I1(k),J1(k)) = 0; %最大值点变为原点I1(k) = M - I1(k);endJ1 = J1'; I1 = I1'; %转置[row, col] = size(J1); %矩阵大小one = ones(row); % ones是生成一个单位矩阵,赋值为1.矩阵中横着行的叫row.竖着的列叫做column。

相关文档
最新文档