2018-03-15
验证码识别中的字符分割算法有哪几类?
首先了解下什么是字符分割?字符分割是指从背景中将单个有意义的字符提取出来,以便下一步的字符识别算法对单个字符进行逐个识别。字符分割的目的是分割出可以进行分类识别的单个字符,那么一块图像区域是否是一个字符图像,这又必须通过某些特征识别来确定,而识别又以分割为前提,这就是说分割和识别是相互依赖,不能完全分开的。字符分割部分是整个OCR系统的核心部分,分割的好坏直接影响了分割出的单个字符所携带信息的完整性,影响单个字符的识别率,从而影响整个系统的识别率。 根据分割和识别相结合的紧密程度,可以把字符分割算法分为以下类:
1、投影分割法:它是利用隔行字符之间的空白以及两个字符之间的列空白来分隔字符,字符图像经过二值化和去噪后,以像素点为单位逐列扫描图像,累加该列值为0的像素点,累积结果即为该列的垂直投影。对图像的所有列扫描完毕后记得得到整幅图像的垂直投影图。在垂直投影直方图中由于字符的分界处灰度值为0的像素点很少,故投影后该处表现为很低的波谷,因此可以设定阀值,将统计值小于阀值的列座位字符分割的界限,这样就完成了字符的垂直定位。
2、字符的整体识别法:一般针对英文单词的识别,考虑到单词的整体识别都以词表为识别驱动的,在整体词法上寻求单词整体上的最佳的切分。
3、图像分析法:首先分割出一个图像的区域,这个区域可能包含一个字符,或者是多个字符、字符的一 部分等:然后进行识别,识别完之后再次优化重组。其效果好坏的评判标准就是分割出的子图是否具有一个字符该有的属性。例如高度、宽度等,以及与相邻子图的距离。
4、根据模板库中模板匹配进行分割法:分割和识别有一定的交互性,这种方法的评判标准时识别结果的可信度,甚至还包括词法,语法层面上的可信度。