一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种图像处理方法、装置、电子设备及存储介质与流程

2021-10-29 22:53:00 来源:中国专利 TAG:电子设备 图像处理 装置 计算机 方法


1.本技术涉及计算机技术领域,尤其涉及一种图像处理方法、装置、电子设备及存储介质。


背景技术:

2.目前,一些图像中会包含文字、表格等文本信息,这些文本信息潜在描述了图像中所要表达的内容,对于理解图像内容具有重大的作用。
3.相关技术中,ocr(optical character recognition,光学字符识别)模型可以将这些图像中像素化的文本转化为计算机可以理解的字符集表征,通常做法为在图像中借助文本检测模型,定位每一个文本行在图像中出现的坐标位置,并在图像中截取文本行图像,该文本行图像即是包含文本行的文本框内的图像,将文本行图像输入ocr模型中,利用ocr模型对文本行图像进行识别,将识别到的文本内容转化为字符集特征。
4.但在实际应用中,ocr模型在文本行中某个或者若干个文字与其它文字差异过大时,会无法准确识别的情况,导致识别准确率低。


技术实现要素:

5.为了解决上述技术问题或者至少部分地解决上述技术问题,本技术提供了一种图像处理方法、装置、电子设备及存储介质。
6.第一方面,本技术提供了一种图像处理方法,包括:
7.获取文本行图像,将所述文本行图像进行分割,得到至少两个文字图像;
8.分别生成每个文字图像对应的掩码图像;
9.基于每个文字图像对应的掩码图像,确定至少两个文字图像之间的差异是否超过预设阈值;
10.若至少两个文字图像之间的差异超过预设阈值,基于所述掩码图像中文字所在的区域,截取对应的文字图像中相应区域的中间图像,所述中间图像包括所述文字图像中文字对应的像素点所在的区域;
11.按照与所述差异对应的调整策略对至少两个所述中间图像进行调整,得到目标图像;
12.将至少两个目标图像进行拼接,得到目标文本图像,以用于文字识别。
13.可选地,获取文本行图像,包括:
14.基于所述文本行图像四边的斜率,确定所述文本行图像是否为第一组对边与图像坐标系中的x轴平行且第二组对边与所述图像坐标系中的y轴平行的矩形图像;
15.若所述文本行图像为第一组对边与图像坐标系中的x轴平行且第二组对边与所述图像坐标系中的y轴平行的矩形图像,则截取所述文本行检测框内的图像,得到文本行图像;
16.若所述文本行图像为第一组对边与图像坐标系中的x轴之间的夹角不为0且第二
组对边与所述图像坐标系中的y轴之间的夹角不为0的矩形图像,则将所述文本行图像进行旋转,以使旋转后的文本行图像的第一组对边与图像坐标系中的x轴平行且第二组对边与所述图像坐标系中的y轴平行,截取所述文本行检测框内的图像,得到文本行图像;
17.若所述文本行图像为除矩形外的四边形图像,则确定所述四边形图像的最小外包矩形图像,旋转所述最小外包矩形图像,以使旋转后的最小外包矩形图像的第一组对边与图像坐标系中的x轴平行且第二组对边与所述图像坐标系中的y轴平行,截取所述文本行检测框内的图像,得到文本行图像。
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.截取模块,用于若至少两个文字图像之间的差异超过预设阈值,基于所述掩码图像中文字所在的区域,截取对应的文字图像中相应区域的中间图像,所述中间图像包括所述文字图像中文字对应的像素点所在的区域;
50.调整模块,用于按照与所述差异对应的调整策略对至少两个所述中间图像进行调整,得到目标图像;
51.拼接模块,用于将至少两个目标图像进行拼接,得到目标文本图像,以用于文字识别。
52.第三方面,本技术提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
53.存储器,用于存放计算机程序;
54.处理器,用于执行存储器上所存放的程序时,实现第一方面任一所述的图像处理方法。
55.第四方面,本技术提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有图像处理方法的程序,所述图像处理方法的程序被处理器执行时实现第一方面任一所述的图像处理方法的步骤。
56.本技术实施例提供的上述技术方案与现有技术相比具有如下优点:
57.本技术实施例提供的该方法,本技术实施例在文本行图像中的文字图像之间的差异超过预设阈值时,可以自动基于所述掩码图像中文字所在的区域,截取对应的文字图像中相应区域的中间图像,按照与所述差异对应的调整策略对至少两个所述中间图像进行调整,得到目标图像,再将目标图像进行拼接,得到目标文本图像,也就是说,本发明实施例能
够在文字图像之间差异过大时,自动将仅包含文字部分的中间图像,按照与所述差异对应的调整策略对至少两个中间图像进行调整,得到目标图像,最后将目标图像进行拼接,由于只提取了文字部分的中间图像,并对中间图像进行调整,便于使调整后的目标图像之间的差异达到小于预设阈值的状态,使文本图像中文字的排列更加规整,进而,便于在将处理后的文本行图像输入ocr模型中时,提高ocr模型对文本行图像中文字进行识别的准确率。
附图说明
58.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
59.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
60.图1为本技术实施例提供的一种图像处理方法的流程图;
61.图2为本技术实施例提供的一种针对文本行图像为除矩形外的四边形图像的处理方式示意图;
62.图3为本技术实施例提供的一种sobel算子的示意图;
63.图4为本技术实施例提供的一种图像处理装置的结构图;
64.图5为本技术实施例提供的一种电子设备的结构图。
具体实施方式
65.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术的一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本技术保护的范围。
66.由于ocr模型在文本行中某个或者若干个文字与其它文字差异过大时,会无法准确识别的情况,导致识别准确率低,为此,本技术实施例提供了一种图像处理方法、装置、电子设备及存储介质,该图像处理方法可以应用于计算机中,以对文本检测模型输出的文本行图像进行处理,以使处理后的文本图像中的文字与其它文字之间的差异缩小到一定范围内,进而,在将处理后的文本行图像输入ocr模型中时,可以提高ocr模型对文本行图像中文字进行识别的准确率。
67.如图1所示,所述图像处理方法可以包括以下步骤:
68.步骤s101,获取文本行图像,将所述文本行图像进行分割,得到至少两个文字图像;
69.本发明实施例中,可以预先用文本检测模块对输入图像进行文本行检测,得到包含文本行检测框四个顶点的坐标。
70.示例性,本发明实施例中可以采用文本检测模型(pmtd,pyramid mask text detector),通过预先标注文本位置的图像对pmtd进行训练,在推理时,对于图像中潜在的文本框进行检测,获得图像中文本行位置。pmtd对于图像中任意角度的文本都可以实现检测,对于每一个文本行输出一个四边形的表征,(x1,y1),(x2,y2),(x3,y3),(x4,y4),其中,
从x1,y1表示文本行四边形包络左上顶点在图像中的坐标,(x2,y2)

(x4,y4)为顺时针方向顶点的坐标,基于此表示,图像中所有文本行可以用一个列表表示{[(x1,y1),(x2,y2),(x3,y3),(x4,y4)]i},i=0,

,n。
[0071]
文本行图像中包含文本行像素区域及文本行背景像素区域,文本行像素区域指文本行中各文字所在的像素区域,文本行背景像素区域指文本行像素区域外的像素区域,文本行图像中包含至少两个文字图像。
[0072]
文字图像中包含文字像素区域及文字背景像素区域,文字像素区域指文字所在的像素区域,文字背景像素区域指文字图像中除文字像素区域外的像素区域。
[0073]
在该步骤中,可以从文本检测模块获取文本行检测框四个顶点的坐标,基于文本行检测框四个顶点的坐标,在输入图像中截取文本行图像,然后检测文本行图像中每个文字,按照每个文字检测框四个顶点的坐标,在文本行图像中按照每个文字对应的四个顶点的坐标进行图像分割,得到文本行图像中的至少两个文字图像。
[0074]
步骤s102,分别生成每个文字图像对应的掩码图像;
[0075]
本发明实施例中,掩码图像中文字像素区域的像素值为255,文字背景像素区域的掩码值为0,掩码图像用于区分文字像素区域和文字背景区域。
[0076]
在该步骤中,可以将每个文字图像进行二值化处理,基于得到的二值化图像计算掩码,得到掩码图像。
[0077]
步骤s103,基于每个文字图像对应的掩码图像,确定至少两个文字图像之间的差异是否超过预设阈值;
[0078]
在本发明实施例中,差异指行高度差异和/或字体高度差异等,其中,行高度指文字所在的行在文本行图像中的像素高度,字体高度指文字在文本行图像中所占像素区域的高度,示例性的,字体高度可以指文字在文本行图像中的像素高度差。预设阈值可以指预设第一阈值或者预设第二阈值。
[0079]
在该步骤中,可以计算至少两个文字图像之间的行高度差异和/或字体高度差异,再将行高度差异与对应的预设第一阈值比较,和/或,将字体高度差异与对应的预设第二阈值比较,在行高度差异大于预设第一阈值或者字体高度差异大于预设第二阈值时,可以确定至少两个文字图像之间的差异超过预设阈值,在行高度差异小于预设第一阈值且字体高度差异小于预设第二阈值时,可以确定至少两个文字图像之间的差异小于预设阈值。
[0080]
步骤s104,若至少两个文字图像之间的差异超过预设阈值,基于所述掩码图像中文字所在的区域,截取对应的文字图像中相应区域的中间图像;
[0081]
在本发明实施例中,中间图像包括所述文字图像中文字对应的像素点所在的区域。
[0082]
在该步骤中,可以针对每个掩码图像,首先根据掩码图像中各像素点的掩码值确定文字所在的区域,在与该掩码图像对应的文字图像中,确定与该区域坐标范围相同的区域,在文字图像的该区域内截取中间图像。
[0083]
步骤s105,按照与所述差异对应的调整策略对至少两个所述中间图像进行调整,得到目标图像;
[0084]
本发明实施例中,按照调整策略调整至少两个中间图像,是指将至少两个中间图像向差异小于预设阈值的方向调整,例如,以向着减小至少两个中间图像之间的行高度差
异和/或字体高度差异等的方向调整,也即,将至少两个中间图像调整为同一行和/或将至少两个中间图像的大小调整为相同,最终得到目标图像。
[0085]
步骤s106,将至少两个目标图像进行拼接,得到目标文本图像,以用于文字识别。
[0086]
本发明实施例中,可以按照文本行图像中文字的阅读顺序至少两个目标图像进行拼接,若文本行图像为横向的,则文字的阅读顺序为从左至右,相应的,可以按照文本行图像中文字从左到右的顺序,将每个文字对应的目标图像按照该顺序进行排列,在将排列后的至少两个目标图像进行拼接;若文本行图像为纵向的,则文字的阅读顺序为从上到下,相应的,可以按照文本行图像中文字从上到下的顺序,将每个文字对应的目标图像按照该顺序进行排列,在将排列后的至少两个目标图像进行拼接。
[0087]
在步骤s106之后,对于目标文本图像,可以利用预先训练好的ocr模型进行识别,获得文本内容,ocr模型中的参数,通过大量有文本内容标记的文本行图像,对网络结构进行训练而得到,对于未知文本行图像,输入到ocr模型中可以获得,模型预测的文本内容。
[0088]
本技术实施例在文本行图像中的文字图像之间的差异超过预设阈值时,可以自动基于所述掩码图像中文字所在的区域,截取对应的文字图像中相应区域的中间图像,按照与所述差异对应的调整策略对至少两个所述中间图像进行调整,得到目标图像,再将目标图像进行拼接,得到目标文本图像,也就是说,本发明实施例能够在文字图像之间差异过大时,自动将仅包含文字部分的中间图像,按照与所述差异对应的调整策略对至少两个中间图像进行调整,得到目标图像,最后将目标图像进行拼接,由于只提取了文字部分的中间图像,并对中间图像进行调整,便于使调整后的目标图像之间的差异达到小于预设阈值的状态,使文本图像中文字的排列更加规整,进而,便于在将处理后的文本行图像输入ocr模型中时,提高ocr模型对文本行图像中文字进行识别的准确率。
[0089]
在本发明的又一实施例中,步骤s101中,获取文本行图像,包括:
[0090]
步骤201,获取所述文本行检测框四个顶点的坐标;
[0091]
由于文本检测模型可以输出文本行检测框四个顶点的坐标,所以可以从文本检测模型获取文本行检测框四个顶点的坐标。
[0092]
步骤202,基于所述文本行检测框四个顶点的坐标,计算所述文本行图像四边的斜率;
[0093]
本发明实施例中,截取文本行检测框内部的图像即可得到文本行图像。
[0094]
在实际应用中,文本行图像的形状可以是矩形,也可以不是矩形,矩形的文本行图像的相邻两边可以分别与图像坐标系中的x轴和y轴平行或垂直,也可以与图像坐标系中的x轴和y轴存在夹角;不是矩形的文本行图像的最长边可以与图像坐标系中的x轴或y轴平行或垂直,也可以与图像坐标系中的x轴或y轴存在夹角等,所以,可以计算文本行图像四边的斜率,以确定文本行图像的形状及文本行图像相对于图像坐标系的夹角。
[0095]
某一文本行检测框i四个顶点的坐标分别为[(x1,y1),(x2,y2),(x3,y3),(x4,y4)]i,则截取的文本行图像的四个顶点的坐标也为[(x1,y1),(x2,y2),(x3,y3),(x4,y4)]i,文本行图像是个四边形,所以文本行图像具有四条边,可以通过下式分别计算文本行四边的斜率:
[0096]
左上顶点和右上顶点之间的边的斜率为k1=(y2‑
y1)/(x2‑
x1);
[0097]
右上顶点和右下顶点之间的边的斜率为k2=(y3‑
y2)/(x3‑
x2);
[0098]
右下顶点和左下顶点之间的边的斜率为k3=(y4‑
y3)/(x4‑
x3);
[0099]
左下顶点和左上顶点之间的边的斜率为k4=(y1‑
y4)/(x1‑
x4)。
[0100]
步骤203,基于所述文本行图像四边的斜率,确定所述文本行图像是否为第一组对边与图像坐标系中的x轴平行且第二组对边与所述图像坐标系中的y轴平行的矩形图像;
[0101]
在本发明实施例中,若k1和k3为0,k2和k4为无穷大,则确定文本行图像的第一组对边与图像坐标系中的x轴平行且第二组对边与所述图像坐标系中的y轴平行。
[0102]
计算文本行图像的宽w和高度h,w=x2

x1,h=y4

y1,根据w和h判断文本行为水平文本行还是垂直文本行,记录这个文本行为水平或是垂直文本行。
[0103]
步骤204,若所述文本行图像为第一组对边与图像坐标系中的x轴平行且第二组对边与所述图像坐标系中的y轴平行的矩形图像,则截取所述文本行检测框内的图像,得到文本行图像;
[0104]
若所述文本行图像为第一组对边与图像坐标系中的x轴平行且第二组对边与所述图像坐标系中的y轴平行的矩形图像,则表明文本行图像的方向适合直接截取,在文本行检测框内截取图像,得到文本行图像。
[0105]
步骤205,若所述文本行图像为第一组对边与图像坐标系中的x轴之间的夹角不为0且第二组对边与所述图像坐标系中的y轴之间的夹角不为0的矩形图像,则将所述文本行图像进行旋转,以使旋转后的文本行图像的第一组对边与图像坐标系中的x轴平行且第二组对边与所述图像坐标系中的y轴平行,截取所述文本行检测框内的图像,得到文本行图像;
[0106]
若k1和k3不为0,k2和k4不为无穷大(比如对于以(x1,y1)为顶点的两条边通过|arctan(k1)| |acrtan(k4)|的和进行判断),则确定文本行图像的第一组对边与图像坐标系中的x轴之间的夹角不为0且第二组对边与所述图像坐标系中的y轴之间的夹角不为0,则证明文本行图像为一个旋转的矩形图像,旋转文本行图像,直至转后的文本行图像的第一组对边与图像坐标系中的x轴平行且第二组对边与所述图像坐标系中的y轴平行,可以将矩形的长边旋转到距离这个水平或是垂直方向最近的一个角度上,如果都是45度则向水平旋转,并记录这个文本行为水平或是垂直文本行。
[0107]
步骤206,若所述文本行图像为除矩形外的四边形图像,则确定所述四边形图像的最小外包矩形图像,旋转所述最小外包矩形图像,以使旋转后的最小外包矩形图像的第一组对边与图像坐标系中的x轴平行且第二组对边与所述图像坐标系中的y轴平行,截取所述文本行检测框内的图像,得到文本行图像。
[0108]
在本发明实施例中,如图2所示,对于文本行图像为除矩形外的四边形图像的情况,通常文本行图像为任意四边形,根据坐标计算这个四边形的最小外包矩形,最小外包矩形在图像中的倾斜角度,由长边侧的最小斜率角度决定,再对文本行检测框内的图像进行截取并旋转。
[0109]
本发明实施例能够自动在输入图像中检测并截取文本行图像,并且截取的文本行图像的相邻两边分别与图像坐标系中的x轴和y轴平行或垂直,便于对文本行图像进行后续处理。
[0110]
在本发明的又一实施例中,步骤s101中,将所述文本行图像进行分割,得到至少两个文字图像,包括:
[0111]
步骤301,对所述文本行图像进行色彩空间转化处理,得到转化图像;
[0112]
在本发明实施例中,色彩空间转化处理可以指由rgb色彩空间转化为灰度/或者任意亮度色彩分离空间(如yuv,hsv,hsl或者lab等),对于灰度空间gray换公式为:
[0113]
gray=r*0.299 g*0.587 b*0.114
[0114]
其中,r代表红通道的颜色,g代表绿通道的颜色,b代表蓝通道的颜色。
[0115]
对于亮度色彩分离空间,以hsl举例,亮度l(lightness)的转化公式为:
[0116]
l=(max(r,g,b) min(r,g,b))/2
[0117]
其中,r代表红通道的颜色,g代表绿通道的颜色,b代表蓝通道的颜色。
[0118]
步骤302,提取所述转化图像的边缘特征,得到边缘强度图;
[0119]
在该步骤中,对于灰度或者亮度图像,提取图像的边缘特征,提取边缘的方法有多种,如sobel算子,canny算子等,本实施例以sobel算子为例说明:
[0120]
利用水平方向边缘梯度算子和垂直方向边缘梯度算子,同灰度/亮度图像的进行卷积,获得水平边缘图eh和垂直边缘图ev,最终计算边缘强度图e
all
,即对于边缘图上任意一点e
all
(x,y),e
all
(x,y)=sqrt(e
v
(x,y)2 e
h
(x,y)2)
[0121]
水平方向和垂直方向的边缘梯度算子以sobel算子为例(如图3所示),其他算子同样适用。
[0122]
步骤303,将所述边缘强度图进行二值化处理,得到第一二值化图像;
[0123]
对于e
all
与预先设定的阈值th1进行对比,将边缘图二值化即,if e
all
(x,y)>th1,e(x,y)=1,else e(x,y)=0。
[0124]
步骤304,确定所述第一二值化图像中文本区域及背景区域,并将所述文本区域赋值为第一数值,将所述背景区域赋值为第二数值,得到直方图;
[0125]
在该步骤中,可以对于水平方向的文本行图像进行垂直投影(垂直方向进行水平投影,后续不在赘述),统计每一列j符合下述条件的像素的数量num
edge
,如果num
edge
>th
num
,th
num
指预设数量阈值,则将直方图h[j]=1,否则为0,j的范围是[0,w

1]。
[0126]
条件:该像素以及上下相邻像素中存在至少一个像素为1的值,就认为该像素的边缘值为1,同时统计该像素左右连续的像素的边缘值为1,且连续的长度大于预设长度阈值th
len
的像素的总个数。
[0127]
因为文本是一种边缘信息较强的内容,如果文本行图像中包含文本,每个文字应该具有连续且水平垂直都相对均匀的一种边缘分布,通过这个操作能够粗定位出来文本框内可能存在的文本区域和背景区域。
[0128]
步骤305,按照所述直方图中各像素位置的对应的数值,对所述直方图进行分割,得到至少两个文字图像。
[0129]
在该步骤中,将直方图中为0的位置记录为粗分割位置,如果有多个连续为0的区域,则取这个区域的中点为粗分割位置,每两个粗分割位置之间的长度作为窗口的边长,可以在每个粗分割位置进行文本行分割,得到的每个文字图像的长度即为窗口的边长。
[0130]
本发明实施例能够对文本行图像进行粗分割,得到至少两个文字图像。
[0131]
在本发明的又一实施例中,步骤s102,分别生成每个文字图像对应的掩码图像,包括:
[0132]
步骤401,基于所述文本行图像,计算分割阈值;
[0133]
在该步骤中,对于灰度或者亮度图像,可以利用otsu方法计算灰度分割阈值,获得二值化阈值thb。
[0134]
步骤402,针对每个文字图像,按照所述分割阈值,对所述文本行图像进行第二二值化处理,得到第二二值化图像;
[0135]
在该步骤中,可以对于输入标题图像中的像素(x,y)其对应的二值化图像b的像素为,if i(x,y)<thb,b(x,y)=0;if i(x,y)>=thb,b(x,y)=255。
[0136]
步骤403,水平扫描所述第二二值化图像的每行像素,对每行像素进行背景色转换,得到第一中间图像;
[0137]
在该步骤中,可以水平扫描第二二值化图像的每行像素,取本行第一个像素值为color,统计本行像素值不等于color的像素的个数num,如果num<th2,则back_color=back_color color,count=count 1,得到第一中间图像。
[0138]
步骤404,垂直扫描所述第一中间图像的每列像素,对每列像素进行背景色转换,得到第二中间图像;
[0139]
在该步骤中,可以垂直扫描第一中间图像的每列像素,取本列第一个像素值为color,统计本列像素值不等于color的像素的个数num,如果num<th2,则back_color=back_color color,count=count 1,得到第二中间图像。
[0140]
步骤405,计算所述文本行图像的背景色平均值;
[0141]
在该步骤中,可以计算背景色的平均值back_color=back_color/count,如果back_color<128,则设置背景区域颜色为back_color=0,否则设置back_color=255。
[0142]
步骤406,基于所述背景色平均值确定所述第二中间图像中的文字区域和背景区域,得到文字图像对应的掩码图像。
[0143]
在本发明实施例中,图像b中像素颜色等于back_color的区域为背景区域,将等于back_color的颜色像素置为0,反之置为255,生成标题区域的mask,即文字图像对应的掩码图像。
[0144]
在本发明的又一实施例中,步骤s102,确定至少两个文字图像之间的差异是否超过预设阈值,包括:
[0145]
步骤501,基于每个所述文字图像对应的掩码图像,确定每个文字图像中文字的行高度信息和字体高度信息;
[0146]
在该步骤中,可以确定所述文字图像中垂直方向首次出现像素值为第一预设掩码值的像素点的纵坐标,将所述纵坐标确定为所述文字图像中文字的行高度信息,也即获得每个子图像中垂直方向第一次出现255像素值的y坐标作为起点坐标,得到行高度信息。
[0147]
可以针对每个文字图像,确定所述文字图像中像素值为第一预设掩码值的像素最高位置与像素最低位置之间的高度差,将所述高度差确定为所述文字图像中文字的字体高度信息,也即计算每个子图像文本掩码区域的高度,即像素值为255的像素最高位置以及最低位置之间的差值,得到字体高度信息。
[0148]
步骤502,基于至少两个文字图像中文字的行高度信息确定行高度差异数据;
[0149]
在该步骤中,统计起点坐标的方差,得到行高度差异数据。
[0150]
步骤503,基于至少两个文字图像中文字的字体高度信息确定字体高度差异数据;
[0151]
在该步骤中,统计所有文本行掩码区域高度的方差,得到行高度差异数据。
[0152]
步骤504,若任一所述行高度差异数据大于预设第一阈值,和/或,任一所述字体高度差异数据大于预设第二阈值,确定至少两个文字图像之间的差异超过预设阈值。
[0153]
在该步骤中,如果高度方差大于th3则认为文本行字体大小存在不一致现象,如果起点坐标方差大于th4则认为文字不在一行中排列,如果同时小于阈值,则认为排列规整。
[0154]
本发明实施例能够自动判断至少两个文字图像之间的差异是否超过预设阈值,以便于在确定差异较大时,进行后续处理。
[0155]
在本发明的又一实施例中,基于所述掩码图像中文字所在的区域,截取对应的文字图像中相应区域的中间图像,包括:
[0156]
在所述掩码图像中确定每个掩码值为预设第一掩码值的像素最高位置与像素最低位置之间的文字所在的掩码区域,在与所述掩码图像对应的文字图像中,截取与所述掩码区域对应的像素区域中的中间图像。
[0157]
本发明实施例能够按照掩码图像中掩码值为255的像素最高位置以及最低位置之间的区域,即文字所在的掩码区域,在与所述掩码图像对应的文字图像中,截取与所述掩码区域对应的像素区域中的中间图像,也就是说,按照掩码图像中的掩码值确定文字所在的掩码区域,由于掩码图像与文字图像是对应的,所以可以按照文字所在的掩码区域在文字图像中相应的找到文字所在的区域,并截取出文字图像中文字所在的区域中的原始图像来,得到中间图像。
[0158]
在本发明的又一实施例中,按照与所述差异对应的调整策略对至少两个所述中间图像进行调整,得到目标图像,包括:
[0159]
若任一行高度差异数据大于预设第一阈值,将至少两个所述中间图像调整成一行,得到目标图像;
[0160]
在本发明实施例中,针对文字不在一行中排列的情况,可以将至少两个中间图像的行高度调整成一行,即调整后,至少两个目标图像的行高度相同,得到的目标图像的行高度之间可能存在细微的高度差异,对于这种差异ocr模型可以克服,只需要在图像中补零即可。
[0161]
本发明实施例能够将至少两个中间图像调整为一行,使得调整后的至少两个目标图像之间的行高度差异小于预设阈值,进而便于后续ocr模型处理。
[0162]
在本发明的又一实施例中,截取每个文字图像中的文字图像区域,包括:
[0163]
若任一字体高度差异数据大于预设第二阈值,将每个目标图像调整为相同大小,得到目标图像。
[0164]
在本发明实施例中,针对文本行字体大小存在不一致现象的区域的情况,可以将至少两个中间图像调整到统一尺寸。
[0165]
本发明实施例能够将至少两个中间图像调整至相同尺寸,使得调整后的至少两个目标图像之间的字体高度差异小于预设阈值,进而便于后续ocr模型处理。
[0166]
在本发明的又一实施例中,如图4所示,还提供一种图像处理装置,包括:
[0167]
获取模块11,用于获取文本行图像,将所述文本行图像进行分割,得到至少两个文字图像;
[0168]
生成模块12,用于分别生成每个文字图像对应的掩码图像;
[0169]
第一确定模块13,用于基于每个文字图像对应的掩码图像,确定至少两个文字图
像之间的差异是否超过预设阈值;
[0170]
截取模块14,用于若至少两个文字图像之间的差异超过预设阈值,基于所述掩码图像中文字所在的区域,截取对应的文字图像中相应区域的中间图像,所述中间图像包括所述文字图像中文字对应的像素点所在的区域;
[0171]
调整模块15,用于按照与所述差异对应的调整策略对至少两个所述中间图像进行调整,得到目标图像;
[0172]
拼接模块16,用于将至少两个目标图像进行拼接,得到目标文本图像,以用于文字识别。
[0173]
在本发明的又一实施例中,还提供一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
[0174]
存储器,用于存放计算机程序;
[0175]
处理器,用于执行存储器上所存放的程序时,实现前述任一方法实施例所述的图像处理方法。
[0176]
本发明实施例提供的电子设备,处理器通过执行存储器上所存放的程序实现了通过首先获取文本行图像,将所述文本行图像进行分割,得到至少两个文字图像,然后分别生成每个文字图像对应的掩码图像,再基于每个文字图像对应的掩码图像,确定至少两个文字图像之间的差异是否超过预设阈值,若至少两个文字图像之间的差异超过预设阈值,基于所述掩码图像中文字所在的区域,截取对应的文字图像中相应区域的中间图像;按照与所述差异对应的调整策略对至少两个所述中间图像进行调整,得到目标图像,最后可以将至少两个目标图像进行拼接,得到目标文本图像,以用于文字识别。
[0177]
本技术实施例在文本行图像中的文字图像之间的差异超过预设阈值时,可以自动基于所述掩码图像中文字所在的区域,截取对应的文字图像中相应区域的中间图像,按照与所述差异对应的调整策略对至少两个所述中间图像进行调整,得到目标图像,再将目标图像进行拼接,得到目标文本图像,也就是说,本发明实施例能够在文字图像之间差异过大时,自动将仅包含文字部分的中间图像,按照与所述差异对应的调整策略对至少两个中间图像进行调整,得到目标图像,最后将目标图像进行拼接,由于只提取了文字部分的中间图像,并对中间图像进行调整,便于使调整后的目标图像之间的差异达到小于预设阈值的状态,使文本图像中文字的排列更加规整,进而,便于在将处理后的文本行图像输入ocr模型中时,提高ocr模型对文本行图像中文字进行识别的准确率。
[0178]
上述电子设备提到的通信总线1140可以是外设部件互连标准(peripheralcomponentinterconnect,简称pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,简称eisa)总线等。该通信总线1140可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0179]
通信接口1120用于上述电子设备与其他设备之间的通信。
[0180]
存储器1130可以包括随机存取存储器(randomaccessmemory,简称ram),也可以包括非易失性存储器(non

volatilememory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
[0181]
上述的处理器1110可以是通用处理器,包括中央处理器
(centralprocessingunit,简称cpu)、网络处理器(networkprocessor,简称np)等;还可以是数字信号处理器(digitalsignalprocessing,简称dsp)、专用集成电路(applicationspecificintegratedcircuit,简称asic)、现场可编程门阵列(field

programmablegatearray,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
[0182]
在本发明的又一实施例中,还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有图像处理方法的程序,所述图像处理方法的程序被处理器执行时实现前述任一方法实施例所述的图像处理方法的步骤。
[0183]
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0184]
以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜