一种文字识别、文字翻译方法和装置
技术领域
本申请涉及文字处理技术领域,尤其涉及一种文字识别、文字翻译方法和装置。
背景技术
OCR(Optical Character Recognition,光学字符识别)技术是一种新型的文字识别技术,可以通过图像处理和模式识别技术对图片中的光学字符进行识别,并将光学字符翻译成计算机文字。随着OCR技术的飞速发展,OCR技术被越来越多的应用在各种文字识别的场景中。
然而,在实际应用中,OCR技术通常仅能对多数场景下横向排版的文字进行识别,不能对某些特殊场景下竖向排版的文字进行有效识别,例如,可以对文献资料中横向排版的文字进行识别,但不能对公交站牌中竖向排版的站点名称进行有效识别,从而影响用户的使用体验。
发明内容
本申请实施例提供一种文字识别、文字翻译方法和装置,用于解决现有的OCR技术不能对竖向排版的文字进行识别,影响用户的使用体验的问题。
为解决上述技术问题,本申请实施例是这样实现的:
第一方面,提出一种文字识别方法,包括:
获取包含至少一列竖排文字的目标图像;
对所述目标图像进行处理,得到至少一个竖排文字区域,一个所述竖排文字区域对应一列所述竖排文字;
对所述至少一个竖排文字区域进行识别,得到与所述至少一个竖排文字区域一一对应的文字。
第二方面,提出一种文字识别装置,包括:
获取单元,获取包含至少一列竖排文字的目标图像;
处理单元,对所述目标图像进行处理,得到至少一个竖排文字区域,一个所述竖排文字区域对应一列所述竖排文字;
识别单元,对所述至少一个竖排文字区域进行识别,得到与所述至少一个竖排文字区域一一对应的文字。
第三方面,提出一种电子设备,该电子设备包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,该可执行指令在被执行时使该处理器执行以下操作:
获取包含至少一列竖排文字的目标图像;
对所述目标图像进行处理,得到至少一个竖排文字区域,一个所述竖排文字区域对应一列所述竖排文字;
对所述至少一个竖排文字区域进行识别,得到与所述至少一个竖排文字区域一一对应的文字。
第四方面,提出一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行以下方法:
获取包含至少一列竖排文字的目标图像;
对所述目标图像进行处理,得到至少一个竖排文字区域,一个所述竖排文字区域对应一列所述竖排文字;
对所述至少一个竖排文字区域进行识别,得到与所述至少一个竖排文字区域一一对应的文字。
第五方面,提出一种文字翻译方法,包括:
获取包含至少一列竖排文字的目标图像;
对所述目标图像进行处理,得到至少一个竖排文字区域,一个所述竖排文字区域对应一列所述竖排文字;
对所述至少一个竖排文字区域进行识别,得到与所述至少一个竖排文字区域一一对应的文字;
按照设定语言对识别到的所述文字进行翻译,得到与所述文字一一对应的设定语言。
第六方面,提出一种文字翻译装置,包括:
获取单元,获取包含至少一列竖排文字的目标图像;
处理单元,对所述目标图像进行处理,得到至少一个竖排文字区域,一个所述竖排文字区域对应一列所述竖排文字;
识别单元,对所述至少一个竖排文字区域进行识别,得到与所述至少一个竖排文字区域一一对应的文字;
翻译单元,按照设定语言对识别到的所述文字进行翻译,得到与所述文字一一对应的设定语言。
第七方面,提出一种电子设备,该电子设备包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,该可执行指令在被执行时使该处理器执行以下操作:
获取包含至少一列竖排文字的目标图像;
对所述目标图像进行处理,得到至少一个竖排文字区域,一个所述竖排文字区域对应一列所述竖排文字;
对所述至少一个竖排文字区域进行识别,得到与所述至少一个竖排文字区域一一对应的文字;
按照设定语言对识别到的所述文字进行翻译,得到与所述文字一一对应的设定语言。
第八方面,提出一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行以下方法:
获取包含至少一列竖排文字的目标图像;
对所述目标图像进行处理,得到至少一个竖排文字区域,一个所述竖排文字区域对应一列所述竖排文字;
对所述至少一个竖排文字区域进行识别,得到与所述至少一个竖排文字区域一一对应的文字;
按照设定语言对识别到的所述文字进行翻译,得到与所述文字一一对应的设定语言。
本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:
本申请实施例提供的技术方案,在获取到包含至少一列竖排文字的目标图像后,可以对目标图像进行处理,得到与所述至少一列竖排文字一一对应的至少一个竖排文字区域,通过对所述至少一个竖排文字区域进行识别,可以得到与所述至少一个竖排文字区域一一对应的文字。这样,通过对包含竖排文字的目标图像进行处理得到竖排文字区域,并对竖排文字区域进行文字识别,可以实现对目标图像中的竖排文字的有效识别,从而可以满足用户在特殊应用场景下对竖排文字的识别需求,改善用户的使用体验。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请的一个实施例文字识别方法的流程示意图;
图2是本申请的一个实施例文字识别方法的示意图;
图3是本申请的一个实施例文字识别方法的示意图;
图4是本申请的一个实施例文字识别方法的流程示意图;
图5是本申请的一个实施例文字翻译方法的流程示意图;
图6是本申请的一个实施例电子设备的结构示意图;
图7是本申请的一个实施例文字识别装置的结构示意图;
图8是本申请的一个实施例电子设备的结构示意图;
图9是本申请的一个实施例文字翻译装置的结构示意图。
具体实施方式
现有的文字识别中,通常采用OCR技术进行识别。然而,OCR技术通常只能对横向排版的文字进行识别,不能对竖向排版的文字进行识别,从而影响用户的使用体验。
现有技术中,存在一些应用程序可以实现对竖排文字的识别,例如,涂书笔记,谷歌翻译等。然而,在实际应用中,这些应用程序在对竖排文字进行识别时,需要用户手动对待识别的竖排文字进行框选,导致用户的操作繁琐,文字识别的效率较低。
例如,用户在使用涂书笔记对竖排文字进行识别时,需要手动对待识别的竖排文字进行框选,进而由涂书笔记对框选的竖排文字进行识别,由于每次进行竖排文字的识别时,都需要用户手动框选,因此,用户得到操作繁琐。此外,在一些特殊场景下,当用户想要对识别到的文字进行翻译时,现有的涂书笔记并不能满足用户进行文字翻译的需求。
再例如,用户在使用谷歌翻译对竖排文字进行识别时,由于谷歌翻译一次仅能对一列竖排文字进行识别,因此,用户在手动框选时仅能对一列待识别的竖排文字进行框选,当用户需要对多列竖排文字进行识别时,需要手动进行多次框选,进而由谷歌翻译依次进行识别和翻译。这样,由于需要进行多次框选操作才可以实现对多列竖排文字的识别,因此,文字识别的效率较低,同时,用户的操作也比较繁琐,严重影响用户的使用体验。
有鉴于此,本申请实施例提供一种文字识别、文字翻译方法和装置,该文字识别方法包括:获取包含至少一列竖排文字的目标图像;对所述目标图像进行处理,得到至少一个竖排文字区域,一个所述竖排文字区域对应一列所述竖排文字;对所述至少一个竖排文字区域进行识别,得到与所述至少一个竖排文字区域一一对应的文字。
本申请实施例提供的技术方案,至少能够达到以下有益效果:
(1)通过对包含竖排文字的目标图像进行处理得到竖排文字区域,并对竖排文字区域进行文字识别,可以实现对目标图像中包含的竖排文字的识别,从而可以满足用户在特殊应用场景下对竖排文字的识别需求;
(2)不需要用户手动框选待识别的竖排文字,就可以自动地识别目标图像中的文字区域,进而对文字区域中的竖排文字进行识别,因此,可以有效简化用户操作;
(3)可以对图像中包含的多列竖排文字进行一次性识别,无需由用户分别对每一列竖排文字进行框选并进行多次识别,在简化用户操作的同时,还可以提高文字识别的效率。
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
本申请实施例提供的技术方案可以对不同场景下竖向排版的文字进行有效识别,例如,可以对公交站牌中包含的多列竖向排版的站点进行识别,也可以对纸质文件中竖向排版的文字进行识别,等,这里不再一一举例说明。
在某些特殊场景下,本申请实施例提供的技术方案在对竖向排版的文字进行识别后,还可以对识别得到的文字进行翻译,满足用户对竖排文字进行识别和翻译的需求。例如,在对公交站牌中竖向排版的站点进行识别后,还可以对识别到的站点进行翻译,这样,针对具有翻译需求的用户而言而言,可以为用户的出行提供极大便利。
以下结合附图,详细说明本申请各实施例提供的技术方案。
图1是本申请的一个实施例文字识别方法的流程示意图。所述方法如下所述。
S102:获取包含至少一列竖排文字的目标图像。
在S102中,在需要对竖排文字进行识别时,可以获取包含竖排文字的目标图像,其中,所述目标图像中可以包含一列竖排文字,也可以包含多列竖排文字。
在获取包含至少一列竖排文字的目标图像时,可以通过以下至少一种方式获取得到:
第一种方式:获取待识别的目标图像;判断所述目标图像中是否包含竖排文字;若是,则获取所述目标图像,所述目标图像中包含至少一列竖排文字;
第二种方式:获取待识别的目标图像;判断所述目标图像是否为目标对象的图像,所述目标对象中包含至少一列竖排文字;若是,则获取所述目标图像,所述目标图像中包含至少一列竖排文字。
针对上述第一种方式:
在进行文字识别时,可以获取待识别的目标图像,所述待识别的目标图像可以是通过拍照的方式得到的图像,也可以是通过扫描等其他方式得到的图像,这里不做具体限定。
在获得待识别的目标图像后,可以判断所述目标图像中是否包含竖向排版的文字,即是否包含竖排文字,若包含,则可以获取该目标图像,以便后续对目标图像中的竖排文字进行识别。其中,获取的所述目标图像中可以包含至少一列待识别的竖排文字。
在判断目标图像中是否包含竖排文字时,可以根据预先训练得到模型进行判断。具体地,在判断目标图像中是否包含竖排文字之前,可以以包含竖排文字的图像以及不包含竖排文字的图像作为训练样本,并对包含竖排文字的图像的特征以及不包含竖排文字的图像的特征进行训练,得到用于判断图像中是否包含竖排文字的模型。其中,在进行模型训练时,可以基于深度学习网络的二分类算法进行训练。
在训练得到模型后,在判断待识别的目标图像中是否包含竖排文字时,可以将目标图像作为模型的输入,模型在对目标图像进行处理后,可以输出目标图像是否包含竖排文字的结果,进而确定目标图像中是否包含竖排文字。
针对上述第二种方式:
在进行文字识别时,可以通过上述第一种方式记载的内容获取待识别的目标图像。
在获得待识别的目标图像后,可以判断所述目标图像是否为目标对象的图像,其中,所述目标对象中可以包含至少一列竖排文字,例如,所述目标对象可以是公交站牌(公交站牌中包含多列竖向排版的站点),也可以是包含竖排文字的文件或书籍等。
若所述目标图像是目标对象的图像,则可以获取该目标图像,以便后续对目标图像中的竖排文字进行识别。其中,获取的所述目标图像中可以包含至少一列待识别的竖排文字。
在判断所述目标图像是否为目标对象的图像时,可以根据预先训练得到模型进行判断。具体地,在判断所述目标图像是否为目标对象的图像之前,可以以目标对象的图像以及非目标对象的图像作为训练样本,并对目标对象的图像特征以及非目标对象的图像特征进行训练,得到用于判断图像是否为目标对象的图像的模型。其中,在进行模型训练时,也可以基于深度学习网络的二分类算法进行训练。
在训练得到模型后,在判断待识别的目标图像是否为目标对象的图像时,可以将所述目标图像作为模型的输入,模型在对目标图像进行处理后,可以输出目标图像是否为目标对象的图像的结果,进而确定目标图像是否为目标对象的图像。
在基于上述任一种或两种方式记载的内容获取到包含至少一列竖排文字的目标图像后,可以执行S104。
S104:对所述目标图像进行处理,得到至少一个竖排文字区域。
在S104中,可以对获取到的包含至少一列竖排文字的目标图像进行处理,得到至少一个竖排文字区域,其中,所述竖排文字区域的个数可以与目标图像中包含的竖排文字的列数相同,一个所述竖排文字区域可以对应一列所述竖排文字。
本申请实施例中,对所述目标图像进行处理,得到至少一个竖排文字区域,可以包括:
根据预先训练的模型对所述目标图像进行文字区域分割,得到二值图像,所述模型基于图像中文字的像素特征以及非文字的像素特征进行训练得到,所述二值图像用于表征所述目标图像中的文字区域和非文字区域;
对所述二值图像中包含的文字区域进行倾斜校正,得到文字区域均在竖直方向上的二值图像;
对所述二值图像进行文字检测,得到至少一个竖排文字区域。
具体地,在获取到包含至少一列竖排文字的目标图像后,可以对目标图像中的文字区域和非文字区域进行分割,得到二值图像,所述二值图像的分辨率可以与所述目标图像的分辨率相同,所述二值图像可以理解为图像中每一个像素的取值仅包含“0”和“1”两种。
在本申请实施例中,二值图像中像素取值为“0”的区域可以表示目标图像中的文字区域,像素取值为“1”的区域可以表示目标图像中的非文字区域,或者,二值图像中像素取值为“0”的区域可以表示目标图像中的非文字区域,像素取值为“1”的区域可以表示目标图像中的文字区域。
在对目标图像进行文字区域分割时,可以使用预先训练得到的模型进行文字区域分割,进而得到二值图像。具体地,在预先进行模型训练时,可以以包含文字的图像作为训练样本,对图像中文字的像素特征和非文字的像素特征进行训练,并得到用于判断像素是否为文字对应的像素的模型。其中,在进行模型训练时,可以基于深度学习网络的二分类算法进行训练。
在训练得到模型后,在对目标图像进行文字区域分割时,可以以目标图像作为模型的输入,模型在对目标图像进行处理后,可以输出目标图像中哪些像素是文字对应的像素,哪些像素不是文字对应的像素。
根据模型的输出结果,可以将文字对应的像素标记为“0”,将非文字对应的像素标记为“1”,或者,将文字对应的像素标记为“1”,将非文字对应的像素标记为“0”,这样,可以得到用于表征目标图像中的文字区域和非文字区域的二值图像。
在基于预先训练的模型得到二值图像后,在本申请的一个实施例中,为了保证所述二值图像的准确性,还可以对二值图像进行去噪处理,去噪的目的是为了对所述二值图像进行提纯,并去掉二值图像中误识别的部分。
在对二值图像进行去噪处理时,可以对二值图像中包含的联通域进行计算,并采用图像联通域的膨胀算法或侵蚀算法二值图像进行去噪处理,具体可以参见现有技术中记载的方法,这里不再详细说明。
在得到二值图像后,可以对二值图像中的文字区域进行倾斜校正,得到文字区域均在竖直方向上的二值图像。这样,可以便于后续进行文字识别。
在对位置图像中包含的文字区域进行倾斜校正时,具体可以包括:
确定所述二值图像中包含的文字区域的倾斜角度;
根据所述倾斜角度对所述二值图像进行旋转,得到文字区域均在竖直方向上的二值图像。
在确定二值图像中文字区域的倾斜角度时,具体地:
首先,可以确定二值图像中包含的文字区域对应的联通域,其中,所述联通域的个数通常为多个。
其次,可以确定所述联通域的第一面积以及所述联通域对应的边界框(boundingbox)的第二面积。
所述第一面积可以理解为所述联通域所占区域的面积,所述联通域对应的边界框可以理解为能够将所述联通域包含在内的位于竖直方向上的矩形边框(即非倾斜的矩形边框),所述第二面积即为该矩形边框所占区域的面积。通常,所述第二面积大于等于所述第一面积。
为了便于理解,可以参见图2。图2中,区域a可以视为具有倾斜角度的文字区域对应的联通域,联通域的第一面积可以是区域a的面积,边框b为联通域对应的边界框,边框b包含区域a,且为竖直方向上的矩形,边框b所占区域的面积即为联通域对应的边界框的第二面积。从图2中可以看出,边框b所占区域的面积大于区域a的面积。
再次,按照预设步长在设定角度范围内旋转所述二值图像,并确定每次旋转时所述第一面积与所述第二面积的比值。
所述预设步长可以是预设角度,为了准确得到所述二值图像的倾斜角度,所述预设步长可以优选1度角,所述设定角度范围可以是[-90度角,90度角]。
在旋转二值图像时,可以以二值图像所在的方向作为0度角,按照所述预设步长向左和向右各旋转90度角,其中,设定角度范围中的[-90度角,0度角]可以表征按照预设步长向左旋转直至90度角,设定角度范围中的[0度角,90度角]可以表征按照预设步长向右旋转直至90度角。
应理解,在将二值图像旋转[-90度角,90度角]时,也可以按照其他方式进行旋转,例如,可以以竖直方向或水平方向作为0度角,按照所述预设步长向左和向右各旋转90度角,这里不再一一举例说明。
在旋转二值图像时,二值图像中的联通域也会一起旋转,在每次旋转时,可以记录联通域的第一面积与该联通域对应的边界框的第二面积之间的比值,其中,在旋转的过程中,联通域的第一面积不变,联通域对应的边界框的第二面积跟随旋转角度发生变化。
最后,确定记录的所述比值中的最大值,当所述比值最大时,可以认为联通域对应的边界框的第二面积最小,此时,可以认为联通域处于竖直方向,该最大的比值对应的旋转角度可以视为二值图像中文字区域的倾斜角度。其中,所述倾斜角度可以包含符号,当符号为正时,所述倾斜角度可以代表向左旋转得到的倾斜角度,当符号为负时,所述倾斜角度可以代表向右旋转得到的倾斜角度。
如图3所示,图3中,联通域a为矩形,矩形的面积即为联通域a的第一面积,边框b即为联通域a的边界框,边框b的面积即为第二面积。
以图3中联通域所在的方向(即图中L方向)为0度角,以1度角为预设步长,将联通域a向左和向右各旋转90度角。当向左旋转的角度为β时,联通域a对应的边界框(图3中未示出)所在的区域即为联通域a所在的区域,联通域a的第一面积等于联通域a对应的边界框的第二面积,第一面积与第二面积的比值最大,此时,联通域a在竖直方向上。因此,旋转角度β可以视为联通域a的倾斜角度,即联通域对应的文字区域的倾斜角度。
需要说明的是,由于二值图像中通常包含多个联通域,因此,在记录联通域的第一面积与第二面积的比值时,可以记录二值图像中每一个联通域的第一面积与第二面积的比值,并将所有联通域的比值的平均值(或总和等)作为判断标准,在旋转二值图像时,当所述平均值最大时,可以确定该最大平均值对应的旋转角度为二值图像中文字区域的倾斜角度。
还需要说明的是,在实际旋转二值图像时,当二值图像中的联通域位于水平方向时,联通域的第一面积与第二面积的比值也是最大的,也就是说,在旋转二值图像时,与最大比值对应的旋转角度包含将二值图像旋转到竖直方向时的旋转角度以及将二值图像旋转到水平方向时的旋转角度。
在本实施例中,为了避免将联通域旋转到水平方向时的旋转角度误认为是文字区域的倾斜角度,在确定最大比值对应的旋转角度后,可以进一步确定该旋转角度下联通域对应的边界框是否是高度大于宽度的矩形边框,若是,则可以说明该旋转角度是将二值图像旋转到竖直方向时的角度,并将旋转角度确定为文字区域的倾斜角度,若否,则可以说明该旋转角度是将二值图像旋转到水平方向时的角度。
以如图3所示的联通域a为例,在竖直方向(即图中X方向)上,联通域a对应的边界框即为竖直方向上的联通域a,是一个高度大于宽度的矩形,因此旋转角度β为联通域a对应的二值图像的倾斜角度,在水平方向(即图中Y方向)上,联通域a对应的边界框即为水平方向上的联通域a,是一个高度小于宽度的矩形,因此旋转角度γ不是联通域a对应的文字区域的倾斜角度。
在通过上述记载的方法确定二值图像中文字区域的倾斜角度后,可以基于所述倾斜角度将二值图像进行旋转,旋转的角度可以等于所述倾斜角度,这样,二值图像中的联通域可以位于竖直方向,相应地,二值图像中的文字区域也位于竖直方向,即可以得到文字区域均在竖直方向上的二值图像。
在得到文字区域均在竖直方向上的二值图像后,可以对二值图像进行进一步的文字检测,这里的检测不再是对二值图像中的某个像素进行处理,而是对二值图像中的文字区域进行检测。
在对二值图像进行文字检测时,可以使用区域级别的算法进行检测,例如,可以使用SSD(single shot multibox detector,物体监测模型)对二值图像进行检测,也可以使用其他区域检测算法进行检测,这里不再一一举例说明。
在对二值图像进行文字检测后,可以得到至少一列竖排文字区域,其中,一个竖排文字区域可以对应一列竖排文字,所述至少一列竖排文字区域可以均位于竖直方向。
在检测得到至少一个竖排文字区域后,可以执行S106。
S106:对所述至少一个竖排文字区域进行识别,得到与所述至少一个竖排文字区域一一对应的文字。
在S106中,可以对检测得到至少一个竖排文字区域进行识别,得到与每一个竖排文字区域一一对应的文字。
在对所述至少一个竖排文字区域进行识别时,所述方法可以包括:
按照设定角度对所述至少一个竖排文字区域进行旋转,所述设定角度为90度角的整数倍;
采用预设识别方法对旋转后的所述至少一个竖排文字区域进行识别,所述预设识别方法用于对横排文字进行识别;
根据识别结果,得到与所述至少一个竖排文字区域一一对应的文字。
具体地,本申请实施例在进行文字识别时,可以使用现有的对用于对横排文字进行识别的方法进行识别,因此,在进行文字识别之前,可以将位于竖直方向上的所述至少一个竖排文字区域进行旋转,使得所述至少一个竖排文字区域均位于水平方向。
在对所述至少一个竖排文字区域进行旋转时,可以按照设定角度进行旋转。所述设定角度可以是90度角的奇数倍,例如,可以将所述至少一个竖排文字区域旋转-90度角(即向左旋转90度角)、90度角(即向右旋转90度角)、270度角(即向右旋转270度角)等,这里不再一一举例说明。
在得到位于水平方向上的至少一个竖排文字区域后,可以采用对横排文字进行文字识别的预设识别算法对所述至少一个竖排文字区域进行识别。所述预设识别算法具体可以是CNN(卷积神经网络)算法和istm(交互式逐步折衷法)算法的结合。其中,在使用istm算法对旋转后的所述至少一个竖排文字进行识别时,识别方向是从左往右。
在对所述至少一个竖排文字区域进行识别后,可以根据识别结果确定与所述至少一个竖排文字区域一一对应的文字。
需要说明的是,在其他实现方式中,也可以不将所述至少一列竖排文字区域旋转,而是在使用所述预设识别算法对所述至少一列竖排文字区域进行识别时,可以修改istm算法中的扫描方向,即将对横排文字的从左往右的扫描方向改为从上往下扫描,以便对竖排文字进行识别。
在对所述至少一列竖排文字区域进行识别时,可以分别对每一列竖排文字区域进行识别,这样,也可以识别得到与所述至少一个竖排文字区域一一对应的文字。
由于基于本申请实施例提供的技术方案,可以实现对竖向排版的文字的有效识别,因此,可以满足用户在特殊应用场景下对竖排文字的识别需求,改善用户的使用体验。
在本申请的一个实施例中,在某种特殊应用场景下,在识别得到与所述至少一个竖排文字区域一一对应的文字之后,所述方法还包括:
按照设定语言对识别到的所述文字进行翻译,得到与所述文字一一对应的设定语言。
所述特殊应用场景可以是需要对竖排文字进行识别并翻译的场景。例如,在对公交站牌中竖向排版的站点进行识别后,可以对识别到的站点进行翻译,这样,针对具有翻译需求的用户而言,可以快速确定站点,方便出行。
所述设定语言可以是需要翻译成的语言,例如,如果需要将识别的文字翻译成英语,那么,所述设定语言就是英语。
在识别得到与所述至少一个竖排文字区域一一对应的文字之后,可以按照上述设定语言对识别到的文字进行翻译,并得到与所述至少一个竖排文字区域一一对应的设定语言。
在翻译得到设定语言后,还可以展示翻译得到的设定语言,在展示设定语言时,可以按照所述至少一列竖排文字区域在目标图像中的排版方式进行展示,即可以按照竖向排版的方式展示所述设定语言,也可以按照横向排版的方式展示所述设定语言,还可以是其他展示方式,具体可以根据用户的实际需求确定,这里不做具体限定。
在本申请的一个实施例中,在某些应用场景下,在识别得到与所述至少一个竖排文字区域一一对应的文字后,也可以展示识别得到的文字。在展示文字时,可以按照所述至少一列竖排文字区域在目标图像中的排版方式进行展示,也可以按照横向排版的方式展示,还可以根据用户实际需求确定展示方式,这里也不做具体限定。
本申请实施例提供的技术方案,在获取到包含至少一列竖排文字的目标图像后,可以对目标图像进行处理,得到与所述至少一列竖排文字一一对应的至少一个竖排文字区域,通过对所述至少一个竖排文字区域进行识别,可以得到与所述至少一个竖排文字区域一一对应的文字。这样,通过对包含竖排文字的目标图像进行处理得到竖排文字区域,并对竖排文字区域进行文字识别,可以实现对目标图像中的竖排文字的有效识别,从而可以满足用户在特殊应用场景下对竖排文字的识别需求,改善用户的使用体验。
此外,由于不需要用户手动框选待识别的竖排文字,就可以自动地识别目标图像中的文字区域,进而对文字区域中的竖排文字进行识别,因此,可以有效简化用户操作,在进行文字识别时,由于可以对图像中包含的多列竖排文字进行一次性识别,无需由用户分别对每一列竖排文字进行框选并进行多次识别,因此,在简化用户操作的同时,还可以提高文字识别的效率。
为了便于理解整个技术方案,请参见图4。图4为本申请的一个实施例文字识别方法的流程示意图。图4所示实施例记载的内容与图1所示实施例记载的内容属于相同的发明构思,所述方法如下所述。
S401:获取待识别的目标图像。
所述待识别的目标图像可以是通过拍照的方式得到的图像,也可以是通过扫描等其他方式得到的图像。
S402:判断所述待识别的目标图像是否为目标对象的图像。
所述目标对象中包含至少一列竖排文字。在判断所述待识别的目标图像中是否为目标对象的图像,可以基于图1所示实施例中记载的方法判断,这里不做具体限定。
若所述待识别的目标图像中为目标对象的图像,则可以执行S403,否则,执行S408。
S403:根据预先训练的模型对所述目标图像进行文字区域分割,得到二值图像。
所述模型基于图像中文字的像素特征以及非文字的像素特征进行训练得到,所述二值图像用于表征所述目标图像中的文字区域和非文字区域,对所述目标图像进行文字区域分割得到二值图像的具体实现方式可以参见图1所示实施例中记载的相关内容,这里不做具体限定。
S404:对所述二值图像进行去噪处理,得到去噪后的二值图像。
具体地,可以确定所述二值图像中包含的文字区域对应的联通域,利用预设算法对所述联通域进行去噪处理,得到去噪后的二值图像。
S405:对所述二值图像中包含的文字区域进行倾斜校正,得到文字区域均在竖直方向上的二值图像。
在进行倾斜校正时,可以根据图1所示实施例记载的内容确定所述二值图像中包含的文字区域的倾斜角度,根据所述倾斜角度对所述二值图像进行旋转,可以得到文字区域均在竖直方向上的二值图像。
S406:对所述二值图像进行文字检测,得到至少一个竖排文字区域。
文字检测的算法可以是对区域进行检测的算法,一个竖排文字区域可以对应目标图像中一列竖排文字。
S407:对所述至少一个竖排文字区域进行识别,得到与所述至少一个竖排文字区域一一对应的文字。
在进行文字识别,可以使用预设算法分别对每一个竖排文字区域进行识别,具体请参见图1所示实施例中记载的内容,这里不再重复描述。
S408:结束。
需要说明的是,上述S402中,也可以判断所述待识别的目标图像中是否包含竖排文字,若是,则可以执行S403,若否,则可以执行S408。其中,判断所述待识别的目标图像中是否包含竖排文字的具体实现方式,可以参见图1所示实施例中记载的相关内容。
在S407中,在识别得到与所述至少一个竖排文字区域一一对应的文字后,在不同的应用场景在,还可以展示识别得到文字,或者,按照设定语言将识别得到的文字进行翻译,得到与所述文字一一对应的设定语言,并展示翻译得到的设定语言。在展示所述文字或所述设定语言时,还可以根据实际需要确定具体的展示方式。
图4所示的实施例提供的技术方案至少可以达到以下有益效果:
(1)通过对包含竖排文字的目标图像进行处理得到竖排文字区域,并对竖排文字区域进行文字识别,可以实现对目标图像中包含的竖排文字的识别,从而可以满足用户在特殊应用场景下对竖排文字的识别需求;
(2)不需要用户手动框选待识别的竖排文字,就可以自动地识别目标图像中的文字区域,进而对文字区域中的竖排文字进行识别,因此,可以有效简化用户操作;
(3)可以对图像中包含的多列竖排文字进行一次性识别,无需由用户分别对每一列竖排文字进行框选并进行多次识别,在简化用户操作的同时,还可以提高文字识别的效率。
图5为本申请的一个实施例文字翻译方法的流程示意图,本申请实施例的应用场景可以是对竖排文字进行识别翻译的场景。所述方法如下所述。
S502:获取包含至少一列竖排文字的目标图像。
在S502中,在需要对竖排文字进行识别时,可以获取包含竖排文字的目标图像,其中,所述目标图像中可以包含一列竖排文字,也可以包含多列竖排文字。
具体实现方式可以参见图1所示实施例中记载的内容,这里不再重复描述。
S504:对所述目标图像进行处理,得到至少一个竖排文字区域。
在S504中,可以对获取到的包含至少一列竖排文字的目标图像进行处理,得到至少一个竖排文字区域,其中,所述竖排文字区域的个数可以与目标图像中包含的竖排文字的列数相同,一个所述竖排文字区域可以对应一列所述竖排文字。其中,一个所述竖排文字区域对应一列所述竖排文字。
具体实现方式可以参见图1所示实施例中记载的内容,这里不再重复描述。
S506:对所述至少一个竖排文字区域进行识别,得到与所述至少一个竖排文字区域一一对应的文字。
在S506中,可以对检测得到至少一个竖排文字区域进行识别,得到与每一个竖排文字区域一一对应的文字。
具体实现方式可以参见图1所示实施例中记载的内容,这里不再重复描述。
S508:按照设定语言对识别到的所述文字进行翻译,得到与所述文字一一对应的设定语言。
在S508中,在识别得到与所述至少一个竖排文字区域一一对应的文字后,可以按照设定语言对所述文字进行翻译。
所述设定语言可以是需要翻译成的语言,例如,如果需要将识别的文字翻译成英语,那么,所述设定语言就是英语。
在识别得到与所述至少一个竖排文字区域一一对应的文字之后,可以按照上述设定语言对识别到的文字进行翻译,并得到与所述至少一个竖排文字区域一一对应的设定语言。
在本申请的一个实施例中,S502中获取的目标图像可以是公交站牌的图像,所述公交站牌中可以包含至少一列竖排文字,在这种应用场景下,在翻译得到所述设定语言后,还可以展示所述设定语言。
在展示翻译得到的所述设定语言时,可以按照所述至少一列竖排文字区域在目标图像中的排版方式展示,即可以按照竖向排版的方式展示所述设定语言,也可以按照横向排版的方式展示所述设定语言,还可以根据用户实际需求确定展示方式,这里不做具体限定。
本申请实施例提供的技术方案,除了可以实现图1所示实施例的有效效果之外,由于可以将识别得到的文字进行翻译并展示,因此,可以满足用户对竖排文字进行识别和翻译的需求,当应用场景是对公交站牌中的竖排文字进行识别和翻译时,针对具有公交站牌翻译需求的用户而言,还可以方便用户快速识别站点,方便用户的出行。
上述对本申请特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
图6是本申请的一个实施例电子设备的结构示意图。请参考图6,在硬件层面,该电子设备包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(Random-Access Memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。
处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、PCI(PeripheralComponent Interconnect,外设部件互连标准)总线或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
存储器,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。
处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成文字识别装置。处理器,执行存储器所存放的程序,并具体用于执行以下操作:
获取包含至少一列竖排文字的目标图像;
对所述目标图像进行处理,得到至少一个竖排文字区域,一个所述竖排文字区域对应一列所述竖排文字;
对所述至少一个竖排文字区域进行识别,得到与所述至少一个竖排文字区域一一对应的文字。
上述如本申请图6所示实施例揭示的文字识别装置执行的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
该电子设备还可执行图1的方法,并实现文字识别装置在图1所示实施例中的功能,本申请实施例在此不再赘述。
当然,除了软件实现方式之外,本申请的电子设备并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
本申请实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的便携式电子设备执行时,能够使该便携式电子设备执行图1所示实施例的方法,并具体用于执行以下操作:
获取包含至少一列竖排文字的目标图像;
对所述目标图像进行处理,得到至少一个竖排文字区域,一个所述竖排文字区域对应一列所述竖排文字;
对所述至少一个竖排文字区域进行识别,得到与所述至少一个竖排文字区域一一对应的文字。
图7是本申请的一个实施例文字识别装置70的结构示意图。请参考图7,在一种软件实施方式中,所述文字识别装置70可包括:获取单元71、处理单元72和识别单元73,其中:
获取单元71,获取包含至少一列竖排文字的目标图像;
处理单元72,对所述目标图像进行处理,得到至少一个竖排文字区域,一个所述竖排文字区域对应一列所述竖排文字;
识别单元73,对所述至少一个竖排文字区域进行识别,得到与所述至少一个竖排文字区域一一对应的文字。
可选地,所述处理单元72,对所述目标图像进行处理,得到至少一个竖排文字区域,包括:
根据预先训练的模型对所述目标图像进行文字区域分割,得到二值图像,所述模型基于图像中文字的像素特征以及非文字的像素特征进行训练得到,所述二值图像用于表征所述目标图像中的文字区域和非文字区域;
对所述二值图像中包含的文字区域进行倾斜校正,得到文字区域均在竖直方向上的二值图像;
对所述二值图像进行文字检测,得到至少一个竖排文字区域。
可选地,所述处理单元72,对所述二值图像中包含的文字区域进行倾斜校正,得到文字区域均在竖直方向上的二值图像,包括:
确定所述二值图像中包含的文字区域的倾斜角度;
根据所述倾斜角度对所述二值图像进行旋转,得到文字区域均在竖直方向上的二值图像。
可选地,所述处理单元72,确定所述二值图像中包含的文字区域的倾斜角度,包括:
确定所述二值图像中包含的文字区域对应的联通域;
确定所述联通域的第一面积,以及所述联通域对应的边界框的第二面积;
按照预设步长在设定角度范围内旋转所述二值图像,确定每次旋转时所述第一面积与所述第二面积的比值;
当所述比值最大时,确定与最大比值对应的旋转角度,并将所述旋转角度确定为所述所述二值图像中包含的文字区域的倾斜角度。
可选地,所述处理单元72,在对所述二值图像中包含的文字区域进行倾斜校正之前,确定所述二值图像中包含的文字区域对应的联通域;
利用预设算法对所述联通域进行去噪处理,得到去噪后的二值图像。
可选地,所述识别单元73,对所述至少一个竖排文字区域进行识别,得到与所述至少一个竖排文字区域一一对应的文字,包括:
按照设定角度对所述至少一个竖排文字区域进行旋转,所述设定角度为90度角的奇数倍;
采用预设识别方法对旋转后的所述至少一个竖排文字区域进行识别,所述预设识别方法用于对横排文字进行识别;
根据识别结果,得到与所述至少一个竖排文字区域一一对应的文字。
可选地,所述获取单元71,获取包含至少一列竖排文字的目标图像,包括以下至少一种:
获取待识别的目标图像;判断所述目标图像中是否包含竖排文字;若是,则获取所述目标图像,所述目标图像中包含至少一列竖排文字;
获取待识别的目标图像;判断所述目标图像是否为目标对象的图像,所述目标对象中包含至少一列竖排文字;若是,则获取所述目标图像,所述目标图像中包含至少一列竖排文字。
可选地,所述文字识别装置70还包括:翻译单元74,其中:
所述翻译单元74,在所述识别单元73得到与所述至少一个竖排文字区域一一对应的文字之后,按照设定语言对识别到的所述文字进行翻译,得到与所述文字一一对应的设定语言。
文字识别装置70还可执行图1的方法,并实现文字识别装置在图1所示实施例的功能,本申请实施例在此不再赘述。
需要说明的是,上述记载的用于对竖排文字进行识别的文字识别装置70可以与现有的对横排文字进行识别的装置集成在一个应用程序中,这样,在对目标图像中的文字进行识别时,可以使用上述记载的方法判断目标图像是否包含竖排文字(或者,使用上述记载的方法判断目标图像是否为目标对象的图像,所述目标对象中包含至少一列竖排文字),若是,则可以使用文字识别装置70进行文字识别,若否,则可以使用对横排文字进行识别的装置进行文字识别。
图8是本申请的一个实施例电子设备的结构示意图。请参考图8,在硬件层面,该电子设备包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(Random-Access Memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。
处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、PCI(PeripheralComponent Interconnect,外设部件互连标准)总线或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
存储器,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。
处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成文字翻译装置。处理器,执行存储器所存放的程序,并具体用于执行以下操作:
获取包含至少一列竖排文字的目标图像;
对所述目标图像进行处理,得到至少一个竖排文字区域,一个所述竖排文字区域对应一列所述竖排文字;
对所述至少一个竖排文字区域进行识别,得到与所述至少一个竖排文字区域一一对应的文字;
按照设定语言对识别到的所述文字进行翻译,得到与所述文字一一对应的设定语言。
上述如本申请图8所示实施例揭示的文字翻译装置执行的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
该电子设备还可执行图5的方法,并实现文字翻译装置在图5所示实施例中的功能,本申请实施例在此不再赘述。
当然,除了软件实现方式之外,本申请的电子设备并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
本申请实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的便携式电子设备执行时,能够使该便携式电子设备执行图5所示实施例的方法,并具体用于执行以下操作:
获取包含至少一列竖排文字的目标图像;
对所述目标图像进行处理,得到至少一个竖排文字区域,一个所述竖排文字区域对应一列所述竖排文字;
对所述至少一个竖排文字区域进行识别,得到与所述至少一个竖排文字区域一一对应的文字;
按照设定语言对识别到的所述文字进行翻译,得到与所述文字一一对应的设定语言。
图9是本申请的一个实施例文字翻译装置90的结构示意图。请参考图9,在一种软件实施方式中,所述文字翻译装置90可包括:获取单元91、处理单元92、识别单元93以及翻译单元94,其中:
获取单元91,获取包含至少一列竖排文字的目标图像;
处理单元92,对所述目标图像进行处理,得到至少一个竖排文字区域,一个所述竖排文字区域对应一列所述竖排文字;
识别单元93,对所述至少一个竖排文字区域进行识别,得到与所述至少一个竖排文字区域一一对应的文字;
翻译单元94,按照设定语言对识别到的所述文字进行翻译,得到与所述文字一一对应的设定语言。
可选地,所述目标图像为公交站牌的图像,所述公交站牌中包含至少一列竖排文字;
所述文字翻译装置90还包括:展示单元95,其中:
所述展示单元95,在所述翻译单元94得到与所述文字一一对应的设定语言之后,展示所述设定语言。
文字翻译装置90还可执行图5的方法,并实现文字翻译装置在图5所示实施例的功能,本申请实施例在此不再赘述。
需要说明的是,上述记载的用于对竖排文字进行识别翻译的文字翻译装置90可以与现有的对横排文字进行识别翻译的装置集成在一个应用程序中,这样,在对目标图像中的文字进行识别翻译时,可以使用上述记载的方法判断目标图像是否包含竖排文字(或者,使用上述记载的方法判断目标图像是否为目标对象的图像,所述目标对象中包含至少一列竖排文字),若是,则可以使用文字翻译装置90进行文字识别翻译,若否,则可以使用对横排文字进行识别翻译的装置进行文字识别和翻译。
总之,以上所述仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本申请中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。