序
前面几篇文章都是偏理论的,这篇文章则是偏实践的,本文使用C#+EmguCV开发一个仪表自动读数系统,目前该系统能够识别圆形的温度表、气压表以及方形的电流、电压表,误差控制在0.1%左右。
系统概述
仪表自动读数系统是指通过机器视觉等图像处理方法,对摄像头采集到的指针式仪表进行分析,自动识别仪表示数的系统。其主要目的是代替人工读数,减小工作量,提高工作效率,同时能够实施反应设备的工作状态,让其处于最佳的运行状态。故该系统应该满足以下要求:
(1) 实时性
能够实时读取输入图像,并分析计算仪表示数。
(2) 准确性
能够保证在误差允许的范围内准确的读取示数。
(3) 鲁棒性
够适应不同环境以及不同仪表种类的读数。
(4) 稳定性
系统应该保持长时间运行稳定,不会经常出现运行异常等意外而停止。
本篇文章在前面的理论研究以及对仪表图片进行测试的基础上,实现了一个仪表自动读数系统,该系统能够对视频图像以及摄像头采集到的图像进行实时读数。系统默认使用了本文提出的RSCD圆检测算法进行表盘定位,默认使用RGS指针检测算法进行指针的定位,同时支持Hough圆检测、Hough直线检测以及CTM进行定位,并针对刻度起始点的确定问题,提供自动检测和手动标记两种模式。
架构与流程
一个仪表自动读数系统,应该包含输入模块、图像处理模块、读数模块、配置模块以及UI模块。其中各个模块的用途如下:
**输入模块:**用于仪表图像的采集以及传输。本文使用无线摄像头作为输入设备,USB或者局域网作为传输媒介。
**图像处理模块&#
如果觉得《指针式仪表自动读数与识别(八):仪表自动读数系统设计与开发》对你有帮助,请点赞、收藏,并留下你的观点哦!