CN111932483B - 图片处理方法、装置、存储介质及计算机设备 - Google Patents
图片处理方法、装置、存储介质及计算机设备 Download PDFInfo
- Publication number
- CN111932483B CN111932483B CN202011037257.6A CN202011037257A CN111932483B CN 111932483 B CN111932483 B CN 111932483B CN 202011037257 A CN202011037257 A CN 202011037257A CN 111932483 B CN111932483 B CN 111932483B
- Authority
- CN
- China
- Prior art keywords
- delt
- picture
- vertex
- height
- left vertex
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 13
- 238000003860 storage Methods 0.000 title claims abstract description 9
- 238000000034 method Methods 0.000 claims abstract description 57
- 238000005260 corrosion Methods 0.000 claims abstract description 19
- 230000007797 corrosion Effects 0.000 claims abstract description 19
- 238000012545 processing Methods 0.000 claims abstract description 19
- 230000003044 adaptive effect Effects 0.000 claims abstract description 17
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 claims abstract description 12
- 230000009466 transformation Effects 0.000 claims abstract description 12
- 238000012163 sequencing technique Methods 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 6
- 238000005520 cutting process Methods 0.000 abstract description 14
- 238000012937 correction Methods 0.000 description 7
- 238000006243 chemical reaction Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000003628 erosive effect Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 241000255789 Bombyx mori Species 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000010339 dilation Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000877 morphologic effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/70—Denoising; Smoothing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/02—Affine transformations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/20—Image enhancement or restoration using local operators
- G06T5/30—Erosion or dilatation, e.g. thinning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/11—Region-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Image Processing (AREA)
Abstract
本发明公开了一种图片处理方法、装置、存储介质及计算机设备,所述方法包括:获取待处理的原始图片;对所述原始图片进行灰度化和自适应阈值二值化去噪,并通过膨胀和腐蚀方法识别所述原始图片中的表格横线和表格竖线,以获取只含表格线的中间图片;基于查找封闭轮廓的方法获取所述中间图片中的单元格封闭轮廓,以形成表格点图片,每个所述单元格封闭轮廓由最大外接矩形的四个点表示;获取所述表格点图片最外侧的四个顶点;通过仿射变换及所述四个顶点的位置,获取矫正后的图片。本发明能够解决现有技术中表格线的切割容易出错,不能很好的还原表格线的问题。
Description
技术领域
本发明涉及图片处理技术领域,特别是涉及一种图片处理方法、装置、存储介质及计算机设备。
背景技术
在日常办公过程中经常需要对图像进行处理,例如在财务工作中,将扫描得到的pdf格式或者图片格式的财务报表转换为表格形式的excel文档是工作人员经常面临的问题。
现有技术中,可以使用pdf或图片转excel的通用工具实现,但由于扫描得到的财务报表通常清晰度差,扫描时内容可能存在倾斜或扭曲,而这种通用工具主要是对表格点进行切割,容易导致表格线的切割出错,不能很好的还原表格线,在财务报表中,对最终的识别结果影响很大。
发明内容
为此,本发明的一个目的在于提出一种图片处理方法,以解决现有技术中表格线的切割容易出错,不能很好的还原表格线的问题。
本发明提供一种图片处理方法,包括:
获取待处理的原始图片;
对所述原始图片进行灰度化和自适应阈值二值化去噪,并通过膨胀和腐蚀方法识别所述原始图片中的表格横线和表格竖线,以获取只含表格线的中间图片;
基于查找封闭轮廓的方法获取所述中间图片中的单元格封闭轮廓,以形成表格点图片,每个所述单元格封闭轮廓由最大外接矩形的四个点表示;
获取所述表格点图片最外侧的四个顶点;
通过仿射变换及所述四个顶点的位置,获取矫正后的图片。
根据本发明提供的图片处理方法,在对原始图片进行灰度化和自适应阈值二值化去噪后,通过膨胀和腐蚀方法识别图片中的表格横线和表格竖线,进而利用表格横线和表格竖线的组合得到网格状的表格线,能够有效避免对表格点进行切割时引起切割出错的问题,此外,通过基于查找封闭轮廓的方法获取中间图片中的单元格封闭轮廓,每个单元格封闭轮廓由最大矩形的四个点表示,能够进一步对表格点进行补齐,最后通过仿射变换及表格点图片最外侧四个顶点的位置,确保得到的矫正后的图片中表格的完整性,从而很好的还原表格线。
另外,根据本发明上述的图片处理方法,还可以具有如下附加的技术特征:
进一步地,获取所述表格点图片最外侧的四个顶点的步骤具体包括:
对每一行像素,按照从左到右、从上到下的查找方式,查找所述表格点图片中是否存在表格交点;
若存在表格交点,则保存,并记录找到的表格交点的总数;
当所述表格交点的总数大于数量阈值时,结束查找,并对找到的各个表格交点按宽度方向从小到大进行排序;
对排序后相邻的表格交点的宽作差;
若差值小于阈值,则保存相应的表格交点,否则结束作差;
对保存的表格交点按高度方向排序,将高度最小对应的表格交点作为左上顶点,并以同样的原理得到右上顶点、左下顶点、以及右下顶点。
进一步地,所述左上顶点、所述右上顶点、所述左下顶点、所述右下顶点的坐标分别为(x1,y1)、(x2,y2)、(x3,y3)、(x4,y4);得到所述左上顶点、所述右上顶点、所述左下顶点、所述右下顶点之后,所述方法还包括:
将所述表格点图片的宽度左右延伸delt_w,高度向下延伸delt_h;
获取所述左上顶点的高y1与所述右上顶点的高y2在高度上的差值delt,delt=y1-y2;
若delt<0,则修正后的左上顶点、右上顶点、左下顶点、右下顶点的坐标点分别为(x1-delt_w, 0)、(x2+delt_w, -delt)、(x3-delt_w, y3+delt_h)、(x4+delt_w, y4+delt_h);
若delt≥0,则修正后的左上顶点、右上顶点、左下顶点、右下顶点的坐标点分别为(x1-delt_w, delt)、(x2+delt_w, 0)、(x3-delt_w, y3+delt_h)、(x4+delt_w, y4+delt_h);
设顶点修正后的图片的宽为W’,高为H’,顶点修正后的图片中左上顶点、右上顶点、左下顶点、右下顶点的坐标点分别为(0,0)、(W’,0)、(0, H’)、(W’,H’),则有:
w1 = ((x1-delt_w-x2-delt_w)2 + (delt-0)2)1/2
w2 = ((x3-delt_w-x4-delt_w)2 + (y3+delt_h-y4-delt_h)2)1/2
W’ = max(w1, w2)
若delt<0,则:
h1 = ((x1-delt_w-x3+delt_w)2 + (0-y3-delt_h)2)1/2
h2 = ((x2+delt_w-x4-delt_w)2 + (-delt-y4-delt_h) 2)1/2
H’ = max(h1, h2)
若delt≥0,则:
h1 = ((x1-delt_w-x3+delt_w)2 + (delt-y3-delt_h)2)1/2
h2 = ((x2+delt_w-x4-delt_w)2 + (0-y4-delt_h)2)1/2
H’ = max(h1, h2)。
进一步地,通过仿射变换及所述四个顶点的位置,获取矫正后的图片的步骤之后,所述方法还包括:
对所述矫正后的图片进行灰度化和自适应阈值二值化去噪,并通过膨胀和腐蚀方法识别所述矫正后的图片中的表格横线和表格竖线,以获取只含表格线的矫正后的中间图片。
进一步地,获取待处理的原始图片的步骤之前,所述方法还包括:
获取源文件;
将所述源文件转换为清晰度不同的第一图片和第二图片,其中,所述第二图片的清晰度大于所述第一图片的清晰度,将所述第一图片作为待处理的原始图片,并对所述第二图片进行文字识别以获取文字内容。
本发明的另一个目的在于提出一种图片处理装置,以解决现有技术中表格线的切割容易出错,不能很好的还原表格线的问题。
本发明提供一种图片处理装置,包括:
第一获取模块,用于获取待处理的原始图片;
第二获取模块,用于对所述原始图片进行灰度化和自适应阈值二值化去噪,并通过膨胀和腐蚀方法识别所述原始图片中的表格横线和表格竖线,以获取只含表格线的中间图片;
第三获取模块,用于基于查找封闭轮廓的方法获取所述中间图片中的单元格封闭轮廓,以形成表格点图片,每个所述单元格封闭轮廓由最大外接矩形的四个点表示;
第四获取模块,用于获取所述表格点图片最外侧的四个顶点;
第五获取模块,用于通过仿射变换及所述四个顶点的位置,获取矫正后的图片。
根据本发明提供的图片处理装置,在对原始图片进行灰度化和自适应阈值二值化去噪后,通过膨胀和腐蚀方法识别图片中的表格横线和表格竖线,进而利用表格横线和表格竖线的组合得到网格状的表格线,能够有效避免对表格点进行切割时引起切割出错的问题,此外,通过基于查找封闭轮廓的方法获取中间图片中的单元格封闭轮廓,每个单元格轮封闭廓由最大外接矩形的四个点表示,能够进一步对表格点进行补齐,最后通过仿射变换及表格点图片最外侧四个顶点的位置,确保得到的矫正后的图片中表格的完整性,从而很好的还原表格线。
另外,根据本发明上述的图片处理装置,还可以具有如下附加的技术特征:
进一步地,所述第四获取模块具体用于:
对每一行像素,按照从左到右、从上到下的查找方式,查找所述表格点图片中是否存在表格交点;
若存在表格交点,则保存,并记录找到的表格交点的总数;
当所述表格交点的总数大于数量阈值时,结束查找,并对找到的各个表格交点按宽度方向从小到大进行排序;
对排序后相邻的表格交点的宽作差;
若差值小于阈值,则保存相应的表格交点,否则结束作差;
对保存的表格交点按高度方向排序,将高度最小对应的表格交点作为左上顶点,并以同样的原理得到右上顶点、左下顶点、右下顶点。
进一步地,所述左上顶点、右上顶点、左下顶点、右下顶点的坐标分别为(x1,y1)、(x2,y2)、(x3,y3)、(x4,y4),所述装置还包括:
延伸模块,用于将所述表格点图片的宽度左右延伸delt_w,高度向下延伸delt_h;
第六获取模块,用于获取所述左上顶点的高y1与所述右上顶点的高y2在高度上的差值delt,delt=y1-y2;
若delt<0,则再次修正后的左上顶点、右上顶点、左下顶点、右下顶点的坐标点分别为(x1-delt_w, 0)、(x2+delt_w, -delt)、(x3-delt_w, y3+delt_h)、(x4+delt_w, y4+delt_h);
若delt≥0,则再次修正后的左上顶点、右上顶点、左下顶点、右下顶点的坐标点分别为(x1-delt_w, delt)、(x2+delt_w, 0)、(x3-delt_w, y3+delt_h)、(x4+delt_w, y4+delt_h);
设顶点修正后的图片的宽为W’,高为H’,顶点修正后的图片中左上顶点、右上顶点、左下顶点、右下顶点的坐标点分别为(0,0)、(W’,0)、(0, H’)、(W’,H’),则有:
w1 = ((x1-delt_w-x2-delt_w)2 + (delt-0)2)1/2
w2 = ((x3-delt_w-x4-delt_w)2 + (y3+delt_h-y4-delt_h)2)1/2
W’ = max(w1, w2)
若delt<0,则:
h1 = ((x1-delt_w-x3+delt_w)2 + (0-y3-delt_h)2)1/2
h2 = ((x2+delt_w-x4-delt_w)2 + (-delt-y4-delt_h) 2)1/2
H’ = max(h1, h2)
若delt≥0,则:
h1 = ((x1-delt_w-x3+delt_w)2 + (delt-y3-delt_h)2)1/2
h2 = ((x2+delt_w-x4-delt_w)2 + (0-y4-delt_h)2)1/2
H’ = max(h1, h2)。
进一步地,所述装置还包括:
第七获取模块,用于对所述矫正后的图片进行灰度化和自适应阈值二值化去噪,并通过膨胀和腐蚀方法识别所述矫正后的图片中的表格横线和表格竖线,以获取只含表格线的矫正后的中间图片。
进一步地,所述装置还包括:
源文件获取模块,用于获取源文件;
转换模块,用于将所述源文件转换为清晰度不同的第一图片和第二图片,其中,所述第二图片的清晰度大于所述第一图片的清晰度,将所述第一图片作为待处理的原始图片,并对所述第二图片进行文字识别以获取文字内容。
本发明还提出一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述方法的步骤。
本发明还提出一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述方法的步骤。
本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实施例了解到。
附图说明
本发明实施例的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1是根据本发明第一实施例的图片处理方法的流程图;
图2是根据本发明第二实施例的图片处理装置的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,本发明第一实施例提出的图片处理方法,包括步骤S101~S105。
S101,获取待处理的原始图片。
其中,具体的,在获取待处理的原始图片的步骤之前,所述方法还包括:
获取源文件,这里源文件可以是jpg等格式的图片文件,也可以是pdf格式的文件;
将所述源文件转换为清晰度不同的第一图片和第二图片,具体的,可以先将图片格式的源文件转换为pdf格式的源文件,再将pdf格式的源文件转换为清晰度不同的第一图片和第二图片,其中,所述第二图片的清晰度大于所述第一图片的清晰度,将所述第一图片作为待处理的原始图片,并对所述第二图片进行文字识别以获取文字内容。高清晰度的第二图片用于文字识别;低清晰度的第一图片用于确定内容的切割位置。由于高清晰度图片较大,处理时速度慢并且占用内存大,因此使用低清晰度图片用于确定内容的切割位置,保证表格线确定的处理速度;而低清晰度的第一图片与高清晰度的第二图片的分辨率存在固定的比例关系,因此后续只需乘以该比例即可获取高清晰度图片内容的切割位置。
此外,具体实施时,还可以确定目标内容在源文件中的位置。由于一份文件中包含多种内容,而对于一份财务报表,我们的目标是获取财务报表的内容,若能在图片处理(图片文字识别前)阶段判断出该页面是否为财务报表内容(即表格内的内容),而略过非财务报表内容(例如大段的文字内容或者图像内容),则能加快处理速度。具体可以根据财务报表的特征,通过页面内容中是否包含大表格来进行删选。
S102,对所述原始图片进行灰度化和自适应阈值二值化去噪,并通过膨胀和腐蚀方法识别所述原始图片中的表格横线和表格竖线,以获取只含表格线的中间图片。
其中,自适应阈值二值化去噪为一种图片去噪方法,具体根据图像不同区域亮度分布,计算其局部阈值,因此对于不同图像区域,能够自适应计算不同的阈值,从而达到图像降噪的目的。
图像的膨胀(Dilation)和腐蚀(Erosion)是两种基本的形态学运算,主要用来寻找图像中的极大区域和极小区域。其中膨胀类似于“领域扩张”,将图像中的高亮区域或白色部分进行扩张,其运行结果图比原图的高亮区域更大;腐蚀类似于“领域被蚕食”,将图像中的高亮区域或白色部分进行缩减细化,其运行结果图比原图的高亮区域更小。
通过膨胀和腐蚀方法能够识别原始图片中的表格横线和表格竖线,具体实施时,可以先通过膨胀和腐蚀获取表格横线,再通过膨胀和腐蚀获取表格竖线,然后将表格横线和表格竖线组合在一起就能够生成表格框,从而获得只含表格线的中间图片。
S103,基于查找封闭轮廓的方法获取所述中间图片中的单元格封闭轮廓,以形成表格点图片,每个所述单元格封闭轮廓由最大外接矩形的四个点表示。
其中,例如通过图片处理技术中查找封闭轮廓的方法获取中间图片中的单元格封闭轮廓,每个单元格封闭轮廓由四个点表示,这四个点组成了一个小的单元格,从而完成表格的切割,采用该方法能够有效的将缺失的表格点补齐。
S104,获取所述表格点图片最外侧的四个顶点。
其中,最外侧的四个顶点用于确定表格点图片的整体形状。
S105,通过仿射变换及所述四个顶点的位置,获取矫正后的图片。
其中,通过图像处理技术中的仿射变换及已经获取的获取表格点图片最外侧的四个顶点,即可完成图片的矫正。
实测表明,经过上述方法校矫正后,表格框中左表格竖线更垂直,且下表格横线更水平。
综上,根据上述的图片处理方法,在对原始图片进行灰度化和自适应阈值二值化去噪后,通过膨胀和腐蚀方法识别图片中的表格横线和表格竖线,进而利用表格横线和表格竖线的组合得到网格状的表格线,能够有效避免对表格点进行切割时引起切割出错的问题,此外,通过基于查找封闭轮廓的方法获取中间图片中的单元格封闭轮廓,每个单元格封闭轮廓由最大外接矩形的四个点表示,能够进一步对表格点进行补齐,最后通过仿射变换及表格点图片最外侧四个顶点的位置,确保得到的矫正后的图片中表格的完整性,从而很好的还原表格线。
具体实施时,为了进一步优化,可以在步骤S105之后,对所述矫正后的图片再次进行灰度化和自适应阈值二值化去噪,并通过膨胀和腐蚀方法识别所述矫正后的图片中的表格横线和表格竖线,以获取只含表格线的矫正后的中间图片,最后将矫正后的中间图片作为最终的矫正后的图片。这里得到的图片只是有表格线的内容,再将其与从第二图片中识别到的文字内容片进行组合,在各个单元格中填入相应的文字内容,即完整了pdf或图片到excel的转换。
此外,作为一个具体示例,步骤S104中,在获取表格点图片最外侧的四个顶点时,由于表格线可能存在倾斜或扭曲,这会导致表格顶点不一定处在表格边界的交点,因此,本实施例采用以下方法来获取表格顶点坐标,下面以获取表格左上顶点坐标为例进行说明:
对每一行像素,按照从上到下,从左到右的查找方式(具体实施时查找的范围可以是0至w/2,w为原始图片的宽度),查找所述表格点图片中是否存在表格交点;
若存在表格交点,则保存,并记录找到的表格交点的总数;
当所述表格交点的总数大于数量阈值时,结束查找,并对找到的各个表格交点按宽度方向从小到大进行排序;
对排序后相邻的表格交点的宽作差,这里做差具体是指后一个表格交点的宽减去前一个表格交点的宽;
若差值小于阈值,则保存相应的表格交点,否则结束作差,具体的,若后一个表格交点的宽减去前一个表格交点的宽小于阈值,则将作差的这两个表格交点都保存,保存具体是指记录表格交点以及对应的坐标值,反之,若后一个表格交点的宽减去前一个表格交点的宽大于或等于阈值,则将这后一个表格交点舍弃,并结束作差。例如排序后表格交点的宽为:1、3、4、5、8、13、15、20,阈值为5,则当计算到13-8时,由于差值等于阈值,则最终只保存1、3、4、5、8这几个宽对应的表格交点;
对保存的表格交点按高度方向排序,将高度最小对应的表格交点作为左上顶点,然后以同样的原理得到右上顶点、左下顶点、右下顶点。
通过以上方法就获取到了表格最外侧的四个顶点。
此外,具体一个具体示例,由于表格中的倾斜或扭曲效应是全局的,同样会影响表头内容的位置,因此,本实施例还进行了进一步优化,首先设定表格最外侧的四个顶点,即前面得到的左上顶点、右上顶点、左下顶点、右下顶点的坐标分别为(x1,y1)、(x2,y2)、(x3,y3)、(x4,y4);在得到左上顶点、右上顶点、左下顶点、右下顶点之后,所述方法还包括:
将所述表格点图片的宽度左右延伸delt_w,高度向下延伸delt_h;
获取所述左上顶点的高y1与所述右上顶点的高y2在高度上的差值delt,delt=y1-y2;
若delt<0,则修正后的左上顶点、右上顶点、左下顶点、右下顶点的坐标点分别为(x1-delt_w, 0)、(x2+delt_w, -delt)、(x3-delt_w, y3+delt_h)、(x4+delt_w, y4+delt_h);
若delt≥0,则修正后的左上顶点、右上顶点、左下顶点、右下顶点的坐标点分别为(x1-delt_w, delt)、(x2+delt_w, 0)、(x3-delt_w, y3+delt_h)、(x4+delt_w, y4+delt_h)。需要指出的是,在实际应用中,这里延伸得到的4个顶点,已经可以用于步骤S105中参与仿射变换。对于有标题的表格,如果不延伸的话,最后获取的只有表格的内容,就获取不到标题。而且如果不延伸的话,四周的表格线部分可能会被切掉,被切掉的表格线无法形成封闭单元格,导致可能无法通过查找封闭轮廓的方法对单元格进行切割。
设顶点修正后的图片的宽为W’,高为H’,顶点修正后的图片中左上顶点、右上顶点、左下顶点、右下顶点的坐标点分别为(0,0)、(W’,0)、(0, H’)、(W’,H’),则有:
w1 = ((x1-delt_w-x2-delt_w)2 + (delt-0)2)1/2
w2 = ((x3-delt_w-x4-delt_w)2 + (y3+delt_h-y4-delt_h)2)1/2
W’ = max(w1, w2)
若delt<0,则:
h1 = ((x1-delt_w-x3+delt_w)2 + (0-y3-delt_h)2)1/2
h2 = ((x2+delt_w-x4-delt_w)2 + (-delt-y4-delt_h) 2)1/2
H’ = max(h1, h2)
若delt≥0,则:
h1 = ((x1-delt_w-x3+delt_w)2 + (delt-y3-delt_h)2)1/2
h2 = ((x2+delt_w-x4-delt_w)2 + (0-y4-delt_h)2)1/2
H’ = max(h1, h2)。
由于顶点修正后的图片是一个矩形,因此只要得到了这个矩形的宽W’以及高H’,就能够知道四个顶点的坐标。
经过上述方案得到的表格点图片最外侧的四个顶点,对图片的倾斜或扭曲进行了修正(并且能将表头内容的位置也考虑进去),能够更有效的避免倾斜或扭曲对表格线的影响。
请参阅图2,基于同一发明构思,本发明第二实施例提出的图片处理装置,所述装置包括:
第一获取模块,用于获取待处理的原始图片;
第二获取模块,用于对所述原始图片进行灰度化和自适应阈值二值化去噪,并通过膨胀和腐蚀方法识别所述原始图片中的表格横线和表格竖线,以获取只含表格线的中间图片;
第三获取模块,用于基于查找封闭轮廓的方法获取所述中间图片中的单元格封闭轮廓,以形成表格点图片,每个所述单元格封闭轮廓由最大外接矩形的四个点表示;
第四获取模块,用于获取所述表格点图片最外侧的四个顶点;
第五获取模块,用于通过仿射变换及所述四个顶点的位置,获取矫正后的图片。
本实施例中,所述第四获取模块具体用于:
按照从左到右对每一列像素、从上到下对每一行像素的查找方式,查找所述表格点图片中是否存在表格交点;
若存在表格交点,则保存,并记录找到的表格交点的总数;
当所述表格交点的总数大于数量阈值时,结束查找,并对找到的各个表格交点按宽度方向从小到大进行排序;
对排序后相邻的表格交点的宽作差;
若差值小于阈值,则保存相应的表格交点,否则结束作差;
对保存的表格交点按高度方向排序,将高度最小对应的表格交点作为左上顶点,并以同样的原理得到右上顶点、左下顶点、右下顶点。
本实施例中,所述左上顶点、右上顶点、左下顶点、右下顶点的坐标分别为(x1,y1)、(x2,y2)、(x3,y3)、(x4,y4),所述装置还包括:
延伸模块,用于将所述表格点图片的宽度左右延伸delt_w,高度向下延伸delt_h;
第六获取模块,用于获取所述左上顶点的高y1与所述右上顶点的高y2在高度上的差值delt,delt=y1-y2;
若delt<0,则再次修正后的左上顶点、右上顶点、左下顶点、右下顶点的坐标点分别为(x1-delt_w, 0)、(x2+delt_w, -delt)、(x3-delt_w, y3+delt_h)、(x4+delt_w, y4+delt_h);
若delt≥0,则再次修正后的左上顶点、右上顶点、左下顶点、右下顶点的坐标点分别为(x1-delt_w, delt)、(x2+delt_w, 0)、(x3-delt_w, y3+delt_h)、(x4+delt_w, y4+delt_h);
设顶点修正后的图片的宽为W’,高为H’,顶点修正后的图片中左上顶点、右上顶点、左下顶点、右下顶点的坐标点分别为(0,0)、(W’,0)、(0, H’)、(W’,H’),则有:
w1 = ((x1-delt_w-x2-delt_w)2 + (delt-0)2)1/2
w2 = ((x3-delt_w-x4-delt_w)2 + (y3+delt_h-y4-delt_h)2)1/2
W’ = max(w1, w2)
若delt<0,则:
h1 = ((x1-delt_w-x3+delt_w)2 + (0-y3-delt_h)2)1/2
h2 = ((x2+delt_w-x4-delt_w)2 + (-delt-y4-delt_h) 2)1/2
H’ = max(h1, h2)
若delt≥0,则:
h1 = ((x1-delt_w-x3+delt_w)2 + (delt-y3-delt_h)2)1/2
h2 = ((x2+delt_w-x4-delt_w)2 + (0-y4-delt_h)2)1/2
H’ = max(h1, h2)。
本实施例中,所述装置还包括:
第七获取模块,用于对所述矫正后的图片进行灰度化和自适应阈值二值化去噪,并通过膨胀和腐蚀方法识别所述矫正后的图片中的表格横线和表格竖线,以获取只含表格线的矫正后的中间图片。
本实施例中,所述装置还包括:
源文件获取模块,用于获取源文件;
转换模块,用于将所述源文件转换为清晰度不同的第一图片和第二图片,其中,所述第二图片的清晰度大于所述第一图片的清晰度,将所述第一图片作为待处理的原始图片,并对所述第二图片进行文字识别以获取文字内容。
根据上述的图片处理装置,在对原始图片进行灰度化和自适应阈值二值化去噪后,通过膨胀和腐蚀方法识别图片中的表格横线和表格竖线,进而利用表格横线和表格竖线的组合得到网格状的表格线,能够有效避免对表格点进行切割时引起切割出错的问题,此外,通过基于查找封闭轮廓的方法获取中间图片中的单元格封闭轮廓,每个单元格封闭轮廓由最大外接矩形的四个点表示,能够进一步对表格点进行补齐,最后通过仿射变换及表格点图片最外侧四个顶点的位置,确保得到的矫正后的图片中表格的完整性,从而很好的还原表格线。
此外,本发明的实施例还提出一种存储介质,具体是可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一实施例中图片处理方法的步骤。
此外,本发明的实施例还提出一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现第一实施例中图片处理方法的步骤。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。
计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、 “示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。
Claims (6)
1.一种图片处理方法,其特征在于,所述方法包括:
获取待处理的原始图片;
对所述原始图片进行灰度化和自适应阈值二值化去噪,并通过膨胀和腐蚀方法识别所述原始图片中的表格横线和表格竖线,以获取只含表格线的中间图片;
基于查找封闭轮廓的方法获取所述中间图片中的单元格封闭轮廓,以形成表格点图片,每个所述单元格封闭轮廓由最大外接矩形的四个点表示;
获取所述表格点图片最外侧的四个顶点;
通过仿射变换及所述四个顶点的位置,获取矫正后的图片;
获取所述表格点图片最外侧的四个顶点的步骤具体包括:
对每一行像素,按照从左到右、从上到下的查找方式,查找所述表格点图片中是否存在表格交点;
若存在表格交点,则保存,并记录找到的表格交点的总数;
当所述表格交点的总数大于数量阈值时,结束查找,并对找到的各个表格交点按宽度方向从小到大进行排序;
对排序后相邻的表格交点的宽作差;
若差值小于阈值,则保存相应的表格交点,否则结束作差;
对保存的表格交点按高度方向排序,将高度最小对应的表格交点作为左上顶点,并以同样的原理得到右上顶点、左下顶点、以及右下顶点;
所述左上顶点、所述右上顶点、所述左下顶点、所述右下顶点的坐标分别为(x1,y1)、(x2,y2)、(x3,y3)、(x4,y4);在得到所述左上顶点、所述右上顶点、所述左下顶点、所述右下顶点的步骤之后,通过仿射变换及所述四个顶点的位置,获取矫正后的图片的步骤之前,所述方法还包括:
将所述表格点图片的宽度左右延伸delt_w,高度向下延伸delt_h;
获取所述左上顶点的高y1与所述右上顶点的高y2在高度上的差值delt,delt=y1-y2;
若delt<0,则修正后的左上顶点、右上顶点、左下顶点、右下顶点的坐标点分别为(x1-delt_w, 0)、(x2+delt_w, -delt)、(x3-delt_w, y3+delt_h)、(x4+delt_w, y4+delt_h);
若delt≥0,则修正后的左上顶点、右上顶点、左下顶点、右下顶点的坐标点分别为(x1-delt_w, delt)、(x2+delt_w, 0)、(x3-delt_w, y3+delt_h)、(x4+delt_w, y4+delt_h);
设顶点修正后的图片的宽为W’,高为H’,顶点修正后的图片中左上顶点、右上顶点、左下顶点、右下顶点的坐标点分别为(0,0)、(W’,0)、(0, H’)、(W’,H’),则有:
w1 = ((x1-delt_w-x2-delt_w)2 + (delt-0)2)1/2
w2 = ((x3-delt_w-x4-delt_w)2 + (y3+delt_h-y4-delt_h)2)1/2
W’ = max(w1, w2)
若delt<0,则:
h1 = ((x1-delt_w-x3+delt_w)2 + (0-y3-delt_h)2)1/2
h2 = ((x2+delt_w-x4-delt_w)2 + (-delt-y4-delt_h) 2)1/2
H’ = max(h1, h2)
若delt≥0,则:
h1 = ((x1-delt_w-x3+delt_w)2 + (delt-y3-delt_h)2)1/2
h2 = ((x2+delt_w-x4-delt_w)2 + (0-y4-delt_h)2)1/2
H’ = max(h1, h2)。
2.根据权利要求1所述的图片处理方法,其特征在于,通过仿射变换及所述四个顶点的位置,获取矫正后的图片的步骤之后,所述方法还包括:
对所述矫正后的图片进行灰度化和自适应阈值二值化去噪,并通过膨胀和腐蚀方法识别所述矫正后的图片中的表格横线和表格竖线,以获取只含表格线的矫正后的中间图片。
3.根据权利要求1所述的图片处理方法,其特征在于,获取待处理的原始图片的步骤之前,所述方法还包括:
获取源文件;
将所述源文件转换为清晰度不同的第一图片和第二图片,其中,所述第二图片的清晰度大于所述第一图片的清晰度,将所述第一图片作为待处理的原始图片,并对所述第二图片进行文字识别以获取文字内容。
4.一种图片处理装置,其特征在于,所述装置包括:
第一获取模块,用于获取待处理的原始图片;
第二获取模块,用于对所述原始图片进行灰度化和自适应阈值二值化去噪,并通过膨胀和腐蚀方法识别所述原始图片中的表格横线和表格竖线,以获取只含表格线的中间图片;
第三获取模块,用于基于查找封闭轮廓的方法获取所述中间图片中的单元格封闭轮廓,以形成表格点图片,每个所述单元格封闭轮廓由最大外接矩形的四个点表示;
第四获取模块,用于获取所述表格点图片最外侧的四个顶点;
第五获取模块,用于通过仿射变换及所述四个顶点的位置,获取矫正后的图片;
所述第四获取模块具体用于:
对每一行像素,按照从左到右、从上到下的查找方式,查找所述表格点图片中是否存在表格交点;
若存在表格交点,则保存,并记录找到的表格交点的总数;
当所述表格交点的总数大于数量阈值时,结束查找,并对找到的各个表格交点按宽度方向从小到大进行排序;
对排序后相邻的表格交点的宽作差;
若差值小于阈值,则保存相应的表格交点,否则结束作差;
对保存的表格交点按高度方向排序,将高度最小对应的表格交点作为左上顶点,并以同样的原理得到右上顶点、左下顶点、以及右下顶点;
所述左上顶点、所述右上顶点、所述左下顶点、所述右下顶点的坐标分别为(x1,y1)、(x2,y2)、(x3,y3)、(x4,y4),所述装置还包括:
延伸模块,用于将所述表格点图片的宽度左右延伸delt_w,高度向下延伸delt_h;
第六获取模块,用于获取所述左上顶点的高y1与所述右上顶点的高y2在高度上的差值delt,delt=y1-y2;
若delt<0,则修正后的左上顶点、右上顶点、左下顶点、右下顶点的坐标点分别为(x1-delt_w, 0)、(x2+delt_w, -delt)、(x3-delt_w, y3+delt_h)、(x4+delt_w, y4+delt_h);
若delt≥0,则修正后的左上顶点、右上顶点、左下顶点、右下顶点的坐标点分别为(x1-delt_w, delt)、(x2+delt_w, 0)、(x3-delt_w, y3+delt_h)、(x4+delt_w, y4+delt_h);
设顶点修正后的图片的宽为W’,高为H’,顶点修正后的图片中左上顶点、右上顶点、左下顶点、右下顶点的坐标点分别为(0,0)、(W’,0)、(0, H’)、(W’,H’),则有:
w1 = ((x1-delt_w-x2-delt_w)2 + (delt-0)2)1/2
w2 = ((x3-delt_w-x4-delt_w)2 + (y3+delt_h-y4-delt_h)2)1/2
W’ = max(w1, w2)
若delt<0,则:
h1 = ((x1-delt_w-x3+delt_w)2 + (0-y3-delt_h)2)1/2
h2 = ((x2+delt_w-x4-delt_w)2 + (-delt-y4-delt_h) 2)1/2
H’ = max(h1, h2)
若delt≥0,则:
h1 = ((x1-delt_w-x3+delt_w)2 + (delt-y3-delt_h)2)1/2
h2 = ((x2+delt_w-x4-delt_w)2 + (0-y4-delt_h)2)1/2
H’ = max(h1, h2)。
5.一种存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-3任意一项所述的方法。
6.一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至3任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011037257.6A CN111932483B (zh) | 2020-09-28 | 2020-09-28 | 图片处理方法、装置、存储介质及计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011037257.6A CN111932483B (zh) | 2020-09-28 | 2020-09-28 | 图片处理方法、装置、存储介质及计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111932483A CN111932483A (zh) | 2020-11-13 |
CN111932483B true CN111932483B (zh) | 2021-01-08 |
Family
ID=73333658
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011037257.6A Active CN111932483B (zh) | 2020-09-28 | 2020-09-28 | 图片处理方法、装置、存储介质及计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111932483B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113221649B (zh) * | 2021-04-08 | 2023-04-18 | 西安理工大学 | 一种解决有线表格识别与解析的方法 |
CN113808040A (zh) * | 2021-09-09 | 2021-12-17 | 广州方硅信息技术有限公司 | 直播图像的轮廓矫正方法、装置、设备及存储介质 |
CN114862753A (zh) * | 2022-03-17 | 2022-08-05 | 北京梦诚科技有限公司 | 一种自动高精度表格校正方法和系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107229439A (zh) * | 2016-03-24 | 2017-10-03 | 阿里巴巴集团控股有限公司 | 一种显示图片的方法及装置 |
CN110647795A (zh) * | 2019-07-30 | 2020-01-03 | 正和智能网络科技(广州)有限公司 | 一种表格识别方法 |
CN106156761B (zh) * | 2016-08-10 | 2020-01-10 | 北京交通大学 | 面向移动终端拍摄的图像表格检测与识别方法 |
WO2020159574A1 (en) * | 2019-02-01 | 2020-08-06 | Intuit Inc. | Supervised machine learning algorithm application for image cropping and skew rectification |
CN111582085A (zh) * | 2020-04-26 | 2020-08-25 | 中国工商银行股份有限公司 | 单据拍摄图像识别方法及装置 |
CN111611783A (zh) * | 2020-06-18 | 2020-09-01 | 山东旗帜信息有限公司 | 一种图形表格的定位分割方法及装置 |
CN111626146A (zh) * | 2020-05-08 | 2020-09-04 | 西安工业大学 | 一种基于模板匹配的合并单元格表格分割识别方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1937698A (zh) * | 2006-10-19 | 2007-03-28 | 上海交通大学 | 图像畸变自动校正的图像处理方法 |
CN101446938B (zh) * | 2008-12-04 | 2011-10-12 | 金蝶软件(中国)有限公司 | 生成表格的方法和处理装置 |
CN102254171A (zh) * | 2011-07-13 | 2011-11-23 | 北京大学 | 一种基于文本边界的中文文档图像畸变校正方法 |
CN105450900B (zh) * | 2014-06-24 | 2019-01-18 | 佳能株式会社 | 用于文档图像的畸变校正方法和设备 |
CN109029285B (zh) * | 2018-07-06 | 2020-08-28 | 江西洪都航空工业集团有限责任公司 | 融合接触式测量与非接触测量的混合测量方法 |
-
2020
- 2020-09-28 CN CN202011037257.6A patent/CN111932483B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107229439A (zh) * | 2016-03-24 | 2017-10-03 | 阿里巴巴集团控股有限公司 | 一种显示图片的方法及装置 |
CN106156761B (zh) * | 2016-08-10 | 2020-01-10 | 北京交通大学 | 面向移动终端拍摄的图像表格检测与识别方法 |
WO2020159574A1 (en) * | 2019-02-01 | 2020-08-06 | Intuit Inc. | Supervised machine learning algorithm application for image cropping and skew rectification |
CN110647795A (zh) * | 2019-07-30 | 2020-01-03 | 正和智能网络科技(广州)有限公司 | 一种表格识别方法 |
CN111582085A (zh) * | 2020-04-26 | 2020-08-25 | 中国工商银行股份有限公司 | 单据拍摄图像识别方法及装置 |
CN111626146A (zh) * | 2020-05-08 | 2020-09-04 | 西安工业大学 | 一种基于模板匹配的合并单元格表格分割识别方法 |
CN111611783A (zh) * | 2020-06-18 | 2020-09-01 | 山东旗帜信息有限公司 | 一种图形表格的定位分割方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111932483A (zh) | 2020-11-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111932483B (zh) | 图片处理方法、装置、存储介质及计算机设备 | |
US8285077B2 (en) | Automatic correction of digital image distortion | |
CN101452444B (zh) | 手写体信息快速编辑排版方法 | |
JP5451767B2 (ja) | 補間強化シーム操作に基づく画像サイズ変更方法及びシステム | |
JP2608571B2 (ja) | 入力走査画像データのベクトル化のための装置及び方法 | |
CN112115774A (zh) | 结合rpa和ai的文字识别方法、装置、电子设备和存储介质 | |
JP2012243307A (ja) | 入力画像における歪を検出する方法、入力画像における歪を検出する装置およびコンピューター読み取り可能な媒体 | |
JP4395188B2 (ja) | 文書画像認識装置および文書画像認識プログラムの記憶媒体 | |
CN110427946B (zh) | 一种文档图像二值化方法、装置和计算设备 | |
CN110188778B (zh) | 基于影像提取结果的居民区要素轮廓规则化方法 | |
CN110647795A (zh) | 一种表格识别方法 | |
JP2001101426A (ja) | ディジタル画像処理方法 | |
CN111881659B (zh) | 表格图片的处理方法、系统、可读存储介质及计算机设备 | |
CN113688688A (zh) | 图片中表格线条的补全方法与图片中表格的识别方法 | |
CN111626145B (zh) | 一种简捷有效的残缺表格识别及跨页拼接方法 | |
CN114782970A (zh) | 一种表格提取方法、系统及可读介质 | |
US8326045B2 (en) | Method and apparatus for image processing | |
CN111260675B (zh) | 一种图像真实边界高精度提取方法及系统 | |
JP2640673B2 (ja) | パターン認識装置 | |
CN108876701B (zh) | 一种基于游程的单次扫描连通域标记方法及其硬件结构 | |
CN112036294A (zh) | 一种纸质表格结构自动识别的方法及装置 | |
CN114511862B (zh) | 表格识别方法、装置及电子设备 | |
CN110807113B (zh) | 可视化布局中的矩形图元重叠的非迭代消除方法 | |
CN115187744A (zh) | 一种基于激光点云的机柜识别方法 | |
JPH0646408B2 (ja) | 分割画像処理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |