字符定位与字符分割

(转发的这篇文章,关注的重点是字符定位的思路,具体代码实现,基本就好办了)

Abstract字符串识别最重要的是字符串定位以及字符串分割。例如做车牌识别,车牌字符定位和分割是最难的部分。对于一张字符串的图像,首先必须要定位出字符串的边界,然后分别对字符串进行单个切割,单个分割出来的字符再做识别。 下面就介绍字符串定位和字符串分割的方法。

1. 字符串定位 
下面先看一幅手写字图片 


我们需要做的是找出整个字符的边界然后对图片进行切割。 
对于一张M×N大小的图片I,我们先对图片进行二值化处理。一张图片可以看成一个矩阵,这样这个矩阵里面的数字不是1就是0。我们需要对这个矩阵进行行扫描和列扫描。对于列扫描和行扫描统计一行或者一列中1的个数分别有如下公式: 
colA=Mj=1Ij 
rowA=Ni=1Ii 
这样就统计出每一列或者每一行的1的个数。下图为统计图: 

这下我们可以定义出左边界、右边界、上边界、下边界。这样就可以切割出字符串的边界如下图所示: 

2. 字符分割 

对于字符分割我们只看X方向,对于X我们可以看到很多断点,如下所示 


我们可以统计出断点的位置来对不同字符进行分割,两个段点之间能进行确定一个字符。当然这个只是针对未粘连的字符,但是对于粘连字符断点可以设置一个小的阈值来当做断点。这个需要根据实际处理的字符串来判断。下面给出结果和代码: 

展开阅读全文

没有更多推荐了,返回首页