ocr之splitLine()函数
- 该函数的功能是为实现对每行的文字分段而设计的。流程如下:
一. 针对时间格式,提前取出来
def processTimeStr(timeFound,lineText):
- 该函数是针对每行的文本lineText中的时间格式,提前取出来
- 其中,用正则表达式匹配,匹配到各种时间格式就标记为elemList[i]['Delete'] = 1,然后判断有Delete键的字符就删除,这样elemList就剩下去掉时间格式之后的文本。
二. 删除时间以及英文单词之间的以外的空格
三. 先把上下多行有重叠部分的摘出来,这个不必进行分段,默认为同段
四. 对于非重叠的,则进行分段,依据各字符之间的间隔的不同作为分组条件
五. 求gap,先摘出所有字符紧挨着的gap,赋予groupId = -1,剩余的不紧挨的,按gap排序,然后一次赋值0 1。。。
六. 根据gapList中的groupId进行分组,按照顺序从左到右,遇到groupId不同的,就是分组边界,最后,再按照每组中的第一个元素的x坐标,进行组排序