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

图像中文本是否弯曲的判别方法和存储介质、产品

文献发布时间:2023-06-19 16:04:54



技术领域

本公开涉及图像识别技术领域,尤其是一种图像中文本是否弯曲的判别方法和存储介质、产品。

背景技术

合同作为多种场景的交易过程中涉及数量最大,内容最复杂的备件,需要OCR识别进行数字化处理。然而由于合同在拍照过程中存在大量弯曲的情况,对OCR识别造成了极大的干扰,严重影响到文本检测识别,如果在合同上传到系统后在OCR识别阶段发现由于弯曲造成不能识别,之后再打回处理的话需要浪费很多时间,为此需要对合同文本是否弯曲做提前判断。

发明内容

为了解决上述技术问题,提出了本公开。本公开的实施例提供了一种图像中文本是否弯曲的判别方法和存储介质、产品。

根据本公开实施例的一个方面,提供了一种图像中文本是否弯曲的判别方法,包括:

对原始图像进行预处理,确定所述原始图像中的至少一个检测区域;其中,所述原始图像中包括的至少一行文本;

基于所述至少一个检测区域确定所述原始图像中的至少一个文本多边形;

基于所述至少一个文本多边形的边数,确定所述原始图像中是否存在弯曲文本。

可选地,所述对原始图像进行预处理,确定所述原始图像中的至少一个检测区域,包括:

基于所述原始图像得到单通道的第一图像;

对所述第一图像进行二值化处理,得到第二图像;

对所述第二图像基于不同尺寸的形态核进行多次膨胀腐蚀,得到所述至少一个检测区域。

可选地,所述基于所述原始图像得到单通道的第一图像,包括:

对所述原始图像执行缩放处理,得到设定大小的缩放图像;

基于所述缩放图像得到单通道的第一图像。

可选地,所述基于所述至少一个检测区域确定所述原始图像中的至少一个文本多边形,包括:

基于所述至少一个检测区域的连通关系,确定具有连通关系的所述至少一个检测区域对应的最小外接多边形;

基于所述最小外接多边形确定所述文本多边形。

可选地,所述基于所述至少一个文本多边形的边数,确定所述原始图像中是否存在弯曲文本,包括:

响应于所述至少一个文本多边形中存在至少一个文本多边形的边的数量大于设定阈值;

确定所述原始图像中存在弯曲文本。

可选地,所述方法还包括:

响应于确定所述原始图像中存在弯曲文本,确定所述原始图像中包括的第一设定数量的水平直线和第二设定数量的竖直直线;

基于所述第一设定数量的水平直线和第二设定数量的竖直直线对应的至少一个夹角,确定所述原始图像中存在弯曲文本的结论是否正确。

可选地,所述确定所述原始图像中包括的第一设定数量的水平直线和第二设定数量的竖直直线,包括:

对所述原始图像进行处理,得到所述原始图像对应的梯度图像;

对所述梯度图像执行霍夫变换,得到至少一条直线及其对应直线角度;

基于所述直线角度从所述至少一条直线中确定所述第一设定数量的水平直线和所述第二设定数量的竖直直线。

可选地,所述基于所述直线角度从所述至少一条直线中确定所述第一设定数量的水平直线和所述第二设定数量的竖直直线,包括:

对所述至少一条直线按照对应的所述直线角度与水平角度的差值进行排序,得到第一序列;

对所述至少一条执行按照对应的所述直线角度与竖直角度的差值进行排序,得到第二序列;

从所述第一序列中获得所述第一设定数量的水平直线,从所述第二序列中获得所述第二设定数量的竖直直线。

可选地,所述对所述原始图像进行处理,得到所述原始图像对应的梯度图像,包括:

对所述原始图像执行缩放处理,得到设定大小的缩放图像;

对所述缩放图像执行灰度化或通道分离处理,得到单通道图像;

对所述单通道图像进行平滑处理,得到平滑图像;

基于所述平滑图像得到所述梯度图像。

可选地,所述基于所述第一设定数量的水平直线和所述第二设定数量的竖直直线对应的至少一个夹角,确定所述原始图像中存在弯曲文本的结论是否正确,包括:

针对所述第一设定数量的水平直线中的每个水平直线,基于所述水平直线对应的第一向量和所述水平直线存在交叉的所述至少一个竖直直线对应的第二向量,确定所述水平直线与所述至少一个竖直直线的至少一个夹角的角度;

基于所述至少一个夹角的角度是否符合预设条件,确定所述原始图像中存在弯曲文本的结论是否正确。

可选地,所述基于所述至少一个夹角的角度是否符合预设条件,确定所述原始图像中存在弯曲文本的结论是否正确,包括:

确定所述至少一个夹角中是否存在设定比例的夹角的角度超出设定范围,如果是,确定所述原始图像中存在弯曲文本的结论是正确的;否则,确定所述原始图像中存在弯曲文本的结论是不正确的。

根据本公开实施例的另一方面,提供了一种图像中文本是否弯曲的判别装置,包括:

预处理模块,用于对原始图像进行预处理,确定所述原始图像中的至少一个检测区域;其中,所述原始图像中包括的至少一行文本;

多边形确定模块,用于基于所述至少一个检测区域确定所述原始图像中的至少一个文本多边形;

第一弯曲识别模块,用于基于所述至少一个文本多边形的边数,确定所述原始图像中是否存在弯曲文本。

可选地,所述预处理模块,包括:

单通道单元,用于基于所述原始图像得到单通道的第一图像;

二值化单元,用于对所述第一图像进行二值化处理,得到第二图像;

膨胀腐蚀单元,用于对所述第二图像基于不同尺寸的形态核进行多次膨胀腐蚀,得到所述至少一个检测区域。

可选地,所述单通道单元,具体用于对所述原始图像执行缩放处理,得到设定大小的缩放图像;基于所述缩放图像得到单通道的第一图像。

可选地,所述多边形确定模块,具体用于基于所述至少一个检测区域的连通关系,确定具有连通关系的所述至少一个检测区域对应的最小外接多边形;基于所述最小外接多边形确定所述文本多边形。

可选地,所述第一弯曲识别模块,具体用于响应于所述至少一个文本多边形中存在至少一个文本多边形的边的数量大于设定阈值;确定所述原始图像中存在弯曲文本。

可选地,所述装置还包括:

第二弯曲识别模块,用于响应于确定所述原始图像中存在弯曲文本,确定所述原始图像中包括的第一设定数量的水平直线和第二设定数量的竖直直线;基于所述第一设定数量的水平直线和第二设定数量的竖直直线对应的至少一个夹角,确定所述原始图像中存在弯曲文本的结论是否正确。

可选地,所述第二弯曲识别模块,包括:

梯度单元,用于对所述原始图像进行处理,得到所述原始图像对应的梯度图像;

霍夫变换单元,用于对所述梯度图像执行霍夫变换,得到至少一条直线及其对应直线角度;

直线确定单元,用于基于所述直线角度从所述至少一条直线中确定所述第一设定数量的水平直线和所述第二设定数量的竖直直线。

可选地,所述直线确定单元,具体用于对所述至少一条直线按照对应的所述直线角度与水平角度的差值进行排序,得到第一序列;对所述至少一条执行按照对应的所述直线角度与竖直角度的差值进行排序,得到第二序列;从所述第一序列中获得所述第一设定数量的水平直线,从所述第二序列中获得所述第二设定数量的竖直直线。

可选地,所述梯度单元,具体用于对所述原始图像执行缩放处理,得到设定大小的缩放图像;对所述缩放图像执行灰度化或通道分离处理,得到单通道图像;对所述单通道图像进行平滑处理,得到平滑图像;基于所述平滑图像得到所述梯度图像。

可选地,所述基于所述第一设定数量的水平直线和所述第二设定数量的竖直直线对应的至少一个夹角,确定所述原始图像中存在弯曲文本的结论是否正确,包括:

针对所述第一设定数量的水平直线中的每个水平直线,基于所述水平直线对应的第一向量和所述水平直线存在交叉的所述至少一个竖直直线对应的第二向量,确定所述水平直线与所述至少一个竖直直线的至少一个夹角的角度;

基于所述至少一个夹角的角度是否符合预设条件,确定所述原始图像中存在弯曲文本的结论是否正确。

可选地,所述第二弯曲识别模块,还用于确定所述至少一个夹角中是否存在设定比例的夹角的角度超出设定范围,如果是,确定所述原始图像中存在弯曲文本的结论是正确的;否则,确定所述原始图像中存在弯曲文本的结论是不正确的。

根据本公开实施例的又一方面,提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行上述任一实施例所述的图像中文本是否弯曲的判别方法。

根据本公开实施例的还一方面,提供了一种电子设备,所述电子设备包括:

处理器;

用于存储所述处理器可执行指令的存储器;

所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现上述任一实施例所述的图像中文本是否弯曲的判别方法。

基于本公开上述实施例提供的一种图像中文本是否弯曲的判别方法和存储介质、产品,对原始图像进行预处理,确定所述原始图像中的至少一个检测区域;其中,所述原始图像中包括的至少一行文本;基于所述至少一个检测区域确定所述原始图像中的至少一个文本多边形;基于所述至少一个文本多边形的边数,确定所述原始图像中是否存在弯曲文本;本实施例通过检测确定将文本内容包含在内的文本多边形,并且,由于如果文本中存在弯曲,多边形的边会相对增加,因此通过文本多边形的边数来判断原始图像中是否存在弯曲文本,实现了高效准确的对图像中的文本进行弯曲判别。

下面通过附图和实施例,对本公开的技术方案做进一步的详细描述。

附图说明

通过结合附图对本公开实施例进行更详细的描述,本公开的上述以及其他目的、特征和优势将变得更加明显。附图用来提供对本公开实施例的进一步理解,并且构成说明书的一部分,与本公开实施例一起用于解释本公开,并不构成对本公开的限制。在附图中,相同的参考标号通常代表相同部件或步骤。

图1是本公开一示例性实施例提供的图像中文本是否弯曲的判别方法的流程示意图。

图2是本公开图1所示的实施例中步骤102的一个流程示意图。

图3a是本公开一可选示例提供的经过缩放处理的缩放图像示意图。

图3b是对图3a的缩放图像处理得到的第一图像示意图。

图3c是对图3b所示的第一图像进行二值化处理的第二图像示意图。

图3d是图3c所示的第二图像进行膨胀腐蚀得到的在第二图像中的多个检测区域示意图。

图3e是基于图3d所示的多个检测区域得到的多个最小外接多边形示意图。

图4是本公开另一示例性实施例提供的图像中文本是否弯曲的判别方法的流程示意图。

图5是本公开图4所示的实施例中步骤408的一个流程示意图。

图6a是本公开另一可选示例提供的经过缩放处理的缩放图像示意图。

图6b是对图6a所示的缩放图像处理得到的单通道图像示意图。

图6c是对图6b所示的单通道图像处理得到的梯度图像示意图。

图6d是本公开一可选示例提供的对梯度图像霍夫变换后得到的直线示意图。

图7是本公开一示例性实施例提供的图像中文本是否弯曲的判别装置的结构示意图。

图8是本公开一示例性实施例提供的电子设备的结构图。

具体实施方式

下面,将参考附图详细地描述根据本公开的示例实施例。显然,所描述的实施例仅仅是本公开的一部分实施例,而不是本公开的全部实施例,应理解,本公开不受这里描述的示例实施例的限制。

应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。

本领域技术人员可以理解,本公开实施例中的“第一”、“第二”等术语仅用于区别不同步骤、设备或模块等,既不代表任何特定技术含义,也不表示它们之间的必然逻辑顺序。

还应理解,在本公开实施例中,“多个”可以指两个或两个以上,“至少一个”可以指一个、两个或两个以上。

还应理解,对于本公开实施例中提及的任一部件、数据或结构,在没有明确限定或者在前后文给出相反启示的情况下,一般可以理解为一个或多个。

另外,本公开中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本公开中字符“/”,一般表示前后关联对象是一种“或”的关系。本公开中所指数据可以包括文本、图像、视频等非结构化数据,也可以是结构化数据。

还应理解,本公开对各个实施例的描述着重强调各个实施例之间的不同之处,其相同或相似之处可以相互参考,为了简洁,不再一一赘述。

同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。

以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。

对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。

本公开实施例可以应用于终端设备、计算机系统、服务器等电子设备,其可与众多其它通用或专用计算系统环境或配置一起操作。适于与终端设备、计算机系统、服务器等电子设备一起使用的众所周知的终端设备、计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统、大型计算机系统和包括上述任何系统的分布式云计算技术环境,等等。

终端设备、计算机系统、服务器等电子设备可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。

图1是本公开一示例性实施例提供的图像中文本是否弯曲的判别方法的流程示意图。本实施例可应用在电子设备上,如图1所示,包括如下步骤:

步骤102,对原始图像进行预处理,确定原始图像中的至少一个检测区域。

其中,原始图像中包括的至少一行文本。

可选地,为了确定原始图像中的文本是否存在弯曲,从原始图像中对文本所在位置进行识别,将在原始图像中位置连续的文本(例如,间隔小于设定间隔等确定为连续)对应的位置确定为一个检测区域。

步骤104,基于至少一个检测区域确定原始图像中的至少一个文本多边形。

在一实施例中,检测区域是根据文本内容确定的,可能存在不规则情况,为了更好的判断文本内容中的弯曲情况,可选的通过规则化检测区域,获得至少一个文本多边形。

步骤106,基于至少一个文本多边形的边数,确定原始图像中是否存在弯曲文本。

当原始图像中的文本内容不存在弯曲的情况下,每条边都为直线的文本多边形的边的数量或面积应该在一定范围内,例如,多边形多为矩形,即边数应当为4等,此时,如果存在文本多边形的边数远大于一个设定值或者当前所有文本多边形的均值的情况,可认为存在弯曲的文本。

本公开上述实施例提供的一种图像中文本是否弯曲的判别方法,对原始图像进行预处理,确定所述原始图像中的至少一个检测区域;其中,所述原始图像中包括的至少一行文本;基于所述至少一个检测区域确定所述原始图像中的至少一个文本多边形;基于所述至少一个文本多边形的边数,确定所述原始图像中是否存在弯曲文本;本实施例通过检测确定将文本内容包含在内的文本多边形,并且,由于如果文本中存在弯曲,多边形的边会相对增加,因此通过文本多边形的边数来判断原始图像中是否存在弯曲文本,实现了高效准确的对图像中的文本进行弯曲判别。

如图2所示,在上述图1所示实施例的基础上,步骤102可包括如下步骤:

步骤1021,基于原始图像得到单通道的第一图像。

本实施例中,当原始图像为彩色图像时(例如,包括红色印章),可能会到识别产生影响,不能准确识别文本是否完全,例如,当原始图像为合同图像时,图像中通常会包括印章,而印章通常具有颜色,如果不进行统一可能会忽略图像中的一些文本内容,因此,为了去除印章等自身弯曲的文本对识别的影响,本实施例将原始图像处理为单通道的图像,使图像中的文本的显示一致,以便于后续识别。

步骤1022,对第一图像进行二值化处理,得到第二图像。

经过单通道处理的第一图像可能显示为灰度化,但是,此时文本区域与非文本区域之间的对比没有达到最大,本实施例通过二值化处理,将图像中文本对应的区域与非文本的区域之间的区别最大化,以便于检测到图像所在区域,例如,将文本对应的区域的色彩值设置为0,非文本区域的色彩值设置为255等。

步骤1023,对第二图像基于不同尺寸的形态核进行多次膨胀腐蚀,得到至少一个检测区域。

本实施例中,以预设大小的卷积核为中心,通过现有的膨胀腐蚀操作,识别出第二图像中每段连续的文本在第二图像中的边缘,得到每段连续的文本对应的检测区域,本实施例通过膨胀腐蚀将图像中所有图像中的连续文本对应的区域检测出来,以确定这些文本是否存在弯曲。

可选地,在上述实施例的基础上,步骤1021还可以包括:

对原始图像执行缩放处理,得到设定大小的缩放图像;

基于缩放图像得到单通道的第一图像。

本实施例对原始图像执行缩放处理(resize),将每次处理的图像处理为相同大小的缩放图像,提高了处理效率,例如,将原始图像处理为512像素*512像素;将缩放图像处理为单通道的第一图像,可以通过通道分离的方式,例如,当原始图像为RGB图像时,分离出缩放图像的红色通道,得到单通道的第一图像,为后续膨胀腐蚀处理提供基础。例如,在一个可选示例中,对如图3a所示的经过缩放处理的缩放图像(该图中具体文本内容与本申请无关,只作为示意其中文本的位置)进行红色通道分离,得到如图3b所示的第一图像,后续对图3b所示的第一图像进行二值化处理,得到如图3c所示的第二图像,再对第二图像进行膨胀腐蚀,可得到如图3d所示的在第二图像中的多个检测区域。

可选地,在上述实施例的基础上,步骤104可包括如下步骤:

基于至少一个检测区域的连通关系,确定具有连通关系的至少一个检测区域对应的最小外接多边形。

基于最小外接多边形确定文本多边形。

本实施例中,由于文本内容每个字都可能对应不同的腐蚀形状,因此,得到的检测区域的形状通常不规则,可选地,通过现有技术中提供的函数实现对检测到的至少一个检测区域确定最小外接多边形(可以是凸多边形或凹多边形,通常为凸多边形),其中,外接多边形为由多条直线构成的规则的形状,例如,如图3e所示,为基于图3d所示的多个检测区域得到的多个最小外接多边形(图3a、3b和3e中涂黑部分以及图3c中涂白部分是为遮挡具体合同信息,与本公开实施例提供的方法无关)。

可选地,在上述实施例的基础上,步骤106可包括如下步骤:

响应于至少一个文本多边形中存在至少一个文本多边形的边的数量大于设定阈值;

可选地,可基于至少一个文本多边形包括的边的数量均值,确定设定阈值;即获得图像中包括的至少一个文本多边形对应的边的总数量,以该总数量除以文本多边形的数量,得到的值即为边的数量均值,以该数据均值作为设定阈值。

确定原始图像中存在弯曲文本。

本实施例中,如果图像中的文本存在弯曲,其对应的文本多边形对应的边数会增加,本实施例以边数作为判定,当存在边数大于第一设阈值时,说明该文本多边形中的文本内容存在弯曲。

图4是本公开另一示例性实施例提供的图像中文本是否弯曲的判别方法的流程示意图。本实施例可应用在电子设备上,如图4所示,包括如下步骤:

步骤402,对原始图像进行预处理,确定原始图像中的至少一个检测区域。

其中,原始图像中包括的至少一行文本。

该步骤的实现过程和技术效果可参照图1提供的实施例中的步骤102,在此不再赘述。

步骤404,基于至少一个检测区域确定原始图像中的至少一个文本多边形。

该步骤的实现过程和技术效果可参照图1提供的实施例中的步骤104,在此不再赘述。

步骤406,基于至少一个文本多边形的边数,确定原始图像中是否存在弯曲文本。

该步骤的实现过程和技术效果可参照图1提供的实施例中的步骤106,在此不再赘述。

步骤408,响应于确定原始图像中存在弯曲文本,确定原始图像中包括的第一设定数量的水平直线和第二设定数量的竖直直线。

本实施例通过获得原始图像中包括的文字的至少一个水平朝向和竖直朝向,来识别原始图像中的文本内容是否发生变形。

步骤410,基于第一设定数量的水平直线和第二设定数量的竖直直线对应的至少一个夹角,确定原始图像中存在弯曲文本的结论是否正确。

本实施例中,为了提升检测结果的准确性,当判别为存在弯曲文本的情况下,可在对原始图像进行进一步的弯曲验证,并通过从至少一个方向的文本朝向之间的夹角值来确定文本是否在拍摄过程中发生变形,如果发生变形获得的文本内容是弯曲的,本实施例结合两种弯曲文本的识别方法对图像中的文本是否弯曲进行判别,提升了判别结果的准确性。

如图5所示,在上述图4所示实施例的基础上,步骤408可包括如下步骤:

步骤4081,对原始图像进行处理,得到原始图像对应的梯度图像。

可选地,先对原始图像进行灰度化或通道提取,得到单通道的图像,再可使用现有技术中的拉普拉斯算子对单通道的图像进行处理,得到梯度图像,以梯度图像进行霍夫变换,更容易确定弯曲后的线。

步骤4082,对梯度图像执行霍夫变换,得到至少一条直线及其对应直线角度。

霍夫变换表示在原始图像坐标系下的一个点对应了参数坐标系中的一条直线,同样参数坐标系的一条直线对应了原始坐标系下的一个点,然后,原始坐标系下呈现直线的所有点,它们的斜率和截距是相同的,所以它们在参数坐标系下对应于同一个点。这样在将原始坐标系下的各个点投影到参数坐标系下之后,看参数坐标系下有没有聚集点,这样的聚集点就对应了原始坐标系下的直线。即:距离-角度参数空间中,图像中的一个点变成了一个正弦曲线,而不是k-b参数空间中的直线了。这些正弦曲线的交点就是图像空间中要检测的直线。

步骤4083,基于直线角度从至少一条直线中确定第一设定数量的水平直线和第二设定数量的竖直直线。

本实施例利用霍夫变换得到输出的原始图像中表示文本朝向的多条直线以及每条直线对应的方向,可基于输出的方向确定出其中的水平直线和竖直直线,并且,为了提高处理效率,本实施例仅对其中第一设定数量的水平直线和第二设定数量的竖直直线进行判断,其中第一设定数量和第二设定数量可根据实际应用场景进行设置,例如,对于原始图像为矩形的图像可将第一设定数量和第二设定数量都设置为2。

可选地,在上述实施例的基础上,步骤4083可以包括:

对至少一条直线按照对应的直线角度与水平角度的差值进行排序,得到第一序列;

对至少一条执行按照对应的直线角度与竖直角度的差值进行排序,得到第二序列;

从第一序列中获得第一设定数量的水平直线,从第二序列中获得第二设定数量的竖直直线。

本实施例中,为了从霍夫变换输出的多条直线中确定第一设定数量的水平直线和第二设定数量的竖直直线,可按照输出的角度值进行排序,将直线按照角度与水平角度差值从小到大排序,得到第一序列,按序获取的第一设定数量的直线,即为最接近水平角度的水平直线,相应地,将直线按照角度与竖直角度差值从小到大排序,得到第二序列,按序获取的第二设定数量的直线,即为最接近竖直角度的竖直直线;本实施例通过排序实现快速的获得设定数量的直线,提升了直线筛选的效率。

可选地,在上述实施例的基础上,步骤4081可以包括:

对原始图像执行缩放处理,得到设定大小的缩放图像;

对缩放图像执行灰度化或通道分离处理,得到单通道图像;

对单通道图像进行平滑处理,得到平滑图像;

基于平滑图像得到梯度图像。

本实施例中,对原始图像执行缩放处理(resize),将每次处理的图像处理为相同大小的缩放图像,提高了处理效率,例如,将原始图像处理为512像素*512像素;将缩放图像通过灰度化或通道分离的方式处理为单通道图像,例如,当原始图像为RGB图像时,分离出缩放图像的红色通道,得到单通道图像,为后续膨胀腐蚀处理提供基础;例如,在一个可选示例中,对如图6a所示的经过缩放处理的缩放图像(该图中具体文本内容与本申请无关,只作为示意其中文本的位置,图中涂黑部分是为遮挡具体合同信息,与本公开实施例提供的方法无关)进行灰度化,得到如图6b所示的单通道图像,后续对图6b所示的单通道图像进行平滑处理,平滑处理可利用高斯滤波等实现,通过高斯滤波去除图像中的干扰信息;得到平滑处理后的平滑图像,再对平滑图像使用拉普拉斯算子,可得到如图6c所示的梯度图像。

可选地,在上述实施例的基础上,步骤410可以包括:

针对第一设定数量的水平直线中的每个水平直线,基于水平直线对应的第一向量和水平直线存在交叉的至少一个竖直直线对应的第二向量,确定水平直线与至少一个竖直直线的至少一个夹角的角度;

基于至少一个夹角的角度是否符合预设条件,确定原始图像中存在弯曲文本的结论是否正确。

本实施例中,可将具有方向的直线表示为向量形式,此时计算两个直线之间的夹角的问题转换为计算两个向量之间的夹角的问题,通过向量夹角计算公式,即可确定一个水平直线与一个竖直直线的夹角角度,由于筛选出的是图像中最接近水平的文字方向的第一设定数量的水平直线和最接近垂直的文字方向的第二设定数量的竖直直线,存在多个夹角,例如,在一个可选示例中,通过霍夫变换得到如图6d所示的2条水平直线和2条竖直直线,确定4个夹角,以4个夹角的角度确定图像中的文本是否存在弯曲。

可选地,基于至少一个夹角的角度是否符合预设条件,确定原始图像中存在弯曲文本的结论是否正确,包括:

确定至少一个夹角中是否存在设定比例的夹角的角度超出设定范围,如果是,确定原始图像中存在弯曲文本的结论是正确的;否则,确定原始图像中存在弯曲文本的结论是不正确的。

本实施例中,由于水平直线表示的是图像中文本的横向朝向,竖直直线表示的图像中文本的竖直朝向,因此,当图像中的文本不存在弯曲时,水平直线和竖直直线应当是互相垂直的(即,夹角接近90度),本实施例通过设置一个设定范围来确定水平直线和竖直直线之间是否垂直,该设定范围可根据实际情况进行设定,例如,设定为大于70度并小于110度;另外,由于夹角的数量存在至少一个,可通过设定比例来确定夹角中超出设定比例的夹角角度超出设定范围时,确定图像中存在弯曲文本,例如,设定比例为1/2等,具体不同场景可设定不同的设定范围和设定比例,使本实施例方法实现灵活配置,适用更多应用场景。

本公开实施例提供的任一种图像中文本是否弯曲的判别方法可以由任意适当的具有数据处理能力的设备执行,包括但不限于:终端设备和服务器等。或者,本公开实施例提供的任一种图像中文本是否弯曲的判别方法可以由处理器执行,如处理器通过调用存储器存储的相应指令来执行本公开实施例提及的任一种图像中文本是否弯曲的判别方法。下文不再赘述。

图7是本公开一示例性实施例提供的图像中文本是否弯曲的判别装置的结构示意图。如图7所示,本实施例提供的装置包括:

预处理模块71,用于对原始图像进行预处理,确定原始图像中的至少一个检测区域。

其中,原始图像中包括的至少一行文本。

多边形确定模块72,用于基于至少一个检测区域确定原始图像中的至少一个文本多边形。

第一弯曲识别模块73,用于基于至少一个文本多边形的边数,确定原始图像中是否存在弯曲文本。

本公开上述实施例提供的一种图像中文本是否弯曲的判别装置,对原始图像进行预处理,确定所述原始图像中的至少一个检测区域;其中,所述原始图像中包括的至少一行文本;基于所述至少一个检测区域确定所述原始图像中的至少一个文本多边形;基于所述至少一个文本多边形的边数,确定所述原始图像中是否存在弯曲文本;本实施例通过检测确定将文本内容包含在内的文本多边形,并且,由于如果文本中存在弯曲,多边形的边会相对增加,因此通过文本多边形的边数来判断原始图像中是否存在弯曲文本,实现了高效准确的对图像中的文本进行弯曲判别。

在一些可选的实施例中,预处理模块71,包括:

单通道单元,用于基于原始图像得到单通道的第一图像;

二值化单元,用于对第一图像进行二值化处理,得到第二图像;

膨胀腐蚀单元,用于对第二图像基于不同尺寸的形态核进行多次膨胀腐蚀,得到至少一个检测区域。

在一些可选的实施例中,单通道单元,具体用于对原始图像执行缩放处理,得到设定大小的缩放图像;基于缩放图像得到单通道的第一图像。

在一些可选的实施例中,多边形确定模块72,具体用于基于至少一个检测区域的连通关系,确定具有连通关系的至少一个检测区域对应的最小外接多边形;基于最小外接多边形确定文本多边形。

在一些可选的实施例中,第一弯曲识别模块73,具体用于响应于至少一个文本多边形中存在至少一个文本多边形的边的数量大于设定阈值;确定原始图像中存在弯曲文本。

在一些可选的实施例中,第一弯曲识别模块73,还用于基于至少一个文本多边形包括的边的数量均值,确定设定阈值。

在一些可选的实施例中,本实施例提供的装置还包括:

第二弯曲识别模块,用于响应于确定原始图像中存在弯曲文本,确定原始图像中包括的第一设定数量的水平直线和第二设定数量的竖直直线;基于第一设定数量的水平直线和第二设定数量的竖直直线对应的至少一个夹角,确定原始图像中存在弯曲文本的结论是否正确。

在一些可选的实施例中,第二弯曲识别模块,包括:

梯度单元,用于对原始图像进行处理,得到原始图像对应的梯度图像;

霍夫变换单元,用于对梯度图像执行霍夫变换,得到至少一条直线及其对应直线角度;

直线确定单元,用于基于直线角度从至少一条直线中确定第一设定数量的水平直线和第二设定数量的竖直直线。

可选地,直线确定单元,具体用于对至少一条直线按照对应的直线角度与水平角度的差值进行排序,得到第一序列;对至少一条执行按照对应的直线角度与竖直角度的差值进行排序,得到第二序列;从第一序列中获得第一设定数量的水平直线,从第二序列中获得第二设定数量的竖直直线。

可选地,梯度单元,具体用于对原始图像执行缩放处理,得到设定大小的缩放图像;对缩放图像执行灰度化或通道分离处理,得到单通道图像;对单通道图像进行平滑处理,得到平滑图像;基于平滑图像得到梯度图像。

可选地,基于第一设定数量的水平直线和第二设定数量的竖直直线对应的至少一个夹角,确定原始图像中存在弯曲文本的结论是否正确,包括:

针对第一设定数量的水平直线中的每个水平直线,基于水平直线对应的第一向量和水平直线存在交叉的至少一个竖直直线对应的第二向量,确定水平直线与至少一个竖直直线的至少一个夹角的角度;

基于至少一个夹角的角度是否符合预设条件,确定原始图像中存在弯曲文本的结论是否正确。

可选地,第二弯曲识别模块,还用于确定至少一个夹角中是否存在设定比例的夹角的角度超出设定范围,如果是,确定原始图像中存在弯曲文本的结论是正确的;否则,确定原始图像中存在弯曲文本的结论是不正确的。

下面,参考图8来描述根据本公开实施例的电子设备。该电子设备可以是第一设备100和第二设备200中的任一个或两者、或与它们独立的单机设备,该单机设备可以与第一设备和第二设备进行通信,以从它们接收所采集到的输入信号。

图8图示了根据本公开实施例的电子设备的框图。

如图8所示,电子设备80包括一个或多个处理器81和存储器82。

处理器81可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备80中的其他组件以执行期望的功能。

存储器82可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器81可以运行所述程序指令,以实现上文所述的本公开的各个实施例的图像中文本是否弯曲的判别方法以及/或者其他期望的功能。在所述计算机可读存储介质中还可以存储诸如输入信号、信号分量、噪声分量等各种内容。

在一个示例中,电子设备80还可以包括:输入装置83和输出装置84,这些组件通过总线系统和/或其他形式的连接机构(未示出)互连。

例如,在该电子设备是第一设备100或第二设备200时,该输入装置83可以是上述的麦克风或麦克风阵列,用于捕捉声源的输入信号。在该电子设备是单机设备时,该输入装置83可以是通信网络连接器,用于从第一设备100和第二设备200接收所采集的输入信号。

此外,该输入装置83还可以包括例如键盘、鼠标等等。

该输出装置84可以向外部输出各种信息,包括确定出的距离信息、方向信息等。该输出装置84可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出设备等等。

当然,为了简化,图8中仅示出了该电子设备80中与本公开有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,电子设备80还可以包括任何其他适当的组件。

除了上述方法和设备以外,本公开的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本公开各种实施例的图像中文本是否弯曲的判别方法中的步骤。

所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。

此外,本公开的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本公开各种实施例的图像中文本是否弯曲的判别方法中的步骤。

所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。

以上结合具体实施例描述了本公开的基本原理,但是,需要指出的是,在本公开中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本公开的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本公开为必须采用上述具体的细节来实现。

本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。对于系统实施例而言,由于其与方法实施例基本对应,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

本公开中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。

可能以许多方式来实现本公开的方法和装置。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本公开的方法和装置。用于所述方法的步骤的上述顺序仅是为了进行说明,本公开的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本公开实施为记录在记录介质中的程序,这些程序包括用于实现根据本公开的方法的机器可读指令。因而,本公开还覆盖存储用于执行根据本公开的方法的程序的记录介质。

还需要指出的是,在本公开的装置、设备和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本公开的等效方案。

提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本公开。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本公开的范围。因此,本公开不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。

为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本公开的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。

技术分类

06120114693299