基于OpenCV的水表读数研究及其改进算法
- 格式:doc
- 大小:28.00 KB
- 文档页数:9
基于图像处理的智能水表检测系统近年来,人们对于水资源的关注日益增加,水表作为测量水流的重要工具,也越来越受到关注。
随着智能化的发展,人们也开始尝试将智能技术应用到水表检测当中。
基于图像处理的智能水表检测系统应运而生。
一、智能水表检测系统的发展历程传统的水表检测方式多为人工查找和记录水表读数,这种方式存在效率低、精度低的问题。
随着计算机技术和图像处理技术的不断进步,智能水表检测系统逐渐被开发出来。
最初的智能水表检测系统主要是基于人工智能技术,采用模式识别算法对水表进行识别和测量。
这种方式虽然解决了效率和精度问题,但是需要大量的数据集和模型训练,且对算法的优化要求较高。
随着深度学习技术的发展,基于图像处理的智能水表检测系统得以快速发展,其基本流程包括图像获取、图像处理、特征提取和识别等步骤。
二、基于图像处理的智能水表检测系统的优势1.高效性基于图像处理的智能水表检测系统能够快速获取水表读数,并将数据传输到计算机中进行处理。
相比于人工读数的方式,减少了人力资源和时间成本,提高了检测效率。
2.精度高基于图像处理的智能水表检测系统采集的数据具有高精度、高可靠性,减少了人工读数可能存在的误差。
3.大数据分析基于图像处理的智能水表检测系统能够进行数据的大数据分析,对水表使用情况进行监测,能够更加准确地判断和预测设施出现的问题,及时采取正确的行动,保障水资源的安全和有效利用。
三、基于图像处理的智能水表检测系统的应用前景基于图像处理的智能水表检测系统已经在实际生活中得到了广泛的应用,例如在楼宇自动化监控中,可以将智能水表检测系统应用于楼宇的可视化管理,通过实时监测水表的水量使用情况,准确掌握楼宇的用水量和线路数据,进而实现楼宇节能减排和成本控制。
此外,基于图像处理的智能水表检测系统还可以应用于工业生产中,监测流程中重要且变化较快的参数,提高生产效率和质量。
综上所述,基于图像处理的智能水表检测系统是一种高效、高精度的新型水表监测技术。
基于OpenCV和LSSVM的数字仪表读数自动识别林剑萍;廖一鹏【摘要】为了提高仪表读数及记录的工作效率,减少人工干预并降低出错概率,提出了一种基于OpenCV和LSSVM的数字仪表自动识别方法.首先选取免驱的USB摄像头采集仪表图像,然后采用Canny检测与Hough变换相结合的算法对仪表图像的倾斜角度进行校正;利用数学形态学、Otsu算法以及连通域提取对图像进行预处理和字符定位分割;最后,进行字符特征提取并利用最小二乘支持向量机算法对仪表读数进行识别.经过大量的实验验证,与现有的仪表读数识别方法相比,该方法具有更好的准确性,实现了数字仪表的自动识别功能.【期刊名称】《微型机与应用》【年(卷),期】2017(036)002【总页数】4页(P37-40)【关键词】机器视觉;图像处理;OpenCV;最小二乘支持向量机【作者】林剑萍;廖一鹏【作者单位】阳光学院,福建福州350015;福州大学物理与信息工程学院,福建福州350000【正文语种】中文【中图分类】TP394.1目前,在很多领域受工作条件限制及经济性、便捷性的要求,很多用于计量的仪器仪表都没有专门的数据通信接口,导致无法自动识别读数,对仪表数字的读取还是要靠人工来实现,但是在一些特定场合,例如高温高压、化工冶金、高山峭壁、有核辐射等人体不能适应的地方,人工抄表存在很大的危险性及不可行性,而机器视觉却可以无视这些不利因素,广泛地用于长时间恶劣的工作环境,这就为仪表读数的读取提供了便利,同时可以提高工作效率,更好地保障人身安全。
仪表读数识别也可以说是自动抄表,自动抄表的试点和运用始于20世纪80年代,在20世纪90年代得到较快的发展[1]。
目前,国内外许多科技人员在基于机器视觉的数字识别上做了很多深入研究。
从图像预处理、倾斜校正、字符分割及数字识别等方面各有侧重点地做了不同方法的研究比较。
在仪表数字识别方面,工业和信息化部电子第五研究所的申中鸿、蒋春旭等人利用机器视觉技术,结合计算几何轨迹识别方法与D-S证据理论实现数字显示仪表的自动读数;中国计量科学研究院的刘科等人采用投影变换的方法对数字图像进行分割、编码,进而实现了对该类仪表示值的自动读取;山东管理学院的常晓玮利用光学字符识别技术实现了远程识别仪表上显示的数字信息[2-5]。
利用多种投票策略的水表读数字符分割与识别林阳;郭丙轩;肖雄武;牛科科;赵欣;李大军【摘要】基于安卓平台提出了一种对水表图像读数进行自动识别的新方法.水表读数字符分割和识别算法主要包括三部分:①利用霍夫变换和一种投票策略检测出水表的外部轮廓,然后基于模板影像和水表中四个红色指针位置,利用仿射变换技术对水表字符区域进行定位;②对图像进行预处理和连通区检测,提出一种基于投票策略的方法进行字符分割;③在考虑数字字符可能出现粘连噪声和缺失的情况下,使用改进的Tesseract OCR识别引擎对字符进行识别.最终通过NDK编译平台将实现的C++程序移植到Android环境中.经过对100组数据进行系统功能测试,结果表明,水表智能识别系统取得了一定效果,能对水表读数进行比较准确和快速的读取.%An automatic water-meter character recognition method for the water-meter image obtained by the Android mobile phone was proposed.The proposed water-meter character segmentation and recognition algorithm mainly include three parts: ①the Hough transform and a voting strategy were used to detect the external outline of the water-meter, and then the affine transformation technique was used to locate the character region based on the template image and the positions of the four red pointers in the water-meter.②After doing some image preprocessing, the connected regions in the image were detected, and then the character segmentation based on another voting strategy was completed.③ In the case of considering the possible adhesion noise and the partial loss of the characters, the improved Tesseract OCR recognizer was used to do the character recognition.The completed C++ program of the water-metercharacter recognition system is ported to the Android environment through the NDK platform.Experiments conducted on 100 groups of test images showed that our water-meter character recognition system can achieve a certain effect and it can automatically read the water-meter characters accurately and quickly.【期刊名称】《科学技术与工程》【年(卷),期】2017(017)010【总页数】8页(P50-57)【关键词】水表读数识别;投票策略;字符区域定位;字符分割;半字符识别;安卓平台【作者】林阳;郭丙轩;肖雄武;牛科科;赵欣;李大军【作者单位】东华理工大学测绘工程学院南昌 330013;武汉大学测绘遥感信息工程国家重点实验室武汉 430079;武汉大学测绘遥感信息工程国家重点实验室武汉430079;加利福尼亚大学欧文分校数学系美国加州 92697-3875;武汉大学测绘遥感信息工程国家重点实验室武汉 430079;武汉大学测绘遥感信息工程国家重点实验室武汉 430079;东华理工大学测绘工程学院南昌 330013【正文语种】中文【中图分类】TP391.41随着城市规模的不断扩大,城市管理的信息量也越来越大,此时就需要城市信息管理的智能化程度的不断提高。
标准实践一种基于表端识别算法的智能摄像水表研究■ 蒋亨耀 毛谦敏(中国计量大学计量测试工程学院)摘 要:针对目前人工抄读水表难度大、耗时费力等缺点,基于CJ/T 188-2004行业标准提出了一种基于表端图像识别的智能摄像水表抄表方案。
通过在机械水表上安装以STM32为核心的摄像直读模块,采用GC0329芯片采集水表字轮的图片并传输给MCU,利用写入MCU的识别算法将图片数值化,由M-Bus总线通过相应的标准通讯协议将图片和数据传输到上位机进行显示。
测试表明,在-20~70℃黑暗环境下,摄像水表的识别率达到99%以上,具有较高的抄表应用价值。
关键词:摄像直读模块,STM32,识别算法,M-Bus,通讯协议DOI编码:10.3969/j.issn.1002-5944.2021.21.021Research on Smart Camera Water Meter Based on Meter RecognitionAlgorithmJIANG Heng-yao MAO Qian-min(School of Measurement and Testing Engineering, China Jiliang University)Abstract: To overcome the current shortcomings of manual water meter reading, such as it is difficult, time-consuming and labor-intensive, a smart camera water meter reading program using meter end image recognition is proposed based on the CJ/T188-2004 sectoral standard. A camera direct reading module with STM32 as the core is installed on the mechanical water meter to use the GC0329 chip to collect the picture of the water meter word wheel and transmit it to the MCU, and then use the recognition algorithm to digitize the picture. The M-Bus bus uses the corresponding communication protocol to the pictures and data are transmitted to the host computer for display. The test shows that the recognition rate of the camera water meter reaches more than 99% in the dark environment of -20℃-70℃, which has high application value for meter reading.Keywords: camera direct reading module, STM32, recognition algorithm, M-Bus, communication protocol自动抄表(AMR)系统,是指通过计算机技术、通信技术等相关技术对各类仪表的数据进行采集和处理的系统[1]。
水表读数图像识别技术存在的问题分析及改进措施
张圆明;卢其伦;司徒琛;冯文靖
【期刊名称】《给水排水》
【年(卷),期】2021(47)S02
【摘要】对水表读数图像识别技术的国内外研究现状、存在的问题及改进措施进行了详细的研究,分机械式水表、电子式水表进行讨论,为水表读数图像识别技术的研究提供参考。
机械式水表读数的图像识别研究主要分三个方向:视觉识别梅花轮转速(转动齿数、圈数)、机械字轮读数图像识别、动态视觉识别水表指针位置;前两种图像识别方式还在试验阶段,实际使用效果不理想;第三种识别方式已应用于实际检定,取得了较好的效果,大大提升了检定效率。
【总页数】5页(P505-508)
【作者】张圆明;卢其伦;司徒琛;冯文靖
【作者单位】广州能源检测研究院
【正文语种】中文
【中图分类】TU991.63;TP391.41
【相关文献】
1.机电工程施工管理中存在的问题分析及改进措施
2.汽轮机低压轴封系统存在问题分析及改进措施
3.土建工程造价预算存在问题分析及改进措施
4.土建工程造价预算存在问题分析及改进措施
5.干熄焦电气控制系统存在的问题分析及改进与完善措施
因版权原因,仅展示原文概要,查看原文内容请购买。
水表读数识别算法以水表读数识别算法为标题,本文将介绍水表读数识别算法的原理、应用场景以及相关技术。
水表读数识别算法是指通过对水表图像进行处理和分析,从中提取出水表读数的数字信息。
这一算法在水表抄表、智能水务管理等领域有着重要的应用价值。
一、水表读数识别算法的原理水表读数识别算法主要基于计算机视觉和图像处理技术。
其基本原理可以分为以下几个步骤:1. 图像采集:通过摄像头或扫描仪等设备,将水表图像转化为数字信号。
2. 图像预处理:对采集到的图像进行预处理,包括灰度化、二值化、去噪等操作,以便后续的数字识别处理。
3. 特征提取:通过特定的算法和方法,从预处理后的图像中提取出水表读数所对应的数字特征。
4. 数字识别:将提取出的数字特征与预先训练好的模型进行匹配和识别,从而得到准确的水表读数。
水表读数识别算法可以应用于以下几个方面:1. 水表抄表:传统的水表抄表工作繁琐且容易出错,而水表读数识别算法可以通过自动识别水表读数,提高抄表的效率和准确性。
2. 智能水务管理:借助水表读数识别算法,可以实现对大量水表的自动抄表和数据管理,为水务管理部门提供及时、准确的数据支持。
3. 節水監測:水表读数识别算法可以用于监测用户的用水情况,帮助用户发现用水异常和节约用水。
三、水表读数识别算法的技术水表读数识别算法涉及到多个技术和方法,下面介绍几种常见的技术:1. 图像处理:包括图像的灰度化、二值化、边缘检测、形态学处理等,用于提取图像中的数字信息。
2. 特征提取:通过图像处理技术,提取出水表读数所对应的数字特征,如数字的形状、轮廓等。
3. 模式识别:通过构建模型和训练样本,利用机器学习和模式识别的方法,实现对水表读数的准确识别。
4. 深度学习:利用深度神经网络等技术,可以实现对水表读数的高精度识别和自动化处理。
四、水表读数识别算法的挑战与发展方向水表读数识别算法在实际应用中还面临一些挑战,如光照条件、水表图像质量等因素的影响。
基于机器视觉的水表检定方法研究发表时间:2019-07-22T15:41:31.020Z 来源:《基层建设》2019年第13期作者:郭立明1 刘祥茹2 罗巍3 [导读] 摘要:针对现有水表检定装置检定效率低、信息管理功能不足等问题,对水表指针识别、消除气泡影响、检定台自动化改造等方面进行了研究,提出了一种基于机器视觉的水表在线检测系统。
1.身份证号码:23023119820412XXXX 黑龙江省哈尔滨市 150000;2.身份证号码:23233219891022XXXX 黑龙江省哈尔滨市150000;3.身份证号码:23010419840927XXXX 黑龙江省哈尔滨市 150000摘要:针对现有水表检定装置检定效率低、信息管理功能不足等问题,对水表指针识别、消除气泡影响、检定台自动化改造等方面进行了研究,提出了一种基于机器视觉的水表在线检测系统。
采用距离法读取水表指针读数,通过模板匹配,旋转校正水表图像,利用极坐标变换,将子表盘展开成矩形,并集成二维码识别模块,实现了对水表的检定与数据保存;设计了上行走机构带动相机移动拍照,使用单个相机完成了5个工位水表图像的采集。
研究结果表明:与人工肉眼读表和手工记录读数方法相比,该检测方法能确保水表的检定精度,同时提高了检定效率,并且检定数据可溯源。
关键词:距离法;水表检定;机器视觉引言在供水领域,水表是使用最广泛的计量仪表,我国目前大量使用机械式水表。
在机械式水表生产时,水表的误差检定是保证水表质量的一个重要环节,目前多数水表生产厂家普遍采用人工检定方法,该方法不但检定效率低,而且结果易受人工因素影响。
为提高水表的检定效率和检定精度,许多企业都在尝试寻找新的检定方法,总体上大致可分为两类:1)对传统手工检定装置进行部分升级改造,实现检定操作的自动或半自动化;2)使用激光传感器或机器视觉技术替代人工读数;读数有分为读码盘示数、读指针示数和读梅花针转动圈数。
基于机器视觉技术的水表新型检定方法基于机器视觉技术的水表新型检定方法摘要:随着社会发展和科技进步,水表作为用于测量和计费水量的重要设备,其准确性和稳定性对于水资源管理具有重要意义。
传统的水表检定方法依赖于人工操作,存在检定效率低、误差较大等问题。
本文提出了一种基于机器视觉技术的水表新型检定方法,以提高水表检定的效率和准确性。
1. 引言水是人类生活中必不可少的资源,在水资源紧缺的情况下,合理管理和使用水资源至关重要。
水表作为测量和计费水量的主要工具,其准确性和稳定性对于水资源管理和计费具有重要意义。
传统的水表检定方法依赖于人工操作,存在效率低、人为误差大等问题,需要一种更加高效准确的水表检定方法。
2. 机器视觉技术在水表检定中的应用机器视觉技术是一种能够模拟和实现人类视觉功能的技术,具有高效、准确、自动化等特点。
在水表检定中,通过使用机器视觉技术,可以实现对水表计数器的自动识别,准确地读取水表读数。
具体的应用包括:2.1 图像采集使用高像素、高分辨率的相机设备对水表计数器进行拍摄,保证图像的清晰度和细节度。
同时,为了提高检定效果,可以在图像采集过程中引入多角度拍摄或视频采集的方式,以获取更多信息。
2.2 图像处理对采集到的水表计数器图像进行预处理,如去除噪声、增强对比度等。
然后,使用图像处理算法来提取并识别计数器上的数字和刻度,以获取水表读数。
2.3 特征提取通过特征提取技术,可以将水表读数与实际水量进行关联。
例如,通过检测水表上的刻度间距并结合实际水表参数,计算出每个刻度对应的水量,从而获得更精确的水表读数。
2.4 计算误差通过与标准水表对比,可以计算新型检定方法的误差。
根据误差的大小,可以对水表进行调整,以提高其准确性和稳定性。
3. 实验与分析为验证基于机器视觉技术的水表新型检定方法的有效性,进行了一系列实验。
实验结果表明,相比传统的人工检定方法,新型检定方法具有更高的准确性和更快的检定效率。
数字图像处理课程实验报告题目______基于数字图像处理的水表指针识别_姓名______丁超超_____李崇辉_____________________学号______3090401095 3090401101 ___________分院(系) 信息科学与工程分院专业班级_______通信093_____________________________指导教师王一刚__________________完成时间2011年12月26日摘要随着计算机技术的日新月异,为数字图像处理的发展提供了广阔的空间。
该系统是基于Windows平台的图像处理系统,运用MFC的设计思想,通过VC++实现系统框架,实现了对图像的操作。
目前数字图像处理对象涉及到我们社会生活中许多领域,本文设计的是水表指针识别系统来实现识别水表指针的读数,从而可以通过计算机而不需通过人工的抄表来读取水表读数,大大减少了人的工作量,并提高了水表读数的准确度。
通过将近两个月的查阅,设计和编程,我们利用VC++平台来对水表图像进行处理,并最终读取水表的读数。
其中,我们用到了图像预处理的边缘检测(Prewitt算子)和阈值分割,并用Hough变换找到水表指针的回转中心。
本文就是围绕着上述方法展开系统的分析和实践。
关键词:图像处理系统; MFC; 水表指针识别;图像预处理;边缘检测;阈值分割; Hough变换目录摘要 (2)一、绪论 (4)1.1数字图像处理的历史及应用 (4)1.2 本课题研究的意义 (5)1.3本文工作研究的主要内容 (7)二、国内外研究现状 (8)2.1图像的边缘检测 (8)2.2图像的阈值分割 (9)三、系统具体实现和实验结果分析 (10)3.1 系统流程图 (10)3.2 系统具体实现 (11)3.2.1图像的预处理 (11)3.2.1.1图像的边缘检测 (11)3.2.1.2图像的阈值分割 (12)3.2.2 快速Hough变换检测圆 (12)3.2.3 图像指针的检测 (15)3.3 实验结果分析 (16)四、结论 (16)五、参考文献 (16)一、绪论1.1数字图像处理的历史及应用数字图像处理(Digital Image Processing)又称为计算机图像处理,它是指将图像信号转换成数字信号并利用计算机对其进行处理的过程。
基于图像处理的水表数字识别算法研究作者:吕权来源:《科技创业月刊》 2016年第1期吕权(武汉科技大学理学院湖北武汉430065)摘要:针对目前我国大部分地区仍采用人工抄表的方式来计算用水量的现状,提出一种水表数字智能识别算法。
通过识别算法对经过处理的水表表盘数字图像进行识别,以达到提高效率和降低成本的目的,具有广泛的应用背景。
该算法对获取的表盘图像使用大津法和自适应阈值的方法进行二值化处理,通过计算最大连通域的方法,使得噪声降到最低,以达到识别的要求。
实验结果表明,本算法可以有效的改进了识别的准确率和成功率。
关键词:大津法;自适应阈值;最大连通域中图分类号:TP391 文献标识码:Adoi:10.3969/j.issn.1665-2272.2016.01.0390 引言图像识别的发展大致经历了三个阶段:文字识别、图像处理和识别及物体识别:文字识别的研究是从1950年开始的,一般是识别字母、数字和符号,并从印刷文字识别到手写文字识别,应用非常广泛,并且已经研制出许多专用设备。
图像处理和识别的研究始于1965年,前期研究对象主要为照相技术和光学技术,随着科学技术的发展,当前更多研究的是利用计算机技术来进行图像处理和识别。
计算机图像处理不但可以消除图像的失真和噪声等问题,还可以通过图像增强和复原技术,对图像进行判读、解析与识别,例如航空照片的解析、遥感图像的处理与识别等。
物体识别是对三维世界的认识,属于虚拟现实研究的一个重要领域,它对图像的前期处理要求要弱一些,但需要对周围环境建立模型,进而获取较为准确的现实距离信息。
自动化技术的发展,使得以前的体力劳动转向智力劳动,尽管机器人的研究非常盛行,还只限于视觉能够观察到的场景。
进入80年代,计算机视觉、人工智能的研究已成为新的众多研究者追求的方向。
数字图像识别技术在各行各业中得到了广泛应用,极大的方便了人类生活,实现了工作方式向自动化或半自动化的转变,提高了生产效率。
基于OpenCV的水表读数研究及其改进算法作者:陈国平来源:《科技创新导报》2017年第18期摘要:该文针对日常生活中较为常见的水表系统,采用拍摄照片的方式,获取其读数的图像,采用相关的方法对其进行分割处理,并对分割后的单字图片,采用传统的SVM方式进行数字识别,并对此进行改进,对于两者的识别准确率进行对比分析。
在此基础之上,针对于读数中可能出现的半字图像,尝试性地提出一种基于二值化和HOG+SVM的识别方式,并在实验中取得了较为不错的实验结果。
关键词:模式识别读数识别图像分割 HOG+SVM 半字识别中图分类号:TP391 文献标识码:A 文章编号:1674-098X(2017)06(c)-0078-06Abstract:This paperis aimed at the system of water meter.We use the photos of meter and use methods to split the photos. Then we use HOG and LBP to extract the feature of pictures.Then use SVM to train and predict the pictures and compare the accuracy among different method. Based on this, we find a method based on HOG and image binaryzation to recognize the pictures of half word and experiment it.Key Words:Pattern recognition; Automatic indication recognition; Image segmentation;HOG+SVM; Recognition of half word1 研究背景水是生命之源,是人类赖以生存的自然资源,在经济高速增长的今天,水资源短缺制约着城市的发展。
为了方便管理城市居民用水,城市供水部门为每户居民安装入户的机械水表,监控居民用水,并依据用水量收缴水费。
目前,供水部门或企业都是雇用专门的抄表员来抄取水表读数,每月抄取一次。
人工抄表有其天然的弊端,首先对于大型城市,需要雇用大量抄表人员,需要付出不小的人力成本和时间成本。
其次人工抄表难免会发生错误,抄错现象难以杜绝,并且还需对纸质资料进行整理,也是一项费时费力并且容易出错的任务。
最后人工抄表不够实时,不能及时掌握居民或者企业用水情况,所以对于一些紧急情况,如严重漏水、偷水现象等不能及时处理,给供水部门带来严重损失。
随着监控技术和计算机技术的发展,使得远程自动抄表成为可能。
摄像直读水表是其中一种技术方案,其利用在传统水表上加装微型摄像头,定时拍摄水表表盘并传递给服务器,然后在服务器端对表盘图像进行图像分析,自动识别出水表读数,从而完成远程自动抄表。
这种方案不需要更换原有水表,并且图像资料可以作为留底凭证,所以受到市场广泛欢迎。
该文将研究该远程抄表方案中核心的水表读数识别技术,完成整套识别算法的设计,验证算法可行性,并且优化算法,提高算法的识别准确率,同时考虑到多种图片情况,使得该识别算法可以真正应用到实际方案中。
2 主要研究内容远程自动抄表系统主要由现场采集子系统和服务器识别子系统构成。
现场采集子系统的主要功能是采集水表到表盘图像,并发送给服务器,需要考虑的问题有现场组网、设备供电、设备防水以及设备可靠性等方面,同时需要保证采集到的图像清晰规范。
服务器识别子系统的主要功能是识别表盘图像的读数,并存入数据库,需要考虑的问题是识别算法的准确率、识别算法效率和对不同输入的冗余等。
该次研究主要是根据合适的水表读数识别流程,寻找最优的模式分类方法,包括以下四个方面的研究内容。
2.1 图像去噪研究改善图片的视觉效果,提高图片清晰度,消除图像中的噪声点,从而避免对后续分割和识别步骤造成的不必要影响。
2.2 图像矫正研究在一些情况下(如采集仪器位置偏移)会有图片倾斜扭曲的情况,需要对图片进行矫正,才能提高识别的准确率。
2.3 字符分割主要研究如何将水表读数字符精确地从图片中分离出来,作为识别过程的输入。
2.4 字符识别对分割出来的字符进行精确的识别,并研究不同分类方法在识别率、性能方面的差异。
3 主要流程图水表读数识别流程见图1。
4 数据获取因为该项目为一个实际项目的初级版本,所以该项目的的图像数据来源于真实水表的读数图像。
该项目在上海设有2个试验点,即两个小区,共包括40几块水表,在每块水表上安装了一个微型摄像装置,定时对水表表盘进行拍摄,之后将图片通过网络来远程传输至服务端进行分析识别。
由于目前尚属于项目初期,因此试验点较少,所拍摄的水表读数图像数目较小,对于实验的结果会产生一定的影响。
5 图像预处理5.1 图像灰度化灰度化的实质是将红、绿、蓝3种通道的颜色值进行加权求和,得到像素间只有在亮度上差异的黑白图片。
但注意到水表图像在读数部分是黑白的,所以首先提出图像的黑白部分。
另外,当图像的RGB值较为接近时可以认为是黑白部分。
所以该文使用了如下的灰度化算法。
由于黑色和白色在各通道间的方差小,所以能很好地提取黑白区域,灰度化效果如下。
由图2可看出灰度化处理能较好地将数字凸显出来。
5.2 图像去噪由于在水表拍摄和图片传输过程中,不可避免地会造成噪点,造成噪点的主要原因有曝光过长或JPG格式图片在压缩过程中产生的噪声点等,由此,噪声中以“椒盐”噪声居多,去除噪声的方法是对图片进行滤波操作,如均值滤波、中值滤波、高斯滤波等。
该文采用的是中值滤波的方式,中值滤波能有效克服因偶然因素造成的干扰,同时可以保护图像尖锐的边缘,是广泛采用的滤波方法。
图3是使用中值滤波前后的效果对比图。
可以看到,滤波后的图像噪声点明显减少,图片变得更加清晰,并且边缘信息得到了保留和突出。
6 字符分割6.1 二值化得到灰度图像后,字符区域已经比较明显,下面使用Otsu阈值来实现二值化。
Otsu Threshing方法是一种基于自适应阈值实现二值化的方法,其最重要的部分是寻找图像二值化阈值,使用类间方差达到最大,然后根据阈值将图像分为前景或者背景。
利用Otsu可以得到图4的二值化效果。
6.2 形态学操作二值化图像后,会产生很多突出的边缘以及粘连的轮廓,这时我们利用一些形态学操作进行处理。
形态学的基本操作包括腐蚀和膨胀,腐蚀缩小图中的连通区域,膨胀放大图中的连通区域。
这里使用了腐蚀操作,用来分割出读数区域,避免因光线或者其他因素造成其他区域与读数区域的粘连。
腐蚀以图5为例。
6.3 检索轮廓轮廓信息是图像中的重要特征,利用轮廓信息,我们可以将读数区域从表盘图像中分割出来。
利用OpenCV提供的轮廓检测方法可以很方便地计算图片的轮廓信息(即图像边缘),函数findContours是用于计算轮廓信息的函数,输入二值化图像,输出轮廓集合,每个轮廓是轮廓点集合。
有了轮廓信息,我们需要对轮廓进行筛选,筛选出读数区域的轮廓,这里可以制定多种规则,如轮廓的形状、位置和面积等信息,可以根据实际情况提供多种选择。
该文首先从二值图像中检索轮廓,然后计算各个轮廓的最小外接矩形,接着过滤出符合条件的矩形。
可以看出,一般的水表图片读数都在靠中间的位置,且矩形的面积较大,长宽比在一定的范围以内。
通过这些筛选,大部分情况下可以确定读数所在的区域。
见图6。
得到读数区域后就能够提取出读数区域,从原图中提取该区域见图7。
6.4 字符切分从图7可以看出,得到的局域并不精确,左右还留有一些无用的区域,接下来需要对区域图像进行纵向切分。
我们假设读数所在区域都完整地出现在图片中,那么每个数字的宽度应该是相同的,但是不能简单的固定分割。
因为数字之间留有较多的空白,数字区域不一定位于图像中心,所以我们的算法是枚举读数的起始位置和每个数字的宽度,分别检测数字之间间隔区域的RGB值之和,最大的即为分割结果。
图8是分割的结果示例。
7 数字识别算法介绍7.1 支持向量机该文采用了支持向量机(Support Vector Machine,SVM)作为主要的图像识别算法,其原理在于寻找特征空间上使间隔最大化的超平面,使得样本不同分类间的样本间隔最大化,这样训练出来的分类模型更具通用性。
见图9。
当样本线性不可分时,可以将样本映射到更高维的空间上,在高维空间上可以做到线性分类即可,然后寻找高维空间中的分类超平面。
向高维映射的过程可通过核函数隐藏。
对于多类问题,该文采用OpenCV中的C_SVM作为分类器。
这是一种n类的分类器,它可以处理多类问题,并且不要求样本完全线性可分。
其核函数采用高斯核函数(RBF),核函数的相关系数通过多次试验寻找最佳的方式来确定。
7.2 HOG特征7.2.1 算法简介HOG(Histogram of Oriented Gradient)是计算机视觉领域中常用的图像特征,它在物体检测、人脸检测等方面得到广泛应用。
2005年,法国研究人员最早提出了利用HOG+SVM的方式进行行人检测,取得了不错的效果,在此基础上,越来越多的研究人员对HOG特征进行研究,并结合SVM提出多种优化的行人检测算法,但基本都是以HOG+SVM的思路为主。
该文也利用了HOG特征作为识别分类器的特征输入。
和其他图像特征相比,HOG特征有诸多优点。
其将图像分为众多的小方格,计算每个方格内部的梯度信息,它对图像几何的和光学的形变都能保持很好的不变性。
在水表应用中,这两种形变恰恰是经常出现的。
7.2.2 算法流程HOG特征提取方法如下所示。
(1)灰度化:由于图片颜色信息的作用较小,因此通常首先将图片转化为灰度图。
(2)归一化:对生成的灰度图进行归一化,调整图像的对比度,降低光照不均匀和阴影带来的图像差异,常用的归一化方法是Gamma校正法,对灰度图像进行调整。
(3)计算梯度:扫描图像中的每个像素点,计算水平梯度和垂直方向的梯度,然后可以求得该点梯度的大小和方向。
(4)计算方格的特征:将图像分割成细小的方格(cell),例如3×3大小,按照梯度的方向统计cell像素的大小和个数,便得到方格的特征(descriptor)。
(5)计算区块的特征:进一步多个方格组合为一个区块(block),例如,3×3个cell组成一个区块,区块中所有方格特征组合起来便成为block的特征。
(6)计算图像的特征:经过分割,一个图像由多个区块构成,将图像中所有区块的特征组合起来便成为图像的HOG特征,作为分类器的输入。
7.2.3 算法流程图HOG特征算法流程图见图10。