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

一种文本图像留白去除方法、装置、设备及存储介质与流程

2022-03-26 10:21:31 来源:中国专利 TAG:


1.本发明涉及图像处理技术领域,尤其涉及一种文本图像留白去除方法、装置、设备及存储介质。


背景技术:

2.合同类文本图像中的上下左右边缘处会出现较大留白,在图像ocr文本识别技术中,会将图像缩放到固定大小后进行识别,包含有留白的图像进行缩放会造成较大的文本信息特征的损失;从而在对该类图像进行ocr文本识别会影响文本信息识别精度。
3.为解决上述问题,现有技术通过人工自行标记图像上下左右留白位置,再对图像进行裁剪得到图像上下左右留白去除后的图像。该方法去除图像上下左右留白的过程比较繁琐,效率及其低下。


技术实现要素:

4.本发明的目的是提供一种文本图像留白去除方法、装置、设备及存储介质,旨在解决现有通过人工自行标记图像上下左右留白位置来去除图像上下左右留白的过程,存在繁琐、效率低下的问题。
5.为解决上述技术问题,本发明的目的是通过以下技术方案实现的:提供一种文本图像留白去除方法,包括:
6.对文本图像进行预处理,得到二值化图像;
7.对所述二值化图像进行开运算处理,得到仅包含文本特征的二值化图像;
8.遍历所述二值化图像中的行和列,统计每行和每列中的所有像素点;
9.在所述二值化图像中设定上起始点和下起始点,分别以所述上起始点和下起始点开始遍历每行中的像素点并找出对应的像素值突变点,并根据对应的像素值突变点计算出上留白位置和下留白位置;
10.在所述二值化图像中设定左起始点和右起始点,分别以所述左起始点和右起始点开始遍历每列中的像素点并找出对应的像素值突变点,并根据对应的像素值突变点计算出左留白位置和右留白位置;
11.根据得到的上留白位置、下留白位置、左留白位置以及右留白位置,对所述文本图像进行裁剪并得到留白去除的目标图像。
12.另外,本发明要解决的技术问题是还在于提供一种文本图像留白去除装置,包括:
13.预处理单元,用于对文本图像进行预处理,得到二值化图像;
14.开运算单元,用于对所述二值化图像进行开运算处理,得到仅包含文本特征的二值化图像;
15.统计单元,用于遍历所述二值化图像中的行和列,统计每行和每列中的所有像素点;
16.上下留白计算单元,用于在所述二值化图像中设定上起始点和下起始点,分别以
所述上起始点和下起始点开始遍历每行中的像素点并找出对应的像素值突变点,并根据对应的像素值突变点计算出上留白位置和下留白位置;
17.左右留白计算单元,在所述二值化图像中设定左起始点和右起始点,分别以所述左起始点和右起始点开始遍历每列中的像素点并找出对应的像素值突变点,并根据对应的像素值突变点计算出左留白位置和右留白位置;
18.裁剪单元,用于根据得到的上留白位置、下留白位置、左留白位置以及右留白位置,对所述文本图像进行裁剪并得到留白去除的目标图像。
19.另外,本发明实施例又提供了一种计算机设备,其包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述的文本图像留白去除方法。
20.另外,本发明实施例还提供了一种计算机可读存储介质,其中所述计算机可读存储介质存储有计算机程序,所述计算机程序当被处理器执行时使所述处理器执行上述第一方面所述的文本图像留白去除方法。
21.本发明实施例公开了一种文本图像留白去除方法、装置、设备及存储介质。该方法包括对文本图像进行预处理,得到二值化图像;对二值化图像进行开运算处理,得到仅包含文本特征的二值化图像;遍历二值化图像中的行和列,统计每行和每列中的所有像素点;在二值化图像中分别设定上、下、左、右起始点,分别以上、下、左、右起始点开始遍历每行每列中的像素点的并找出对应的像素值突变点,并根据对应的像素值突变点计算出上留白位置、下留白位置、左留白位置以及右留白位置;根据得到所有留白位置对文本图像进行裁剪并得到留白去除后的目标图像。本发明实施例通过能够降低图像留白位置对合同类文本信息提取的影响,为后续ocr识别精度奠定了基础。
附图说明
22.为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
23.图1为本发明实施例提供的文本图像留白去除方法的流程示意图;
24.图2为本发明实施例提供的文本图像留白去除方法的子流程示意图;
25.图3为本发明实施例提供的文本图像留白去除方法的又一子流程示意图;
26.图4为本发明实施例提供的文本图像留白去除方法的又一子流程示意图;
27.图5为本发明实施例提供的文本图像留白去除方法的又一子流程示意图;
28.图6为本发明实施例提供的文本图像留白去除方法的又一子流程示意图;
29.图7为本发明实施例提供的文本图像留白去除方法的又一子流程示意图;
30.图8为本发明实施例提供的二值化图像水平投影后的示例图;
31.图9为本发明实施例提供的文本图像留白去除装置的示意性框图;
32.图10为本发明实施例提供的计算机设备的示意性框图。
具体实施方式
33.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完
整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
34.应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
35.还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
36.还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
37.请参阅图1,图1为本发明实施例提供的文本图像留白去除方法的流程示意图;
38.如图1所示,该方法包括步骤s101~s106。
39.s101、对文本图像进行预处理,得到二值化图像;
40.s102、对二值化图像进行开运算处理,得到仅包含文本特征的二值化图像;
41.步骤s101-s102主要目的是去除文本图像中的噪声,得到包含文本特征的二值化图像,方便后续进行留白位置的计算。
42.s103、遍历二值化图像中的行和列,统计每行和每列中的所有像素点;
43.该步骤主要是统计出每行和每列中的文本特征的像素点和背景特征的像素点。
44.s104、在二值化图像中设定上起始点和下起始点,分别以上起始点和下起始点开始遍历每行中的像素点并找出对应的像素值突变点,并根据对应的像素值突变点计算出上留白位置和下留白位置;
45.s105、在二值化图像中设定左起始点和右起始点,分别以左起始点和右起始点开始遍历每列中的像素点并找出对应的像素值突变点,并根据对应的像素值突变点计算出左留白位置和右留白位置;
46.步骤s104-s105中,通过分析每行中的像素点的像素值突变点以及每列中的像素点的像素值突变点,从而去计算并得到留白位置,具体的计算方式在后续进行说明。
47.s106、根据得到的上留白位置、下留白位置、左留白位置以及右留白位置,对文本图像进行裁剪并得到留白去除的目标图像。
48.针对合同类文本图像,采用步骤s101-s106中的方法计算文本图像的上留白位置、下留白位置、左留白位置以及右留白位置,利用这些留白位置裁剪出文本图像中主要文本信息区域,从而降低文本图像上的留白位置对合同类文本信息提取的影响,使ocr文本识别结果具有更高的准确性和鲁棒性。
49.在一实施例中,如图2所示,步骤s101包括:
50.s201、将文本图像转化为灰度图像,对灰度图像进行高斯平滑滤波处理;
51.s202、对灰度图像进行二值化处理得到二值化图像;
52.s203、根据预设的特征阈值,区分出二值化图像中的文本特征和背景特征。
53.本实施例中,可以利用freeimage、formatconvertedbitmap class等图像转换算法将文本图像转化为灰度图像,然后对灰度图像进行高斯平滑滤波处理,去除灰度图像中
的一些噪声;灰度图像进行二值化处理得到二值化图像,从而使得图像上的像素点的像素值表示为0或255;最后根据预设的特征阈值,即可将文本特征和背景特征进行区分。
54.在一实施例中,如图3所示,步骤s102包括:
55.s301、对二值化图像先进行腐蚀处理,再进行膨胀处理;
56.s302、统计二值化图像中八连通区域的个数和每个八连通区域的区域面积;
57.s303、根据预设的面积阈值,过滤区域面积小于面积阈值的八连通区域,得到仅包含文字特征的二值化图像,其中文字特征的像素点的像素值为255,背景特征的像素点的像素值为0。
58.本实施例中,对二值化图像先进行腐蚀处理后,可以去除二值化图像中的噪声,但是也压缩了二值化图像,接着对腐蚀过的二值化图像进行膨胀处理,使得在腐蚀过程中被压缩的二值化图像恢复原状。
59.统计二值化图像中八连通区域的个数和每个八连通区域的区域面积,其中八连通区域是指二值图像的像素点之间的连接关系,即在上、下、左、右、左上、右上、左下、右下之间连通的区域为八连通区域。
60.一般来说,八连通区域的区域面积越大则该区域内就越可能是文本;通过预设的面积阈值,过滤区域面积小于预设的面积阈值的八连通区域,这些过滤掉的八连通区域基本都是噪声孤立的小区域,剩余的八连通区域中基本都是文本,从而在二值化图像中更清楚的将文字特征凸显出来。
61.在一实施例中,如图4所示,步骤s104包括:
62.s401、在二值化图像中的高度方向上,以左上角为上起始点并按从上至下的方向遍历至第height//3行,其中height//3为二值化图像上的总行数除以3取整;
63.s402、按如下上留白条件计算并得到第一候选上留白位置和第二候选上留白位置:
64.第一候选上留白位置为在满足h_white[i]《=h_mean//2,且h_white[i]==0条件下的i的最大值,第二候选上留白位置为在满足h_white[i]《=h_mean//2条件下的i的最大值,其中,h_white[i]为第i行的文本特征的像素点总数,h_mean//2为每行文本特征的像素点均值除以2取整,h_white[i]==0为第i行的像素点的像素值为0,其中==为等于(如:a==a表示

真’,a==b表示

假’);
[0065]
s403、取第一候选上留白位置和第二候选上留白位置中的较小值作为上留白位置。
[0066]
步骤s401-s403是计算上留白位置的过程,参考图8所示,图8为二值化图像经过水平投影后的示意图;图中以左上角为坐标原点(0,0),图像高度为height,宽度为white;图中白色区域为文本特征;计算上留白位置的过程为:以左上角作为上起始点,遍历至第height//3行,可以看出图中示出的max1_height的区域可以满足h_white[i]《=h_mean//2,且h_white[i]==0条件下的i为最大值,即max1_height的区域为第一候选上留白位置;max2_height的区域可以满足h_white[i]《=h_mean//2条件下的i为最大值,即max2_height处为第二候选上留白位置。取第一候选上留白位置和第二候选上留白位置中的较小值作为上留白位置,即第一候选上留白位置作为最终的上留白位置。
[0067]
为便于理解,下面以一具体实例进行介绍,假设二值化图像的height为15,第4至
12行中有文本特征像素点,则上留白位置的计算过程为:遍历至15//3行,即15除以3取整等于5,遍历至第5行,遍历的过程中,条件h_white[i]《=h_mean//2,且h_white[i]==0中,因为条件h_white[i]==0使得i只能取[1,4],因此在满足h_white[i]《=h_mean//2,且h_white[i]==0条件下的i的最大值只能为4,即第一候选上留白位置只能是第1至4行的区域;而在条件h_white[i]《=h_mean//2下,当第5行的文本特征的像素点总数较少时,可以存在i为5时也能满足该条件的情况,因此在满足h_white[i]《=h_mean//2条件下的i的最大值可以为5,即第二候选上留白位置最大时可以是第1至5行的区域。最后取第一候选上留白位置和第二候选上留白位置中的较小值作为上留白位置,即第1至4行的区域。
[0068]
在一实施例中,如图5所示,步骤s104还包括计算下留白位置的过程:
[0069]
s501、在二值化图像中的高度方向上,以左下角为下起始点并按下至上的方向遍历至第2*height//3行,其中2*height//3为2倍的二值化图像上的总行数除以3取整;
[0070]
该步骤中,继续以上述具体实例进行说明,这里则是按倒序进行遍历至2*height//3行,即从第15行按倒序遍历至第10行。
[0071]
s502、按如下下留白条件计算并得到第一候选下留白位置和第二候选下留白位置:
[0072]
第一候选下留白位置为满足h_white[i]《=h_mean//2,且h_white[i]==0条件下的i的最小值,第二候选下留白位置为满足h_white[i]《=h_mean//2条件下的i的最小值;
[0073]
s503、取第一候选下留白位置和第二候选下留白位置中的较大值作为下留白位置。
[0074]
可以理解的,根据步骤s502-s503中的条件,基于前述介绍的计算方式,即可计算出下留白位置。
[0075]
在一实施例中,如图6所示,步骤s105包括:
[0076]
s601、在二值化图像中的宽度方向上,以左上角为左起始点并按左至右的方向遍历至第width//10行,其中width//10为二值化图像上的总列数除以10取整;
[0077]
s602、按如下左留白条件计算并得到第一候选左留白位置和第二候选左留白位置:
[0078]
第一候选左留白位置为满足w_white[i]《=w_mean//5,且w_white[i]==0条件下的i的最大值,第二候选左留白位置为满足w_white[i]《=w_mean//5条件下的i的最大值;其中,w_white[i]为第i列的文本特征的像素点总数,w_mean//5为每列文本特征的像素点均值除以5取整,w_white[i]==0为第i列的像素点的像素值为0;
[0079]
s603、取第一候选左留白位置和第二候选左留白位置中的较小值作为左留白位置。
[0080]
可以理解的,根据步骤s601-s603中的条件,基于前述介绍的计算方式,即可计算出左留白位置。
[0081]
在一实施例中,如图7所示,步骤s105还包括:
[0082]
s701、在二值化图像中的宽度方向上,以右上角为右起始点并按右至左的方向遍历至第9*width//10行,其中9*width//10为9倍的二值化图像上的总列数除以10取整;
[0083]
s702、按如下右留白条件计算并得到第一候选右留白位置和第二候选右留白位
置:
[0084]
第一候选右留白位置为满足w_white[i]《=w_mean//5,且w_white[i]==0条件下的i的最小值,第二候选右留白位置为满足w_white[i]《=w_mean//5条件下的i的最小值;
[0085]
s703、取第一候选右留白位置和第二候选右留白位置中的较大值作为右留白位置。
[0086]
可以理解的,根据步骤s701-s703中的条件,基于前述介绍的计算方式,即可计算出右留白位置。
[0087]
本发明实施例还提供一种文本图像留白去除装置,该文本图像留白去除装置用于执行前述文本图像留白去除方法的任一实施例。具体地,请参阅图9,图9是本发明实施例提供的文本图像留白去除装置的示意性框图。
[0088]
如图9所示,文本图像留白去除装置900,包括:预处理单元901、开运算单元902、统计单元903、上下留白计算单元904、左右留白计算单元905以及裁剪单元906。
[0089]
预处理单元901,用于对文本图像进行预处理,得到二值化图像;
[0090]
开运算单元902,用于对二值化图像进行开运算处理,得到仅包含文本特征的二值化图像;
[0091]
统计单元903,用于遍历二值化图像中的行和列,统计每行和每列中的所有像素点;
[0092]
上下留白计算单元904,用于在二值化图像中设定上起始点和下起始点,分别以上起始点和下起始点开始遍历每行中的像素点并找出对应的像素值突变点,并根据对应的像素值突变点计算出上留白位置和下留白位置;
[0093]
左右留白计算单元905,用于在二值化图像中设定左起始点和右起始点,分别以左起始点和右起始点开始遍历每列中的像素点并找出对应的像素值突变点,并根据对应的像素值突变点计算出左留白位置和右留白位置;
[0094]
裁剪单元906,用于根据得到的上留白位置、下留白位置、左留白位置以及右留白位置,对文本图像进行裁剪并得到留白去除的目标图像。
[0095]
该装置通过分析每行中的像素点的像素值突变点以及每列中的像素点的像素值突变点,从而去计算并得到留白位置,根据得到所有留白位置对文本图像进行裁剪并得到留白去除后的目标图像,能够降低图像留白位置对合同类文本信息提取的影响,为后续ocr识别精度奠定了基础。
[0096]
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0097]
上述文本图像留白去除装置可以实现为计算机程序的形式,该计算机程序可以在如图10所示的计算机设备上运行。
[0098]
请参阅图10,图10是本发明实施例提供的计算机设备的示意性框图。该计算机设备1000是服务器,服务器可以是独立的服务器,也可以是多个服务器组成的服务器集群。
[0099]
参阅图10,该计算机设备1000包括通过系统总线1001连接的处理器1002、存储器和网络接口1005,其中,存储器可以包括非易失性存储介质1003和内存储器1004。
[0100]
该非易失性存储介质1003可存储操作系统10031和计算机程序10032。该计算机程
序10032被执行时,可使得处理器1002执行图像留白去除方法。
[0101]
该处理器1002用于提供计算和控制能力,支撑整个计算机设备1000的运行。
[0102]
该内存储器1004为非易失性存储介质1003中的计算机程序10032的运行提供环境,该计算机程序10032被处理器1002执行时,可使得处理器1002执行图像留白去除方法。
[0103]
该网络接口1005用于进行网络通信,如提供数据信息的传输等。本领域技术人员可以理解,图10中示出的结构,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的计算机设备1000的限定,具体的计算机设备1000可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0104]
本领域技术人员可以理解,图10中示出的计算机设备的实施例并不构成对计算机设备具体构成的限定,在其他实施例中,计算机设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。例如,在一些实施例中,计算机设备可以仅包括存储器及处理器,在这样的实施例中,存储器及处理器的结构及功能与图10所示实施例一致,在此不再赘述。
[0105]
应当理解,在本发明实施例中,处理器1002可以是中央处理单元(central processing unit,cpu),该处理器1002还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0106]
在本发明的另一实施例中提供计算机可读存储介质。该计算机可读存储介质可以为非易失性的计算机可读存储介质。该计算机可读存储介质存储有计算机程序,其中计算机程序被处理器执行时实现本发明实施例的图像留白去除方法。
[0107]
存储介质为实体的、非瞬时性的存储介质,例如可以是u盘、移动硬盘、只读存储器(read-onlymemory,rom)、磁碟或者光盘等各种可以存储程序代码的实体存储介质。
[0108]
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的设备、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0109]
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
再多了解一些

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

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

相关文献