图像处理在仪表自动化中的应用

1.项目描述

利用摄像头采集仪表盘的信息,对采集到的图片信息进行识别,

2.实现的过程

2.1 模板匹配法

提取0-9 十个数字的模板,进行归一化,模板大小为高50*宽30像素。对摄像头拍到的图像信息,先进性灰度化处理,高斯平滑,二值化处理,再进行形态学处理之后,通过找寻图像中的连通区域,可以找到若干个连通区域,当然有很多不包含数字的连通区域,可以根据找到的连通区域的大小进行过滤,而且可以进一步根据连通区域的先验知识,如长宽之比来过滤,增加准确性。这样找到的连通区域的并不是按照从左到右的顺序,找到之后,可以根据x的坐标进行排序,在识别的过程中就是按照正常的读数的顺序。在识别的过程中采用的是模板匹配的方法,对测试样本,分割之后,进行归一化处理,与模板图像做异或运算,统计出现的1的次数,次数最多的模板就是测试图像的类别。刚开始基于一块电表的图像做实验,准确率为60%,分析错误的原因,数字和5和数字6,数字6,数字8,和数字0,这两组数字容易被识别错,但是模板匹配的主要优点是速度快。后来分析数字5和数字6之间的区别,用漫水填充算法对测试图像进行处理,然后与原测试图像做差值运算,如果是5的话,差值运算的结果应该是0,如果是6,差值运算有响应的数值。可以将5和6分开。0,6,8这三个数字的区别可以采用相同的思路,但有点区别,6的上半部分没有孔洞,可以先进性漫水填充算法,如果上半部分没有变化,则是6,剩下再区分0和8,直接统计中间部分区域的像素个数,可以将0和8区分开。经过二次处理之后,识别率将近100%。

2.2 SVM分类

模板匹配的速度虽然快,但是通用性不强,事先需要提取模板。而采用SVM机器学习的方法,可以避免这种问题,SVM对小数据集的分类效果比较理想,opencv里面有现成的svm函数可以调用,进行简单的配置就可以使用了,很方便。直接用模板匹配提取的模板,每个数字一个样本,共十个训练样本,特征向量直接采用二值图像的像素分布,准确率可以达到70%以上,增加训练的数量,识别率上升明显。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值