浅谈复杂场景下利用聚类的文字分割算法
2021-07-08贾茂盛李绍铭王勇王子
贾茂盛 李绍铭 王勇 王子
安徽工业大学电气与信息工程学院 安徽 马鞍山 243000
引言
在复杂场景下分割非常困难,本文提出的方案是先预处理得到灰度图,接着进行二值化,进行一些形态学操作去除噪声,此时可以大概将图像前景与背景分离开,自然场景的图像中的文字大多倾斜,利用投影法得到大致文字区域,利用分水岭算法框出大致范围并分割,这时会出现细分和未分割出来的字符,利用kmeans算法进行聚类,从而准确分割目标文字,为后续OCR识别提供输入。
1 相关研究
在现有文字识别分割算法中,主要有以下几种。
1.1 分水岭算法
所谓分水岭算法,是根据分水岭的构成来考虑图像的分割。现实中我们可以想象山有湖的景象,当然在需要的时候,要人工构筑分水岭,以防集水盆之间的互相穿透。而区分高山与水的界线,以及湖与湖之间的间隔或都是连通的关系。分水岭算法一般有以下几种优点:①计算速度快;②对物体的微弱边缘响应强。可正是由于对物体的微弱边缘响应过强,容易过度分割,从而提取失败。
1.2 K-means聚类算法
K-means聚类算法[2],它采用距离作为相似性的评价指标,即认为两个对象的距离越近,其相似度就越大。该算法认为类簇是由距离靠近的对象组成的,因此把得到紧凑且独立的簇作为最终目标。其原理简单,且易于实现,但其缺点也是十分显著,如收敛较慢,时间复杂度高。
从以上结合多种算法的优缺点分析来看,无论采用哪一种单独的方案均不可行。
2 算法概述
2.1 算法总体设计
本文采取了一种基于聚类[3]的文字识别及分割算法,具体流程图如图1所示。
图1 算法流程图
2.2 图像预处理
复杂环境下干扰极大,原图如图2(a)所示,故需要图像预处理,这相对于文字分割及识别而言是不可缺少的组成部分。二值化,腐蚀以及膨胀是可以增强文字部分的一些手段,二值化大致分开前景与背景,次而利用腐蚀和膨胀[4]去除周围毛刺,填充中间空洞,加强文字间的联系,预处理后如图2(b)所示。
图2 预处理前后对比图
2.3 投影初分割
投影法是基于像素分布,通过灰度图及二值化是图像前景和背景分开,通过累加像素值与给定阈值比较,从而利用水平投影找到图像上下文字区域,再利用垂直投影找到左右大致文字区域,如图3所示。
图3 投影初分割图
由上图可看出文字区域被大致分割开,但有很多字不仅未被分开,且未识别,不满足于需求。
2.4 分水岭最大值抑制
分水岭算法是一种图像区域分割法,在分割的过程中,它会把和临近像素间的相似性作为重要的参考依据,从而将在空间位置上相近并且灰度值相近的像素点互相连接起来构成一个封闭的轮廓[5]。最大值抑制取超过所设阈值,当采用分水岭算法后和最大值抑制算法之后,我们可以得到如下图4。
图4 分水岭最大值抑制效果图
可见,文字区域得到一定的划分。
2.5 K-means聚类终分割
k-means算法前文已介绍,在此便不做赘述,我们仅关注于应用此算法之后的结果,如图5所示。
图5 最终效果分割图
3 算法性能比较
为了进一步验证本文算法的可靠性,将前文所提及的单独聚类算法及正交投影法进行了对比,识别率取前十次实验的平均值,结果如图6所示。
图6 算法性能对比图
4 结束语
通过对图像进行预处理,结合投影法对图像进行初分割,进而进行分水岭算法及最大值抑制对图像进行次分割,最终通过k-means算法对图像进行终分割,得到可被OCR模型识别的图像,此套算法可处理复杂背景下的图像,且具有极高的准确度及其速度,效果显著。