论文部分内容阅读
数字仪表以其精度高、读取方便、易设置等优点在工业和检测领域得到了广泛的应用。但由于某些仪器仪表并没有提供与计算机进行数据通信的接口,要实现检测自动化,需要利用数字图像处理技术来实现仪器仪表读数的高速自动识别。在此基础上,本文设计了一套可以识别仪器仪表数字的智能监控系统。该系统可以将在智能监控系统软件上播放摄像机传回的网络视频流,设置需要识别的仪表区域并用计算机实时完成仪器仪表数字的识别,将识别的结果实时显示到监控软件的界面上。此外,该软件还可以将识别的结果以Excel的形式保存下来,方便工作人员的统计和分析。该系统使用MFC完成界面设计,使用波利提供的SDK完成连接网络摄像机,读取网络摄像机传回的视频流的功能。读取到回传的视频流后,利用DIB位图显示功能和MFC提供的定时器功能完成监控视频的播放。根据现有监控设备获得仪表数字质量低,有严重的光晕的情况,认真设计了图像增强算法。实验证明,该算法能有效去除图像噪声,为下一步的字符识别打下基础。在字符识别方面,使用了粗网格特征提取的方法对字符进行特征提取,并使用神经网络完成字符识别。实验证明,该方法能准确的识别出0到9这10个字符,速度快,准确率高。该智能监控系统使用OpenCv完成了倾斜校正,图像增强,字符提取,特征提取算法的实现,并利用OpenCv提供的BP神经网络完成字符的学习和离线识别功能。在MFC中,利用多线程编程方法将字符识别算法加入到智能监控系统,并使用临界区完成多线程之间的同步问题。使该智能监控系统拥有字符识别的能力。同时设计了类CListCtrlEx完成识别字符在智能监控系统软件上显示的功能。此外,该智能监控软件使用OLE/COM设计并完成Excel报表生成的功能。实验表明:使用MFC和OpenCv设计软件对监控场景中的仪表数字进行识别是完全可行的,该软件能有效降低人力成本;本文设计的软件功能和操作性完全符合设定的软件设计目标,软件的运行合格,在操作过程中没有出现报错或命令无法加载的情况。而且该软件字符识别精度高,漏报、错报情况少,同时,该软件占用系统资源较少,使用少量的PC机就可以覆盖大量的仪器仪表。