APP下载

基于边界特征的字符分割

2021-01-09王雪迎

关键词:字符灰度边界

王雪迎

(抚顺职业技术学院 初等教育系,辽宁抚顺113122)

一幅需要被检测的图像中包含了很多区域,有需要被检测的目标区域,有背景区域,还有包含许多信息的无用区域.处理图像没有必要考虑整幅图像的所有部分,对于背景区域和无用区域我们可以将其去除,这就需要用到图像分割技术.图像分割是一门很重要的技术,其目的就是减少后续部分(如图像分析、识别等技术)需要处理的数据量.比如手写数字识别技术中,在识别字符之前需要将字符区域分割出来,而图像中往往会含有多个字符,所以我们不仅需要将字符区域分割出来,还要将每个字符单独分割[1].经过对手写字符进行边界特征提取的预处理之后,图像的数字区域已经十分明显,每个数字都边界清晰,内部饱满,充分满足图像分割的条件,所以本研究的目的是要将图像中的每个字符分割出来.本文研究基于数字的边界特征分割法,首先沿着Y方向统计每行的像素点累计和,设定合理的阈值,确定数字区域的高度,然后在已经确定的高度内,统计X方向每列的像素点累计和,再次设定阈值,至此就可以实现数字区域定位与分割.

1 数字区域定位

数字定位算法是指在实际图像中确定数字区域的位置以便提取分割出数字区域图像的方法.定位算法应用广泛,手写数字识别技术中关键的步骤之一就是定位出数字区域,这一步属于经典的图像分割问题.

数字定位算法多种多样,但是目前仍然没有一种数字定位算法能够无视复杂环境的干扰,通用于各种环境[2].常用的定位算法有以下3种:(1)基于直线检测的方法;(2)基于阈值化方法;(3)基于灰度边缘检测方法.通常,一幅图像的目标图形与背景区域存在很大的对比度,且目标边缘的灰度变化也存在一定的变化规律.基于灰度边缘检测方法就是利用这一特点对图像进行边缘检测的,梯度最大的地方就是图像灰度值变化比较大的地方,Roberts算子、Prewitt算子和Sobel算子是这种方法比较常用的算子.本文研究运用基于灰度的边缘检测方法进行字符区域定位.

经过手写字符的边界特征提取的图像预处理后,图像的边界特征被很好地展现出来,图像边缘清晰平滑.二值化处理后的图片可以看成一个像素矩阵,里面的数字不是1就是0,需要利用灰度边缘检测方法对这个矩阵进行行扫描和列扫描.对于行扫描和列扫描统计一行或者一列中“1”的个数分别有如下公式:

(1)

(2)

由公式(1)和(2)可以统计出每一行或者每一列的中“1”的个数.具体步骤如下:

(1)确定图像中数字区域的高度范围.首先对图像进行自上而下地逐行扫描,由于图像为二值图像,黑色为0,白色为1,而形态滤波后的图像背景为黑色,数字为白色,因此统计每行中“1”的个数便可以得到数字区域的高度范围[3].

如图1所示,从该图像中可以清晰地看到每行中“1”的个数,而曲线两端累计为0,说明两端之外的部分不存在“1”,也就是非数字区域,由此可以得到数字区域上下两端的行值,进而得到数字区域的高度范围.

(2)确定图像中数字区域的宽度范围.确定数字区域的宽度范围的方法与确定高度的方法相同,首先对图像从左至右逐列扫描,并计算出列方向像素点灰度值累计和,如图2所示.虽然图像中的曲线被分为3个部分,但是依然存在数字区域的左右边界,左右边界就是整个曲线的左端点和右端点,依据左右端点所在的列值即可以确定数字区域的宽度范围.

(3)通过以上两个步骤得到了数字区域的高度范围和宽度范围,由这两个范围便可以定位出手写数字的位置,并且可以根据此位置信息切割出数字区域[4].图3便是定位并切割后的图片.

2 字符分割

一幅手写数字图像通常由多个数字组成,简单的数字识别算法并不能将聚在一起的多个数字识别出来,所以就必须将每一个字符单独分割出来.

字符分割是在数字分割的基础上进行,二者原理相似.字符的高度与分割后的数字区域的高度相同,所以不再对分割后的图像进行行分割.每个字符之间具有一定的间距,这个间距是分割的关键.在已经被分割出来的数字区域内按照从左到右的顺序进行逐列扫描,当检测到第一个列像素累计之和不为0时,这个像素点就是第一个字符的左边界,并以此为起点分割第一个字符;

再继续扫描,当检测出某一列的像素累计之和为0时,这个像素点就是第一个字符的右边界,此时第一个字符分割结束;然后继续扫描,不断地检测像素和为0和不为0的列,并记录列值,扫描到图像的最右端则字符分割结束.这样就得到了每个字符比较精确的范围.在图2中可以看到整个曲线被分为3个部分,每个部分都存在两个端点,这两个端点所在的列值就是每个字符的左右边界,这样就可以成功地把字符分割出来,分割后的字符如图4所示.

3 归一化处理

归一化处理是指将图像划分为统一大小的算法,其目的就是保证图像大小一致,方便观察,利于计算.本文的识别算法为BP神经网络算法,它要求所有输入的图像必须具有相同的尺寸,因此,对于本文而言,归一化更是不可或缺的一个步骤.该算法在字符分割和识别过程中起到一个承接的作用.

归一化方法主要有线性归一化和非线性归一化两种.前者广泛应用于字符识别中,具体的操作方法是:首先通过比较归一化前后的尺寸得到变换系数,然后把图像中的点映射到原图像中,再通过变换系数把图像变为规定的大小.这种方法操作简单,但归一化过程中如果不考虑字符的形变比例,可能会引起图像的形变,影响识别效果.非线性归一化方法则可以很好地规避图像形变问题,但计算复杂,耗费时间多.

本文运用归一化处理将图片尺寸统一为128×128像素,归一化结果见图5.

4 结语

本文研究手写数字识别技术中的字符分割技术,属于手写数字识别的中间模块,起到承上启下的作用,分割结果的好坏对数字的识别效果有很大的影响.本文两次运用基于灰度边缘检测方法成功地将每个字符分割出来,分割后的图像效果良好,最后运用归一化算法将图像像素统一为128×128像素.归一化后的图片输入到BP神经网络中,即可实现高效、快速识别.

猜你喜欢

字符灰度边界
采用改进导重法的拓扑结构灰度单元过滤技术
拓展阅读的边界
探索太阳系的边界
Bp-MRI灰度直方图在鉴别移行带前列腺癌与良性前列腺增生中的应用价值
意大利边界穿越之家
字符代表几
一种USB接口字符液晶控制器设计
图片轻松变身ASCⅡ艺术画
HBM电子称与西门子S7-200系列PLC自由口通讯
论中立的帮助行为之可罚边界