掌桥专利:专业的专利平台
掌桥专利
首页

文本倾斜矫正方法、装置、存储介质、计算机设备

文献发布时间:2023-06-19 11:52:33


文本倾斜矫正方法、装置、存储介质、计算机设备

技术领域

本申请涉及图像处理技术领域,尤其涉及一种文本倾斜矫正方法、装置、存储介质、计算机设备。

背景技术

图像处理与自然语言处理等人工智能各个领域正在逐步结合,其中自然语言处理中的文本可能来源于图像,而图像处理的对象也极有可能是文本图像,同属于人工智能的这两者正在密切结合。主流的人工智能技术“深度学习”并不能很好地解决文本图像中文字倾斜的问题,首先是因为倾斜角度多;其次是生成训练数据太过繁琐;最后,实际使用时的文档内容复杂多变。基于直线检测或其演变方法也有明显的缺点,一方面并不是所有的文档都有直线可供检测;另一方面由于图像质量原因导致直线有断点或干扰等。

发明内容

为了解决上述技术问题或者至少部分地解决上述技术问题,本申请实施例提供了一种文本倾斜矫正方法、装置、存储介质、计算机设备。

第一方面,本申请实施例提供了一种文本倾斜矫正方法,该方法包括:

获取待矫正文本图像;

通过预先训练好的角度识别模型对待矫正文本图像进行识别得到旋转角度,旋转角度表征待矫正文本图像的当前状态与正立状态的粗预估角度;

将待矫正文本图像按照旋转角度进行矫正得到第一文本图像;

对第一文本图像进行预处理,得到第二文本图像,预处理包括:灰度化处理和二值化处理;

对第二文本图像分别进行不同测试角度的旋转测试,直至第二文本图像的像素行在垂直方向上的投影值为目标投影值,将使第二文本图像的像素行在垂直方向上的投影值为目标投影值的测试角度作为目标测试角度,其中,目标投影值为无倾斜的文本图像在垂直方向上的投影值;

将第一文本图像经过目标测试角度旋转后得到的文本图像作为目标已矫正文本图像。

可选地,角度识别模型根据样本文本图像集合训练获取,每个样本文本图像的当前状态与正立状态的粗预估角度已知,通过预先训练好的角度识别模型对待矫正文本图像进行识别得到旋转角度,包括:

通过预先训练好的角度识别模型对待矫正文本图像进行图像特征提取;

通过预先训练好的角度识别模型对提取的图像特征与各个样本文本图像的图像特征进行匹配得到匹配度;

将匹配度最高的样本文本图像对应的粗预估角度作为待矫正文本图像的旋转角度。

可选地,粗预估角度包括0度、90度、180度、270度。

可选地,预处理还包括等比例缩放。

可选地,对第二文本图像分别进行不同测试角度的旋转测试,直至第二文本图像的像素行在垂直方向上的投影值为目标投影值,将使第二文本图像的像素行在垂直方向上的投影值为目标投影值的测试角度作为目标测试角度,包括:

对第二文本图像先后进行不同测试角度的旋转测试;

通过遍历像素,分别获取通过每个测试角度的旋转测试后的第二文本图像的像素行在垂直方向上对应的投影值;

分别将获取的每个投影值与目标投影值进行匹配,将使第二文本图像的像素行在垂直方向上的投影值为目标投影值的测试角度作为目标测试角度;

其中,所述目标投影值为无倾斜的文本图像在垂直方向上的投影值。

可选地,对第二文本图像先后进行不同测试角度的旋转测试,包括:

通过二分搜索法在预设角度范围先后进行不同测试角度的获取;

对第二文本图像先后根据获取的不同测试角度进行旋转测试。

第二方面,本申请实施例提供了一种文本倾斜矫正装置,该装置包括:

图像获取模块,用于获取待矫正文本图像;

识别模块,用于通过预先训练好的角度识别模型对待矫正文本图像进行识别得到旋转角度,旋转角度表征待矫正文本图像的当前状态与正立状态的粗预估角度;

矫正模块,用于将待矫正文本图像按照旋转角度进行矫正得到第一文本图像;

处理模块,用于对第一文本图像进行预处理,得到第二文本图像,预处理包括:灰度化处理和二值化处理;

测试模块,用于对第二文本图像分别进行不同测试角度的旋转测试,直至第二文本图像的像素行在垂直方向上的投影值为目标投影值,将使第二文本图像的像素行在垂直方向上的投影值为目标投影值的测试角度作为目标测试角度,其中,目标投影值为无倾斜的文本图像在垂直方向上的投影值;

矫正模块,还用于将第一文本图像经过目标测试角度旋转后得到的文本图像作为目标已矫正文本图像。

可选地,角度识别模型根据样本文本图像集合训练获取,每个样本文本图像的当前状态与正立状态的粗预估角度已知,识别模块包括:

提取模块,用于通过预先训练好的角度识别模型对待矫正文本图像进行图像特征提取;

匹配模块,用于通过预先训练好的角度识别模型对提取的图像特征与各个样本文本图像的图像特征进行匹配得到匹配度;

比较模块,用于将匹配度最高的样本文本图像对应的粗预估角度作为待矫正文本图像的旋转角度。

第三方面,本申请实施例提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时,使得处理器执行如前面所述任一项的方法的步骤。

第四方面,本申请实施例提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时执行如前面所述任一项的方法的步骤。

本申请实施例提供的上述技术方案与现有技术相比具有如下优点:

使用范围更广,不限文本类型是中文、英文还是其它语言。使用条件宽松,不要求文档中有直线、表格等,也不要求文本图像的质量较高。抗干扰能力强,文档中出现手写文字、印章、手印等都可以处理。矫正精度高,精度可定制化。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为一个实施例提供的一种文本倾斜矫正方法的流程示意图;

图2为一个实施例提供的旋转角度的划分示意图;

图3为一个实施例提供的不同测试角度的投影值示意图;

图4为一个实施例提供的一种文本倾斜矫正装置的结构框图;

图5为一个实施例提供的计算机设备的内部结构图。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。

图1为一个实施例提供的一种文本倾斜矫正方法的流程示意图。参考图1,该方法包括以下步骤:

S100:获取待矫正文本图像。

S200:通过预先训练好的角度识别模型对待矫正文本图像进行识别得到旋转角度。

具体地,旋转角度表征待矫正文本图像的当前状态与正立状态的粗预估角度。角度识别模型通过大量样本文本图像集合训练而成,且每个样本文本图像所处的倾斜状态与正立状态的角度已知,将待矫正文本图像输入到角度识别模型进行识别,可以匹配到与待矫正文本图像匹配度最高的样本文本图像,该样本文本图像的倾斜状态与正立状态的角度可以作为待矫正文本图像的旋转角度。

S300:将待矫正文本图像按照旋转角度进行矫正得到第一文本图像。

具体地,例如:旋转角度相对于正立状态为顺时针90度,则需要将待矫正文本图像逆时针旋转90度得到第一文本图像。

S400:对第一文本图像进行预处理,得到第二文本图像。

具体地,预处理包括:灰度化处理和二值化处理;对第一文本图像先后进行灰度化处理和二值化处理,使预处理后的第二文本图像中数据量大为减少,且能凸显出目标的轮廓。减少后续数据计算与处理的开销。

S500:对第二文本图像分别进行不同测试角度的旋转测试,直至第二文本图像的像素行在垂直方向上的投影值为目标投影值,将使第二文本图像的像素行在垂直方向上的投影值为目标投影值的测试角度作为目标测试角度。

具体地,目标投影值为无倾斜的文本图像在垂直方向上的投影值,第一文本图像或第二文本图像的倾斜状态与正立状态的角度是未知的,因此通过旋转测试可以测试出这个角度。第二文本图像每经过一个测试角度的旋转后,其像素行在垂直方向上的投影值都会不同,根据文本图像在正立状态下其像素行在垂直方向上的投影值最小可知,经过测试角度的旋转后的第二文本图像的像素行在垂直方向上的投影值最小的那个测试角度为目标测试角度。

S600:将第一文本图像经过目标测试角度旋转后得到的文本图像作为目标已矫正文本图像。

具体地,第一文本图像是原始文本图像,第二文本图像是为了得到目标测试角度而对第一文本图像进行预处理后的文本图像,对第二文本图像进行旋转测试得到目标测试角度,在测试过程中的计算和处理开销更小,将得到的目标测试角度应用于第一文本图像,使第一文本图像经过目标测试角度的旋转后得到矫正。

经过旋转角度旋转是粗调,经过目标测试角度旋转是更精细的调整和矫正。

旋转角度获取是基于文档图像的局部旋转改变性,将文本图像视为文本矩阵,矩阵的每一行对应着文本图像的像素行,矩阵的每一列对应着文本图像的像素列;因为目前文本基本都是横向的,因此主要对矩阵的行也即图像的像素行进行操作;其次,水平的文档其像素行在垂直方向上的投影值是最小的,文档发生倾斜就会改变该投影值,使得像素行在垂直方向上的投影值变大。然后,第二文本图像与正立状态的角度未知,因此需要尝试旋转不同的测试角度来找出像素行在垂直方向上投影值最小的目标测试角度。最后,得到了目标测试角度之后,将图像旋转回去即可达到矫正的目的。矫正旋转即根据获取到的目标测试角度将文本图像旋转至正立状态。

在一个实施例中,角度识别模型根据样本文本图像集合训练获取,每个样本文本图像的当前状态与正立状态的粗预估角度已知,步骤S200具体包括以下步骤:

通过预先训练好的角度识别模型对待矫正文本图像进行图像特征提取;

通过预先训练好的角度识别模型对提取的图像特征与各个样本文本图像的图像特征进行匹配得到匹配度;

将匹配度最高的样本文本图像对应的粗预估角度作为待矫正文本图像的旋转角度。

具体地,角度识别模型是一种深度学习模型,待矫正文本图像与角度识别模型中的某个样本文本图像匹配后,这个样本文本图像对应的粗预估角度即为待矫正文本图像的旋转角度。

在一个实施例中,粗预估角度包括0度、90度、180度、270度。

图2为一个实施例提供的旋转角度的划分示意图。参考图2,定义正y轴方向为正立状态,可以定义倾斜状态与正立状态的角度在-45度至45度之间的样本文本图像对应的粗预估角度均为0度;定义倾斜状态与正立状态的角度在45度至135度之间的样本文本图像对应的粗预估角度均为90度;定义倾斜状态与正立状态的角度在135度至225度之间的样本文本图像对应的粗预估角度均为180度;定义倾斜状态与正立状态的角度在225度至315度之间的样本文本图像对应的粗预估角度均为270度。

当待矫正文本图像与倾斜状态与正立状态的角度在-45度至45度之间的任意样本文本图像匹配时,待矫正文本图像的旋转角度为0度;当待矫正文本图像与倾斜状态与正立状态的角度在45度至135度之间的任意样本文本图像匹配时,待矫正文本图像的旋转角度为90度;当待矫正文本图像与倾斜状态与正立状态的角度在135度至225度之间的任意样本文本图像匹配时,待矫正文本图像的旋转角度为180度;当待矫正文本图像与倾斜状态与正立状态的角度在225度至315度之间的任意样本文本图像匹配时,待矫正文本图像的旋转角度为270度。

当然,也可以定义每个粗预估角度对应其他的角度范围。

在一个实施例中,预处理还包括等比例缩放。

具体地,第二文本图像是用来通过旋转测试得到目标测试角度的,因此第二文本图像会通过不同的测试角度进行多次的旋转测试,而每次旋转测试都需要经过大量运算和处理,在旋转测试之前,对第二文本图像进行等比列缩放可以使第二文本图像的数据更小,在旋转测试时耗时更小,能加快测试过程,更快得到目标测试角度。

例如:原始待矫正文本图像可能比较大,大小大概是2500*3500的,遍历此待矫正文本图像的第二文本图像(二值化后的图像)速度会很慢。加速的方法是将待矫正文本图像的宽和高等比例缩放到较小的值,比如500*700左右,再进行预处理得到第二文本图像。

在一个实施例中,步骤S500具体包括:

对第二文本图像先后进行不同测试角度的旋转测试;

通过遍历像素,分别获取通过每个测试角度的旋转测试后的第二文本图像的像素行在垂直方向上对应的投影值;

分别将获取的每个投影值与目标投影值进行匹配,将使第二文本图像的像素行在垂直方向上的投影值为目标投影值的测试角度作为目标测试角度;其中,目标投影值为无倾斜的文本图像在垂直方向上的投影值。

具体地,参考图2,待矫正文本图像经过旋转角度旋转后得到第二文本图像的倾斜状态与正立状态之间的角度为-45度至45度之间。取步长为0.1,则在(-45,45,0.1)中,可以得到900个测试角度,其中有一个测试角度能使经过该测试角度的旋转测试后的第二文本图像的像素行在垂直方向上的投影值为目标投影值。

在一个实施例中,只遍历像素行。实际的过程中需要对每个像素点的值进行判断,即需要判断每个像素行以及每个像素行中的每个像素列。加速的做法是只遍历像素行。

在一个实施例中,对第二文本图像先后进行不同测试角度的旋转测试,包括:

通过二分搜索法在预设角度范围先后进行不同测试角度的获取;

对第二文本图像先后根据获取的不同测试角度进行旋转测试。

具体地,二分搜索法指:将n个元素分成个数大致相同的两半,取a[n/2]与欲查找的x作比较,如果x=a[n/2]则找到x,算法运算终止。参考图2,待矫正文本图像经过旋转角度旋转后得到第二文本图像的倾斜状态与正立状态之间的角度为-45度至45度之间。使用二分搜索的方法,每次只需判断测试角度在哪个范围内即可,比如测试角度在(-45,0)或者(0,45)范围内,每次判断都能在此基础上减少一半的尝试。原先需要尝试的大概900个角度,使用了二分搜索的方法不超过10次就能得到目标测试角度。

图1为一个实施例中文本倾斜矫正方法的流程示意图。应该理解的是,虽然图1的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

图3为一个实施例提供的不同测试角度的投影值示意图。参考图3,第二文本图像在-45度到45度范围内旋转时所对应的投影值。正立状态下的图像基本关于y轴对称,倾斜的图像会在此基础上向左或向右平移。其中a点横坐标对应着最优旋转角度即目标测试角度,纵坐标对应的投影值最小。

图4为一个实施例提供的一种文本倾斜矫正装置的结构框图。参考图4,该装置包括:

图像获取模块10,用于获取待矫正文本图像。

识别模块20,用于通过预先训练好的角度识别模型对待矫正文本图像进行识别得到旋转角度,旋转角度表征待矫正文本图像的当前状态与正立状态的粗预估角度。

矫正模块30,用于将待矫正文本图像按照旋转角度进行矫正得到第一文本图像。

处理模块40,用于对第一文本图像进行预处理,得到第二文本图像,预处理包括:灰度化处理和二值化处理。

测试模块50,用于对第二文本图像分别进行不同测试角度的旋转测试,直至第二文本图像的像素行在垂直方向上的投影值为目标投影值,将使第二文本图像的像素行在垂直方向上的投影值为目标投影值的测试角度作为目标测试角度,其中,目标投影值为无倾斜的文本图像在垂直方向上的投影值。

矫正模块30,还用于将第一文本图像经过目标测试角度旋转后得到的文本图像作为目标已矫正文本图像。

在一个实施例中,角度识别模型根据样本文本图像集合训练获取,每个样本文本图像的当前状态与正立状态的粗预估角度已知,识别模块20包括:

提取模块,用于通过预先训练好的角度识别模型对待矫正文本图像进行图像特征提取。

匹配模块,用于通过预先训练好的角度识别模型对提取的图像特征与各个样本文本图像的图像特征进行匹配得到匹配度。

比较模块,用于将匹配度最高的样本文本图像对应的粗预估角度作为待矫正文本图像的旋转角度。

在一个实施例中,粗预估角度包括0度、90度、180度、270度。

在一个实施例中,预处理还包括等比例缩放。

在一个实施例中,测试模块50具体用于:对第二文本图像先后进行不同测试角度的旋转测试;通过遍历像素,分别获取通过每个测试角度的旋转测试后的第二文本图像的像素行在垂直方向上对应的投影值;分别将获取的每个投影值与目标投影值进行匹配,将使第二文本图像的像素行在垂直方向上的投影值为目标投影值的测试角度作为目标测试角度;其中,目标投影值为无倾斜的文本图像在垂直方向上的投影值。

图5为一个实施例提供的计算机设备的内部结构图。参考图5,该计算机设备通过系统总线连接的处理器、存储器、网络接口、输入装置和显示屏。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现文本倾斜矫正方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行文本倾斜矫正方法。计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。

本领域技术人员可以理解,图5中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,本申请提供的文本倾斜矫正装置可以实现为一种计算机程序的形式,计算机程序可在如图5所示的计算机设备上运行。计算机设备的存储器中可存储组成该文本倾斜矫正装置的各个程序模块,比如,图5所示的图像获取模块10、识别模块20、矫正模块30、处理模块40、测试模块50。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的文本倾斜矫正方法中的步骤。

例如,图5所示的计算机设备可以通过如图4所示的文本倾斜矫正装置中的图像获取模块10执行获取待矫正文本图像。计算机设备可以通过识别模块20执行通过预先训练好的角度识别模型对待矫正文本图像进行识别得到旋转角度,旋转角度表征所述待矫正文本图像的当前状态与正立状态的粗预估角度。计算机设备可以通过矫正模块30执行将待矫正文本图像按照旋转角度进行矫正得到第一文本图像。计算机设备可以通过处理模块40执行对第一文本图像进行预处理,得到第二文本图像,预处理包括:灰度化处理和二值化处理。计算机设备可以通过测试模块50执行对第二文本图像分别进行不同测试角度的旋转测试,直至第二文本图像的像素行在垂直方向上的投影值为目标投影值,将使第二文本图像的像素行在垂直方向上的投影值为目标投影值的测试角度作为目标测试角度,其中,目标投影值为无倾斜的文本图像在垂直方向上的投影值。计算机设备还可以通过矫正模块30执行将第一文本图像经过目标测试角度旋转后得到的文本图像作为目标已矫正文本图像。

在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:获取待矫正文本图像;通过预先训练好的角度识别模型对待矫正文本图像进行识别得到旋转角度,旋转角度表征待矫正文本图像的当前状态与正立状态的粗预估角度;将待矫正文本图像按照旋转角度进行矫正得到第一文本图像;对第一文本图像进行预处理,得到第二文本图像,预处理包括:灰度化处理和二值化处理;对第二文本图像分别进行不同测试角度的旋转测试,直至第二文本图像的像素行在垂直方向上的投影值为目标投影值,将使第二文本图像的像素行在垂直方向上的投影值为目标投影值的测试角度作为目标测试角度,其中,目标投影值为无倾斜的文本图像在垂直方向上的投影值;将第一文本图像经过目标测试角度旋转后得到的文本图像作为目标已矫正文本图像。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:获取待矫正文本图像;通过预先训练好的角度识别模型对待矫正文本图像进行识别得到旋转角度,旋转角度表征待矫正文本图像的当前状态与正立状态的粗预估角度;将待矫正文本图像按照旋转角度进行矫正得到第一文本图像;对第一文本图像进行预处理,得到第二文本图像,预处理包括:灰度化处理和二值化处理;对第二文本图像分别进行不同测试角度的旋转测试,直至第二文本图像的像素行在垂直方向上的投影值为目标投影值,将使第二文本图像的像素行在垂直方向上的投影值为目标投影值的测试角度作为目标测试角度,其中,目标投影值为无倾斜的文本图像在垂直方向上的投影值;将第一文本图像经过目标测试角度旋转后得到的文本图像作为目标已矫正文本图像。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。

需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。

相关技术
  • 文本倾斜矫正方法、装置、存储介质、计算机设备
  • 一种车牌倾斜矫正方法、装置、计算机设备和存储介质
技术分类

06120113083006