1、基于摄像表的图像分析处理以及识别算法研究黄振亚(苏州自来水表业有限公司)0 引言随着网络技术的发展,科技的进步,人们的生产生活方式得到了很大的改善。对于所有的传统行业而言,都面临着巨大的挑战和机遇,相对于传统的水表行业也同样面临着诸多问题比如说:抄表难,人情难,智能抄表可能与用户的读数不符而导致的核对麻烦。现在市场上存在着脉冲表以及直读表等智能水表,功能上比原有的水表进步很多,但是仍然存在着读数不准确,易受干扰等问题。本文提出一种新的方案,旨在增加一个摄像头以及含有单片机的主板的新型智能识别读数的。以解决供水公司以及用户之间读数不相符以及智能识别的等问题。1. 识别方法简介本方案中主要针对的是
2、智能远传水表。本文着重讲述智能识别水表部分,智能远传水表现阶段主要分为脉冲式和直读式。1.1. 水表识别方式国内远传水表从上世纪80年代开始研制,早期水表结构为以磁铁和干簧管为主,水表转动一定流量,磁铁吸引干簧管,从而产生一个信号脉冲,将这个脉冲采集后累加从而得到读数,行业中称之为分线制远传水表。后来又发展了脉冲式和直读式两种方式。脉冲式远传水表原理主要有干簧管,光耦,以及磁感应元件,当水流流过时这些都能产生脉冲信号,这种水表要求电路对脉冲信号实时采集后者不断休眠唤醒后采集状态休眠,才能大道计数的目的;光电只读方式水表是把水表的字轮做出较大的调整,通过光电管的发射和接收或者电阻值的大小来判断字
3、轮的状态,根据字轮的状态即可读出水表的读数,即通过直接读取的方式采集水表的数据,该方式平时不工作,旨在读取时瞬时工作。摄像表以原来的机械机构统统不变,只是在字面上方加装摄像模块,然后单片机对图像进行处理识别。1.2. MATLAB算法介绍该设计主要研究基于MATLAB软件的字轮窗设别系统设计,系统主要包括图像采集、图像预处理、字轮数字定位、字符分割、字符识别五大核心部分。系统的图像预处理模块是将图像经过图像灰度化、图像增强、边缘提取、二值化等操作,转换成便于字轮数字定位的二值化图像;利用字轮数字的边缘、形状等特征,再结合Roberts 算子边缘检测、数字图像、形态学等技术对字轮数字进行定位;字
4、符的分割采用的方法是将二值化后的字轮数字部分进行寻找连续有文字的块,若长度大于设定的阈值则切割,从而完成字符的分割;字符识别运用模板匹配算法完成。以上每个功能模块用MATLAB软件实现,最后识别出字轮数字,在研究设计的同时对其中出现的问题进行具体分析、处理,并寻求更优的方法。2. 详细算法介绍识别系统采集图片主要是利用摄像模块拍摄获得的。拍摄照片时应注意一下几点:2.1. 拍摄的图片应包含字轮窗。2.2. 闪光灯位置居中,字面不得太光滑2.3. 摄像头与字轮尽量平行3. 图像预处理3.1. 流程综述为了更能够准确的进行字轮窗的定位和分割,字符识别必须经过图像预处理,图像预处理可以提高图片的适用
5、性。原始图像不只是包括字轮窗,还有字面本身和其他一些背景,所以必须去掉这些非字轮窗图像的影响,才有可能正确的提取出字轮窗的区域,为进行下面的字轮字符识别打下基础。由于本系统设计使用的图片是生产线上制作完成,摄像机与字面的矩离和角度等因素的影响,使图片存在各种各样的噪声。字轮图片可能出现模糊、歪斜和缺损等严重问题,因此需要对原始图片进行预处理,以改善图像的质量,提高字符识别率1。下图3.1流程图简要的概述了图像预处理的基本步骤:读取图片平滑处理图像灰度化提取边缘图3.1 图像预处理流程图3.2. 图片灰度化未经处理的原始图片包含着大量的颜色信息,不但占用存储内存很大,而且在运行过程中也会降低系统
6、的速度,因此要将彩色图片转变为灰度图片,以加快系统执行速度。由彩色转换为灰度的过程叫做灰度化处理,灰度图是指只包含亮度信息,不包含色彩信息的图像。经过灰度变换后的图片,像素的动态范围增加,图像的对比度增强,使图像变得更加清晰、细腻、容易识别。彩色图片分为R、G、B三个分量,分别显示红、绿、蓝等各种颜色,灰度化就是使彩色的R、G、B分量相等的过程。灰度值大的像素点比较亮(像素值最大为255,为白色),反之比较暗(像素值最小为0,是黑色)。本设计的灰度图片变换的实现采用了rgb2gray函数,代码为I1=rgb2gray(I)。原始图像、灰度图和直方图如下:RGB灰度变换图3.2.1原始图像、灰度
7、图和直方图3.3. 图像增强图像增强的目的是对图像进行加工,得到更能准确提取字轮边缘,从而准确定位字轮的图像。对图像进行灰度化处理之后,字轮部分和非字轮部分图像的对比度并不是很高,由于字轮界限较为模糊,难以提取出字轮边缘。为了增强字轮部分图像和其他部分图像的对比度,使其明暗鲜明,有利于提高识别率,需要将图像进行增强。图片3.3.1先进行的灰度拉伸对比增强图像的方法有很多,如灰度变换、图像平滑处理和线性滤波等,根据处理图像域又可分为空间增强与频域增强。目前用于字轮图像增强的方法有:灰度拉伸、直方图均衡、中值滤波、高斯滤波、邻域滤波、图像腐蚀、多图像平均、同态滤波等2。图像的获取和传输过程中原始图
8、像会受到各种噪声的干扰,由于噪声点多在频域中映射为高频分量,使图像质量下降。为了抑制噪声、改善图像质量,要对图像进行平滑处理。图像平滑处理的方法主要有空域中求邻域平均值,邻域平均值的平滑处理会使得图象灰度急剧变化的地方,尤其是物体边缘区域和字符轮廓等部分产生模糊作用。为了克服这种平均化引起的图象模糊现象,我们给中心点像素值与其邻域平均值的差值设置一固定的阈值,只有大于该阈值的点才能替换为邻域平均值,而差值不大于阈值时,仍保留原来的值,从而减少由于平均化引起的图像模糊。 图像平滑的目的是为了消除噪声。噪声消除的方法又可以分为空间域或频率域,亦可以分为全局处理或局部处理,亦可以按线性平滑、非线性平
9、滑和自适应平滑来区别。图像的平滑是一种实用的数字图像处理技术,一个较好的平滑处理方法应该既能消除图像噪声,又不使图像边缘轮廓和线条变模糊,这就是研究数字图像平滑处理要追求的目标。一般情况下,减少噪声的方法可以在空间域或频率域进行处理,主要有邻域平均法、中值滤波法、低通滤波法等,邻域平均法即通过提高信噪比,取得较好的平滑效果;空间域低通滤波采用低通滤波的方法去除噪声;以及频域低通滤波法通过除去其高频分量就能去掉噪声,从而使图像得到平滑1。3.4. 定位与分割以及图片归一化由于摄像模块对于字面一旦安装完成就不再改变,字轮窗相对的像素位置也就固定了,也就是摄像表一旦安装完成之后只需要定点切割就可以了
10、。对图像横方向象素点累加,就可以明显看到字轮窗的起始位置以及终止为止的纵坐标,图3.4.1行方向象素点灰度值累加和有图可以明显看出字轮窗纵坐标起始位置92 终止位置163,然后进行图片分割图3.4.2 图像分割结束之后的二值图像以及原图像图3.4.3选取图像分割点对图像纵方向象素点累加,就可以明显看到字轮窗的起始位置以及终止为止的横坐标,由图可以看出五个字轮的横坐标其实以及终止位置图3.4.4图像归一化3.5. 字符识别目前已经提出的字轮字符识别的方法3有以下几种: (1) 模板匹配字符识别算法。模板匹配字符识别算法的实现方法是计算输入模式与样本之间的相似性,取相似性最大的样本为输入模式所属类
11、别。该方法识别速度快,但是对噪点比较敏感。在实际应用中,为了提高正确率往往需要使用大的模板或多个模板进行匹配,处理时间则随着模板的增大以及模板个数的增加而增加。 (2) 统计特征匹配法。统计特征匹配法的要点是先提取待识别模式的一组统计特征,然后按照一定的准则所确定的决策函数进行分类判决。实际应用中,当字符出现字符模糊、笔画融合,断裂、部分缺失时,此方法效果不理想,鲁棒性较差。(3) 神经网络字符识别算法。主要有两种方法:一种方法是先对待识别字符进行特征提取,然后用所获得的特征来训练神经网络分类器。其中,字符特征的提取是研究的关键,特征参数过多会增加训练时间,过少会引起判断上的歧义。另一种方法是
12、充分利用神经网络的特点,直接把待处理图像输入网络,由网络自动实现特征提取直至识别。这种网络互连较多,待处理信息量大,抗干扰性能好,识别率高。但是产生的网络结构比较复杂,输入模式维数的增加可能导致网络规模庞大。(4) 支持向量机模式识别算法。支持向量机(Support Vector Machine ,SVM)是Vapnik 及其研究小组针对二类别的分类问题提出的一种分类技术,其基本思想是在样本空间或特征空间,构造出最优平面使超平面与不同类样本集之间的距离最大,从而达到最大的泛化能力。主要有两种方法应用于字符识别:一种是先对待识别字符进行特征提取,然后用所获得的特征来训练SVM分类器。另一种是直接
13、将每个字符的整幅图像做为一个样本输入,不需要进行特征提取,节省了识别时间4。 这四种方法中,模板匹配是字轮字符识别最简单的方法之一,神经网络字符识别算法是目前比较流行的算法,本系统设计是采用模版匹配算法进行字符识别。 基于模板匹配的字符识别基本过程是:首先对待识别字符进行二值化并将其尺寸大小缩放为字符数据库中模板的大小,然后与所有的模板进行匹配,最后选最佳匹配作为结果。模板匹配的主要特点是实现简单,当字符较规整时对字符图像的缺损、污迹干扰适应力强且识别率相当高。建立自动识别的代码表读取分割出来的字符第一个字符与模板中的模板进行匹配第二个字符与模板中的模板进行匹配待识别字符与模板字符相减,值越小
14、相似度越大,找到最小的一个即为匹配的最好的识别完成,输出此模板对应值依次进行后三个字轮的匹配4. 结束语随着人工成本提高以及国家提出的经济增长方式的转变,针对水表智能化的采集提出了更高的要求,高性能的采集高可靠性的方法成为了必然,图像采集处理以及识别不仅可以运用在大口径水表同样可以运用于小口径水表,小口径水表一般情况下只是传输识别后的数字一般不传输图像文件,当对水表读数产生疑义的时候可采用后续传输图片的方式进行核对,而大口径水表在传输数字的同时把分割好的图片传输,这样既减少了传输数据的信息量大大提高了数据的稳定性。参考文献:1: 王雪.车牌图像预处理及识别算法研究J.机电产品开发与创新,2010,(6):9-12.2: 车牌识别系统的研究背景意义及国内外研究现状 DB/OL.3: 王敏,黄心汉等.一种模板匹配和神经网络的车牌字符识别方法J.华中科技大学学报,2001,(3):10-12.4: 陈虹.汽车车牌的自动检测与识别J.交通建设与管理,2009,(11):4-12.