微波EDA网,见证研发工程师的成长!
首页 > 应用设计 > 工业电子 > 水表号码读取系统的设计与实现

水表号码读取系统的设计与实现

时间:06-22 来源:互联网 点击:
2.2.2 硬件电路中的软件设计

本系统将采用DSP所兼容的C语言进行系统的软什开发,包括对信号处理芯片DSP及数字传感器OV7620的初始化等没计,并用TI公司的开发工具CC-Studio完成系统的软件调试工作。本系统在调试过程中将根据采集到图像的实际情况来调整软件程序。水表号码识别的难点在于字轮进位不完整时的识别处理,与平面识别数字的区别在于字轮上数字是在翻动的,因此几个码盘进位一半时容易出错。住识别过程中,有时在视窗中出现的数字可能是半个或是三分之一等情况,这种状态下,识别原则为:一个视窗中出现两个数字,如出现的数字平面大于二分之一,则识别为该数字;如两数字均为二分之一时要根据用户的具体要求来确定以上面的还是以下面的数字为准。由于实际采集到的图像与传统的摄像机拍到的号码图像在清晰度上又有差别,增加了识别的难度,因此在识别前的预处理很重要,如去掉白色噪声点。由于本文采集的图像是针对灰度图的,所以在二值化处理中根据灰度直方图选取阈值,有利于提高水表号码的识别率。

2.3 号码显示模块

VC5416只有两个通用I/O口,即BIO和XF。本系统对主机通信并行接口HPI和多路缓冲串行接口 McBSP进行配置用作通用I/O,即本系统的数据采集和数据输出都是利用I/O口实现的。在显示部分,将DSP的多路缓冲串口改为通用I/O 口,设计了一种低功耗的液晶显示电路,并编辑了液晶驱动程序。

本系统采用金鹏电子公司生产的3.3V电源的OCM12232-4点阵型液晶显示模块,横向有122个点,纵向有32点。它可以显示两行16×16的点阵字符,可同时显示中文字符和英文字母。

由于该点阵型液晶不带字库,故先编写0~9的字库实现了字符的显示。且对OCM12232内部两个控制器SED1520进行写命令或数据的操作,住驱动程序部分设定了显示起始位置、上下行、字符宽度等参量。

3 试验结果

采集图像的条件:OV7620的开窗为200×40mm,光源为普通的白炽灯。

图3的结果发现在5cm左右的物距下采集到的号码图像很模糊且只能采集到2~3个号码,同时发现OV7620采集图像不是沿垂直方向采集,而是倾斜一定角度采集的。


图4根据图3的情况,适当调整了镜头焦距及水表和镜头之间的物距,并调整了光源的亮度。这样采集到的图像较前次清晰且可采集到3~4个号码。


图5所采集到的图像有光斑,其原因是水表盘表面的突起引起的,因此光源的照射位置对采集到图像的质量有很大的影响。


以上试验结果表明,明亮、稳定、均匀的光源很重要,这样才能将被测物与背景明显地区分开来。更重要的是适当调整焦距,图5是在适当的焦距和光源亮度下得到的结果。

本文成功地完成了用CMOS图像传感器OV7620采集水表盘字轮号码。实验结果表明采集到的号码图像达到了预期的效果。本系统将进一步完善识别显示程序并完成系统的最终目标——在硬件采集器中完成号码图像的识别显示。该设计将加快自动抄表的进程,从而克服手工抄表的种种弊端。本设计也适用于其他号码图像的采集识别。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top