本技术涉及计算机应用,尤其涉及字符识别方法。
背景技术:
1、光学字符识别(optical character recognition,ocr)是指计算机设备(例如扫描仪或数码相机等)采集包含字符的图像,然后用字符识别方法将图像中的字符的形状翻译成计算机文字的过程。具体的,传统的字符识别方法通常是检测出图像中每一行或者每一列的文字所在的矩形区域,然后对矩形区域进行字符识别。但是在实际场景中,采集到的图像中的字符不一定规则地排成一行或者一列,换句话说,图像中的字符不一定形成规则的矩形,有可能是不规则形状,例如弧形、波浪线或者梯形等。因此,针对排列成不规则形状的字符的图像,如何对该图像进行字符识别,以确保字符识别的准确性和识别效率,是目前亟需解决的技术问题。
技术实现思路
1、本技术实施例提供了字符识别方法,能够同时兼顾字符识别的准确性和识别效率。
2、一方面,本技术实施例提供一种字符识别方法,该方法包括:
3、对目标图像进行文本检测,得到至少一个多边形区域;其中,所述至少一个多边形区域指的是所述目标图像中至少一个文本所在区域;
4、从所述至少一个多边形区域中确定目标多边形区域;其中,所述目标多边形区域的区域形状为不规则形状;
5、从所述目标多边形区域的多个顶点中确定四个目标顶点,并将所述四个目标顶点作为所述目标多边形区域对应的矩形区域的四个顶点;其中,所述矩形区域指的是对所述目标多边形区域进行形状矫正后得到的区域,所述矩形区域的区域形状为规则形状;
6、基于所述矩形区域的各个顶点在所述目标图像中的位置,将所述目标多边形区域中各个像素点的像素信息映射到所述矩形区域中,以生成所述矩形区域中各个像素点的像素信息;
7、对所述矩形区域,以及所述至少一个多边形区域中除所述目标多边形区域以外的多边形区域进行ocr处理,得到所述目标图像的字符识别结果。
8、在一个实施例中,所述从所述目标多边形区域的多个顶点中确定四个目标顶点,包括:
9、从所述目标多边形区域的多个顶点中,获取所述目标多边形区域的两个极点;其中,所述两个极点之间的行走距离,大于所述多个顶点中任一顶点与所述多个顶点中除所述两个极点以外的顶点之间的行走距离;
10、基于所述目标多边形区域的两个极点,从所述目标多边形区域的多个顶点中确定所述四个目标顶点。
11、在一个实施例中,所述从所述目标多边形区域的多个顶点中,获取所述目标多边形区域的两个极点,包括:
12、遍历所述目标多边形区域的多个顶点,控制当前遍历的第一顶点沿着所述目标多边形区域的区域边缘行走,从所述多个顶点中确定第二顶点,并获取所述当前遍历的第一顶点与所述第二顶点之间的目标行走距离;其中,所述当前遍历的第一顶点与所述第二顶点之间的目标行走距离,大于所述当前遍历的第一顶点与所述多个顶点中除所述第二顶点以外的顶点之间的行走距离;
13、在遍历结束后,将获取的目标行走距离中最大行走距离对应的第一顶点和第二顶点,作为所述目标多边形区域的两个极点。
14、在一个实施例中,所述基于所述目标多边形区域的两个极点,从所述目标多边形区域的多个顶点中确定所述四个目标顶点,包括:
15、遍历所述目标多边形区域的两个极点,基于两个极点之间的直线距离,以及所述当前遍历的极点与所述目标多边形区域的各个顶点之间的直线距离,从所述目标多边形区域的多个顶点中确定目标点;
16、基于所述目标点和所述当前遍历的极点,构建候选多边形区域;
17、获取所述候选多边形区域的区域面积,与所述候选多边形区域的最小外接矩形区域的区域面积之间的比值;
18、若所述比值大于比例阈值,则从所述候选多边形区域的最小外接矩形区域的四个顶点中确定候选顶点;其中,所述候选顶点与所述当前遍历的极点之间的直线距离,小于所述候选多边形区域的最小外接矩形区域的四个顶点中除所述候选顶点以外的顶点与所述当前遍历的极点之间的直线距离;
19、将所述候选多边形区域的多个顶点中,与所述候选顶点之间的直线距离最小的顶点,作为所述目标顶点。
20、在一个实施例中,所述方法还包括:
21、若所述比值小于或者等于所述比例阈值,则触发执行所述基于当前遍历的极点对应的目标行走距离,以及所述当前遍历的极点与所述目标多边形区域的各个顶点之间的直线距离,从所述目标多边形区域的多个顶点中确定候选顶点;其中,当前确定的候选顶点的数量少于上一次确定的候选顶点的数量。
22、在一个实施例中,所述方法还包括:
23、获取所述四个目标顶点中每两个相邻目标顶点之间的行走距离;
24、基于所述四个目标顶点中每两个相邻目标顶点之间的行走距离,以及所述四个目标顶点在所述目标多边形区域中的空间关系,确定所述四个目标顶点在所述矩形区域中的空间关系;
25、所述基于所述矩形区域的各个顶点在所述目标图像中的位置,将所述目标多边形区域中各个像素点的像素信息映射到所述矩形区域中,以生成所述矩形区域中各个像素点的像素信息,包括:
26、基于所述四个目标顶点在所述矩形区域中的空间关系,所述矩形区域的各个顶点在所述目标图像中的位置,将所述目标多边形区域中各个像素点的像素信息映射到所述矩形区域中,以生成所述矩形区域中各个像素点的像素信息。
27、在一个实施例中,所述基于所述矩形区域的各个顶点在所述目标图像中的位置,将所述目标多边形区域中各个像素点的像素信息映射到所述矩形区域中,包括:
28、确定所述目标多边形区域中各个顶点映射到所述矩形区域中的映射点;
29、根据所述目标多边形区域的多个顶点,以及所述目标多边形区域的多个顶点在所述目标多边形区域中的空间关系,对所述目标多边形区域进行三角切分,得到所述目标多边形区域对应的多个第一三角形区域;
30、根据所述矩形区域中的多个映射点,以及所述矩形区域中的多个映射点在所述矩形区域中的空间关系,对所述矩形区域进行三角切分,得到所述矩形区域对应的多个第二三角形区域;其中,所述多个第一三角形区域与所述多个第二三角形区域存在一一对应关系;
31、遍历所述多个第一三角形区域,针对当前遍历的第一三角形区域中的任一像素点,从所述当前遍历的第一三角形区域对应的第二三角形区域中确定所述任一像素点对应的目标像素点,并将所述目标像素点的像素信息映射到所述任一像素点中;
32、在遍历结束后,生成得到所述矩形区域中各个像素点的像素信息。
33、在一个实施例中,所述将所述目标像素点的像素信息映射到所述任一像素点中,包括:
34、若所述任一像素点对应的目标像素点的数量不是整数,则调用插值方法,基于所述目标像素点的像素信息,计算所述任一像素点的像素信息;
35、若所述任一像素点对应的目标像素点的数量是整数,则将所述目标像素点的像素信息作为所述任一像素点的像素信息。
36、在一个实施例中,所述确定所述目标多边形区域中各个顶点映射到所述矩形区域中的映射点,包括:
37、基于所述矩形区域的每两个相邻顶点在所述目标多边形区域中的行走距离,获取所述矩形区域的宽度和高度;
38、基于所述宽度和高度,确定所述目标多边形区域的四个目标顶点映射到所述矩形区域中的映射点的坐标;
39、基于所述目标多边形区域的每两个相邻顶点的行走距离,以及所述目标多边形区域的多个顶点的空间关系,确定所述目标多边形区域的多个顶点中除所述四个目标顶点以外的顶点映射到所述矩形区域中的映射点的坐标。
40、在一个实施例中,所述从所述至少一个多边形区域中确定目标多边形区域,包括:
41、针对所述至少一个多边形区域中的任一多边形区域,获取所述任一多边形区域的最小外接矩形区域;
42、获取所述任一多边形区域的第一区域面积,以及所述最小外接矩形区域的第二区域面积;
43、若所述第一区域面积与所述第二区域面积的差异大于差异阈值,则将所述任一多边形区域确定为所述目标多边形区域。
44、另一方面,本技术实施例提供了一种字符识别装置,该字符识别装置包括:
45、文本检测单元,用于对目标图像进行文本检测,得到至少一个多边形区域;其中,所述至少一个多边形区域指的是所述目标图像中至少一个文本所在区域;
46、区域确定单元,用于从所述至少一个多边形区域中确定目标多边形区域;其中,所述目标多边形区域的区域形状为不规则形状;
47、顶点确定单元,用于从所述目标多边形区域的多个顶点中确定四个目标顶点,并将所述四个目标顶点作为所述目标多边形区域对应的矩形区域的四个顶点;其中,所述矩形区域指的是对所述目标多边形区域进行形状矫正后得到的区域,所述矩形区域的区域形状为规则形状;
48、映射单元,用于基于所述矩形区域的各个顶点在所述目标图像中的位置,将所述目标多边形区域中各个像素点的像素信息映射到所述矩形区域中,以生成所述矩形区域中各个像素点的像素信息;
49、字符识别单元,用于对所述矩形区域,以及所述至少一个多边形区域中除所述目标多边形区域以外的多边形区域进行ocr处理,得到所述目标图像的字符识别结果。
50、另一方面,本技术实施例提供一种计算机设备,包括处理器、存储装置和通信接口,处理器、存储装置和通信接口相互连接,其中,存储装置用于存储支持计算机设备执行上述方法的计算机程序,计算机程序包括程序指令,处理器被配置用于调用程序指令,执行如下步骤:
51、对目标图像进行文本检测,得到至少一个多边形区域;其中,所述至少一个多边形区域指的是所述目标图像中至少一个文本所在区域;
52、从所述至少一个多边形区域中确定目标多边形区域;其中,所述目标多边形区域的区域形状为不规则形状;
53、从所述目标多边形区域的多个顶点中确定四个目标顶点,并将所述四个目标顶点作为所述目标多边形区域对应的矩形区域的四个顶点;其中,所述矩形区域指的是对所述目标多边形区域进行形状矫正后得到的区域,所述矩形区域的区域形状为规则形状;
54、基于所述矩形区域的各个顶点在所述目标图像中的位置,将所述目标多边形区域中各个像素点的像素信息映射到所述矩形区域中,以生成所述矩形区域中各个像素点的像素信息;
55、对所述矩形区域,以及所述至少一个多边形区域中除所述目标多边形区域以外的多边形区域进行ocr处理,得到所述目标图像的字符识别结果。
56、另一方面,本技术实施例提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序包括程序指令,程序指令当被处理器执行时使处理器执行上述字符识别方法。
57、另一方面,本技术实施例提供了一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序适于由处理器加载并执行上述字符识别方法。
58、本技术实施例中,从至少一个多边形区域中确定出区域形状为不规则形状的目标多边形区域之后,先对目标多边形区域进行形状矫正,具体为:从目标多边形区域的多个顶点中确定四个目标顶点,并将四个目标顶点作为目标多边形区域对应的矩形区域的四个顶点;基于矩形区域的各个顶点在目标图像中的位置,将目标多边形区域中各个像素点的像素信息映射到所述矩形区域中,以生成矩形区域中各个像素点的像素信息。在对目标多边形区域进行形状矫正得到矩形区域之后,对各个区域形状为规则形状的区域(即上述矩形区域,以及至少一个多边形区域中除目标多边形区域以为的多边形区域)进行ocr处理,可确保字符识别的准确性。另外,本技术实施例仅对区域形状为不规则形状的多边形区域进行形状矫正,对于区域形状为规则形状的多边形区域,则直接进行ocr处理,因此可确保字符识别的识别效率。由此可见,本技术实施例能够同时兼顾字符识别的准确性和识别效率。