1、指针式仪表自动读数系统设计摘要伴随模式识别技术、计算机技术等多个技术不停完善和发展,机器视觉取得了巨大进步和发展。现在在很多企业中,存在着大量仪表,仪表读数全部要靠人来完成,工作量很大而且误差率相对来说比较高,基于这个原因,设计了一个工业生产线在线检测数据数字化处理系统。首先经过摄像头采集仪表图像,经过传输装置以无线方法把图像传输到电脑上,然后在电脑上经过matlab程序设计,处理图像,读取仪表数据,然后用labview调用matlab程序,并设计一个显示界面,经过界面能够看到实时数据和仪表图像和在一段时间内数据改变情况。最终经过labview访问access数据库,将读取数据传入数据库中,便
2、于被调用,最终实现检测数据数字化处理。关键词:机器视觉 图像处理 Matlab LabviewOnline testing data of industrial production line digital processing system designAbstract With the development of computer technology and pattern recognition technology,machine vision technology makes a great progress and develop-ment.At present,there
3、are a lot of instrument in many enterprises.in-strument reading work need people to complete.So there are a lot of workto do and efficiency is very low,as the same time,error rate is quitehigh.For this reason,there design a online testing data of industrial production line digital processing system.
4、First of all,there need to takePicture by camera.next,through transmission device in wireless way to transmit the image to a computer. Then by matlab programming on the compu-ter,data processing images, read the meter.And then call matlab by labview and design a display interface.Through the interfa
5、ce can see the real-time data.At last,through labview access access database,and take the data into database.Finally,realize the testing data of the digital processing.Keywords: Machine vision image processing Matlab Labview目 录1.序言11.1课题背景11.2课题研究现实状况11.3设计目标和意义21.4设计需要处理问题32. 工业生产线在线检测数据数字化处理系统总体方案
6、设计42.1设计方案42.2可行性分析43. 工业生产线在线检测数据数字化处理系统设计综述53.1图像采集和传输装置设计53.1.1图像采集53.1.2图像传输系统53.1.3图像采集和传输系统设计83.2图像处理和仪表数据读取93.2.1图像预处理103.2.1.1图像滤波去噪103.2.1.2图像增强123.2.1.3二值化处理133.2.1.4边缘检测和图像分割163.2.2指针识别173.2.3读数识别183.3数据显示界面设计193.3.1数据显示界面前面板193.3.2数据显示界面程序框图213.4数据库建立214. 结论24致谢25附录一 matlab图像处理程序25附录二 la
7、bview程序框图36参考文件371.序言1.1课题背景多年来,伴随科学技术进步,很多新兴技术不停产生和发展,机器视觉技术也伴随图像处理等技术发展而逐步产生,而且发展很快。近些年来,世界范围内涌现了很多专门从事机器视觉技术企业,有很多企业得到了很好利润。现阶段,中国机器视觉技术即使刚起步不长时间,不过,也有几家企业在这方面取得了不错成绩,而且发展速度也很快。所谓机器视觉是以经过处理图像达成类似于人眼视觉效果,提升工作效率减轻人工作负担,为最终目标。相比于人类视觉,首先机器视觉不会出现疲惫现象,而且机器视觉识别精度能够比人眼识别精度还要高部分。现在,很多领域中全部出现了机器视觉技术影子,这也表现
8、出了机器视觉技术研究价值。关键应用领域有:医学领域、工业检测领域、监控管理、航天领域等。当机器视觉技术应用于工业检测领域时,能够实现工业生产线在线检测数据自动读取,提升读数正确性,有效减轻人负担,立即正确发觉问题、处理问题。进入二十一世纪后,电子类仪表应用越来越多,正确度更高数字式仪表大有替换传统指针式仪表趋势。不过,数字式仪表在一些情况下不能使用,对环境适应性比较差,比如,在读数快速改变时候就不适合使用了,而且,相比于指针式仪表来说,数字仪表价格相对较高,大批量购置成本会上升很多。指针式仪表则能够适适用于很多场所,环境原因对其约束相对来说不大。除此之外,指针式仪表还有很多其它优点,比如,抗干
9、扰性强,防尘,防水等,所以我们国家很多行业中,尤其是那些严禁易燃易爆场所,比如电力、石油、化工等,指针式仪表仍然是首选,在环境恶劣场所,根本无法使用数字式仪表。在通常工厂中,指针式仪表数量大、种类多,这些仪表读数十分麻烦,而且工作量很大,工作效率很低。传统上大家是检定指针式仪表方法是人工判读,不过这种判别方法会受到很多人为原因干扰,比如人观察仪表角度、疲惫强度和观察距离,含有工作强度大,误差率大等缺点,不能实现仪表读数和检测自动化。每个仪表全部需要依靠人来瞄准,每个仪表操作也需要依靠人来完成,这种方法工作量大,效率低。 为了缩短检测时间,有效减轻工作人职员作强度 ,提升检测工作自动化水平,设计
10、工业生产线在线检测数据数字化处理系统是很有必需。利用机器视觉技术,能够实现仪表图像采集、识别和仪表数据读取,而整个设计关键就在于怎样用图像识别方法识别仪表,读取数据。1.2课题研究现实状况 工业生产线在线监测数据数字化处理系统设计关键是使用图像识别方法识别仪表,指针式仪表读数识别研究起步相对来说较晚,1994年,sablatnig等人提出了利用hough变换来检测指针式仪表读数方法1 Sablatnig, Robert, Kropatsch, Walter G. Automatic Reading of Analog DisplayInstruments.Conference on Patte
11、rn Recognition, 1994, 1:794-797.。1995 年,韩国 Kyong-Ho Kim 等人成功实现了对核装置数字表图像分割,采取方法是区域划分和阈值法,最终采取一系列方法,建立一个完全自动化仪表识别系统2 Kyong-Ho Kim, Sung-Li Chen, Yong-Bum Lee, Jong Min Lee. A Study on Analog and Digital Meter Recognition Based on Image Processing Technique. Journal of the Korean Institute of elematic
12、s and Eleatronics, 1995, 9(32):79-94. 。Correa Alegria等人完成了利用机器视觉技术对指针式仪表检定,整个过程为,首先使用摄像头采集图像,然后采取减影法处理图像,保留图像,然后利用霍夫变换检测直线,识别指针,而且读出指针角度然,最终,依据指针角度经过计算,得到指针读数3 F.C0rreaAlegria,A.Cruzz.Serra.Automatie Calibration of Analog and Digital Measuring Instruments Using ComPuter VisionJ.IEEE Transaction on I
13、nstrumentation and Measurement,49(l):94一99.。孙凤杰等人提出一个新提取指针方法,这种新方法适合较差光照条件下使用,从而处理了光照条件对指针分割约束问题,取得了很好识别效果4 孙凤杰,安田江,范杰清,杨春萍,徐征. 电力变压器温度表指针位置识别研究J. 中 国电机工程学报,27(7): 70-75.。拂晓和王厚枢设计了一个飞机座舱仪表读数识别系统,这个系统首优异行图像二值化,关键利用小波变换来提取指针及刻度,而且成功去除了光线和多种外部噪声对整个读数系统影响,检测出指针和刻度后,找到仪表圆心,测量出指针角度,找到指针角度和读数关系,并成功读取数据,这个系
14、统识别精度很高,完全高于人眼识别,而且成功实现了在线测试5 拂晓,王厚枢.飞机零位检测系统中座舱读数识别法团.南京航空航天大学学报,1996, l(28):106-112.。周洪和钟明慧成功实现了指针式仪表数据自动读取。这种读数方法突破了距离限制,能够远距离经过读取到仪表读书,而且读数正确,延迟也很小,能够在线测试,整个系统安装也很简单,而且成本也很低,对于部分危险场所仪表读数含相关键现实意义6 周洪,钟明慧.工业过程显示数字处理和视频传输.仪表仪表学报(增刊), 4(24):359-361.57。,杨晓敏等人设计了一个新识别方法,这种方法原理和车牌识别远离很相同模,是一个高斯混合模型识别方法
15、7 杨晓敏,何小海,吴炜等.基于高斯混合模型车辆字符识别算法.光电子激光, 4:487-490.。何智杰等人设计了一个新仪表读数识别方法,这种新方法尤其适合精度很高指针仪表,这个方法中关键利用了霍夫变换和中心投影分析法,这种方法能够实现刻度全自动识别,而且还提升了识别精度和速度8 何智杰 , 张彬 , 金连文 . 高精度指针仪表自动读数识别方法 J. 计算机辅助工 程 ,15(3): 9-18.。宁志刚等提出一个可应用于高精度指针仪表读数方法,该方法原理是利用脊波来提取仪表图像中直线,可实现自动跟踪判读9 宁志刚, 汪仁煌, 唐冬, 李貌. 基于图像处理高精度仪表判读方法J. 传感器和微 系统
16、,25(3): 32-37.。1.3设计目标和意义 对于大多数指针式仪表,尤其是正确度比较高仪表检验,仍然需要经过人来实现,这其中夹杂了很多人为原因,不一样人对于同一个仪表可能会读出不一样数据,对于正确度比较高仪表,会有比较大误差率,而且人会出现视觉疲惫,增加了数值被读错可能性,造成人为误差。所以,设计一个能自动读取指针式仪表读数系统,就能够大大降低人工作量 ,降低工作强度,提升读数正确性,提升工作效率。工业设备能耗参数指标体系建立后,经过计算机就能够清楚了解到各设备能耗情况和工作状态立即正确发觉问题,这么能够降低能源消耗,优化能源结构,提升能源利用率,提升生产效率,含有良好经济效益和社会效益
17、。1.4设计需要处理问题对组成工业生产线在线检测数据数字化处理系统多种软硬件进行综合设计,硬件部分包含摄像头、图像传输设备、图像接收设备选择;软件部分包含对接收到图像进行处理相关程序,读数显示界面相关程序。研究正确读取仪表数据方法:取得较高质量表盘图像,有效把指针检测出来,提升读数正确性。.数据显示界面设计:能够看到此时此刻仪表图像和对应表盘读数,能够看出仪表读数在一段时间内改变情况。2. 工业生产线在线检测数据数字化处理系统总体方案设计2.1设计方案工业生产线在线检测数据数字化处理系统关键由图像采集装置、图像发射和接收装置、图像处理部分和用户端等部分组成。设计方案以下所表示: 目标仪表 图像
18、采集 发射器 接收器 计算机 图像滤波去噪 图像增强 图像二值化 数据库 用户端 边缘检测 图像处理 图像分割 指针识别 读数识别 图2-1 总体方案 图像发射和接收装置采取是无线影音发射器,图像处理部分是由matlab来完成,而用户端则是由labview来设计。2.2可行性分析经过摄像头能够采集到清楚图像,无线影音传输器可实现图像远距离传输,用matlab程序能够处理图像,读取数据,labview是一个程序开发环境,能够实现显示界面搭建,所以,该方案可行。3. 工业生产线在线检测数据数字化处理系统设计综述3.1图像采集和传输装置设计3.1.1图像采集表盘图像采集选择是探头摄像头,该摄像头参数
19、以下图所表示,该摄像头拥有六颗直径5mm红外灯,能够实现夜拍功效,视频线选择铜芯铜网全铜视频线,确保传输图像不受干扰。 图3-1 摄像头参数3.1.2图像传输系统图像传输选择是无线影音传输器,无线影音传输器是一个能够把图像和声音无线传输到电脑上无线设备,该装置以下图所表示。 图3-2 无线影音传输器无线影音传输器共有六个部分:发射机、接收机、全向天线、音视频线、12V2A电源和12V1A电源。表3-1是发射机技术参数,表3-2为接收机参数。 表3-1 发射机参数 发射频率3W可用频道8CH工作频率2370MHz-2510MHz频率调制方法FM/FSK视频制式PAL/NTSC音频输入阻抗1K视频
20、输入阻抗75视频输入电平1Vp_p工作电压12V工作电流550m-600mA工作温度-20C-120C工作湿度85%RH 表3-2 接收机参数接收天线7DBi全向天线可用频道8CH工作频率2370MHz-2510MHz频率调制方法FM/FSK接收灵敏度-90dbm音频输入阻抗1K视频输入阻抗75视频输入电平1Vp_p工作电压12V工作电流150mA-200mA工作温度-20C-120C工作湿度85%RH 无线影音传输器特点以下:含有微波抗干扰功效比很好;传输和接收品质好,接收到图像清楚稳定;多个频率定制,适应不一样电磁环境;能够在同一地方使用八套,信号不会相互干扰能够传送信号包含DVD、VCD
21、、CD、电视、录像等等;含有广泛应用范围;传输距离远;经济实惠;维护简单方便,可配合移动电源供电。该传输器安装方法为:把发射器(2A)和电源适配器连接起来将,然后通电,假如红灯亮了,则说明发射器通电成功。将另一电源适配器接于接收器输入端(1A),接上电源,红灯亮,则证实接收机通电成功。把摄像头和发射器用音/视频线连接起来,接收器连在显示器上,把发射器和接收器频道选择开关调到同一位置,经过显示器能够看到摄像头传来画面,完成安装。 图3-3 传输器安装示意图视频采集卡选择是4路USB视频采集卡,以下图所表示,该视频采集卡含有以下功效:该采集卡带有4路视频,4路音频,录像D1,回放D1;支持电脑操作
22、系统,XP系统,Win7系统;支持网络远程监控,自带动态域名,设置简单;能够支持多个录像模式,如手动录像,定时录像等;每路可单独设置工作时间表,支持可编程定时录像,循环录像;支持画面捕捉、画面保留和画面备份功效;支持远程回放功效。 图3-4 视频采集卡 3.1.3图像采集和传输系统设计图像采集和传输系统设计有两种方案,以下图所表示。方案一:摄像头+电源+支架+BNC接头+无线接收器+USB采集卡+电脑+显示器方案二:摄像头+电源+支架+BNG接头+无线接收器+USB采集卡+硬盘录像机+硬盘+显示器在电脑上操作愈加灵活方便,而且图像处理也是在电脑上进行,所以,选择方案一。 图3-5 传输系统设计
23、示意图经过在工厂实地测试,该图像采集和传输系统能够实现无线传输功效,而且含有一定抗干扰性,下图所表示图片是在工厂中距离仪表大约100米远楼上所接收到图片。 图3-6 工厂实地测试接收画面3.2图像处理和仪表数据读取3.2.1图像预处理 在图像采集过程中,会受到很多干扰,包含本身和外界,比如,外界光照条件影响,摄像头像素高低,仪表表盘清洁程度和多种振动及噪声干扰。受到很多干扰后得到照片可能会是模糊,可能无法获取我们需要信息,要想得到有用信息就必需想措施去掉这些干扰。我们经过摄像头到图像全部是彩色,里面蕴含了大量信息,处理起来相当繁琐,而且计算也很复杂,轻易出现错误,所以为了处理简单,必需要把彩色
24、图片转化为蕴含信息比较少灰度图片。这些全部是要经过图像预处理来实现,图像预处理目标是去除图像上噪声,降低图像信息,简化运算,为图像处理打好基础。图像预处理包含:图像滤波去噪,图像增强,图像二值化,边缘检测和图像检测。3.2.1.1图像滤波去噪 图像在采集、获取和传输过程中,几乎全部图像全部会收到不一样程度噪声污染,这些噪声有是可见,有是不可见,有噪声污染在图像上表现很显著,有则是难以觉察。对于不一样地点,信噪比是不一样,信噪比越大,图像质量则越好,但当信噪比低于一定数值时,噪声将会变成人眼可见颗粒状,图片就会变得模糊起来,图片质量也会对应下降。更关键是,噪声所产生颗粒有可能会掩盖我们需要信息细
25、节,因为在工厂中采集图像过程中,噪声污染是不可避免,而且噪声污染表现在视觉上也是比较显著,所以必需要对图像进行滤波去噪处理,因为摄像头所采集到照片是彩色,数据量很大,计算复杂,处理起来轻易犯错,而颜色信息对于最终读数是没有影响,所以,为了简化运算,使图像处理变得先对简单,在滤波去噪之前,先要对图像进行灰度化处理,然后再进行滤波,在本设计中采取是中值滤波,中值滤波10 于殿泓. 图像检测和处理技术M. 西安: 西安电子科技大学出版社, : 103-169.起初是用于一维信号处理,以后很快被应用到二维图像处理之中。所谓中值滤波,简单地说,就是全部像素根据数值大小排列起来,然后取中间值作为整个图像灰
26、度值。 中值滤波是在很多地方全部能够被用到,相对来说,原理也比较简单,是一个非线性滤波,它采取是一个包含奇数个点滑动窗门,最终整个窗口灰度值是窗口中灰度值中间值。它原理以下,对于一个一维序列选择滑动窗口长度为m,对这个一维序列进行中值滤波,从输入一维序列之中根据次序取出m个元素,其中,i代表滑动窗口中心位置,=,将这m个数按数值由大到小排列起来,找出中间数作为滤波输出数值,数学表示式为: (3-1) 上式中,表示是取序列中值。比如,有这么一个一维序列11,20,16,24,29,次序列由小到大排列结果为11,16,20,24,29,那么,中值滤波输出结果为20。假如灰度值是29像素是被噪声污染
27、像素,那么,经过中值滤波后被噪声污染像素将被过除掉。根据这个原理,中值滤波一样能够适适用于二维序列,在对二维序列进行中值滤波时,滤波滑动窗口也将是二维,把窗口内像素按由小到大,或由小到大进行排序,生成数据序列,二维中值滤波结果以下(3-2)所表示 (3-2) 通常情况下,二维中值滤波效果愈加显著。不一样滑动窗口能够产生不一样效果,滑动窗口形状是多个多样,滑动窗口选择和所处理图像和所要达成目标相关,中值滤波是一个非线性滤波,包含到计算也比较复杂,对于中值是0正态分布随机噪声,中值滤波输出噪声方差为: (3-3)上式中: 是输入噪声功率; 是中值滤波器窗口大小; 是输入噪声均值; 是输入噪声密度函
28、数。那么,均值滤波输出方差为: (3-4)对比上面多个公式能够看出,而均值滤波输出和输入分布是没相关系,而中值滤波输出输入噪声密度分布是相关。中值滤波和均值滤波各有特点,均值滤波对于随机噪声抑制能力更强,而中值滤波则更适适用于脉冲干扰。图3-7为加入盐噪声图片和进行中值滤波 处理以后图片,能够看出,中值滤波效果还是很显著。中值滤波关键程序为:J= imread(1.jpg);K = imnoise(J,salt & pepper,0.02);imshow(J);figure;imshow(K);L =medfilt2(rgb2gray(K);imshow(K), figure, imshow(
29、L); 图3-7 加入盐噪声图片和滤波后图片3.2.1.2图像增强 图像增强是以改善图像视觉效果为根本目标,在采集图像过程中,尤其是在工厂中,光照条件对图片质量影响十分显著,而拍摄过程中可能会出现曝光过分或曝光不足现象,这么得到图像将会是模糊,表盘上指针刻度区域和背景区域区分不是很显著,不利于仪表图像识别。为了使表盘上指针刻度区域和背景区域界限变得显著,需要对图像进行空间域图像增强。空间域图像增强关键有两种方法,直方图均衡化处理和灰度变换,本设计中采取是灰度变换。灰度变换变换函数有三种,包含线性变换、非线性变换和分段线性变换,三种变换函数各有特点,应依据图像特点已经应用场所选择对应函数。本设计
30、中采取是分段线性变换法进行图像灰度对比度增强。分段线性变换函数中最常被用到是三段线性变换,其数学表示式以下: (3-5) 上式中是原图像灰度值,是变换后图像灰度值,是确定分段区域阈值。图3-8为增强后图片,图像增强关键程序为:j=imread(1.jpg);x=RGB2gray(j);subplot(1,2,1);imshow(x);title(原图像);f=double(x);m,n=size(f);h=fspecial(gaussian,25,25,80);q=imfilter(f,h,same);s=log(f+0.03)-log(q+0.03);r=exp(s);max_r=max(r
31、(:)*0.27;min_r=min(r(:);r=(r-min_r)/(max_r-min_r);index=find(r1);r(index)=1;R=mat2gray(r);subplot(1,2,2);imshow(R);title(处理后图像);G=im2bw(R,0.7);imshow(G);I=uint8(G);bw=edge(I,sobel);imshow(bw); 图3-8 增强后图片3.2.1.3二值化处理进行完图像增强后图像是灰度图像,灰度图像每个像素全部能够在0-255之间取值,每个像素全部能够有如此多取值,这么图像计算和处理起来十分麻烦,而且轻易犯错,所以,就要对图像
32、进行二值化处理,使图像每个像素只能去0和1两个值,“0”作为目标区域,“1”作为背景区域,反之,亦能够,这么计算将变得相对简单,也不轻易犯错。用来划分背景区域和目标区域那个灰度值就称作为阈值,大于阈值像素值全部设为1,小于阈值则全部设为0.图像二值化11 田村秀行(著), 金喜子, 乔双(译). 计算机图像处理M. 北京: 科学出版社,: 117-121.处理是图像处理中最常见技术,在图像处理中含有至关关键地位。关键有三个原因,首先,在彩色图像或灰度图像处理过程中,全部要先将图像进行二值化处理,然后再进行更深层次计算。其次,在理论上和方法上图像二值化比灰度图像处理愈加系统化,也愈加稳定。 第三
33、,当图像处理对象是文字或图纸时候,从本质上来说,背景和图形也是一个二值化图像。在图像二值化原理如(3-6)所表示 1; 当初 (3-6) 0; 当初 通常情况下,在二值化图像中,数值是0表示背景区域,数值是1代表目标区域。而阈值t则是需要求解,求解阈值t方法称为阈值选择,常见阈值选择方法有以下多个: 判别分析法。用阈值t将图像灰度值直方图中灰度值分布分为两组,求出是两组分离达成最好阈值t,这就是判别分析法。用判别分析法确定阈值t方法以下所表示,假设阈值是t,给定图像含有L级灰度值,把大于t灰度值像素和小于t像素分成两组,设为1组和2组,设i组 ,像素数为,平均灰度值为,方差为,全体像素平均值为
34、,则组内方差为 (3-7)组间方差为 (3-8)假如设全部像素灰度值方差为,那么,则有 (3-9)所以能够得到判别比为 (3-10)因为全方差是一个常数,和阈值没相关系,由此能够得到,只需让最大就可使判别比取得最大值,所以只需使t值不停改变并求出最大时对应t值。p-参数法。若要被分离图像面积大约等于,其和整个图像面积S之比为p=。在选择阈值时,要使灰度直方图中大于t像素对其它全部像素比值亦为p为此,所以,要想求出阈值,只需要在图像灰度直方图中,从灰度值高一边开始计算,求出累积相对读数分布,当累积相对读数值达成为p时灰度值就是所求阈值,这种方法也常常被用到。状态法。状态法只是用于灰度直方图展现双
35、峰型分布条件下,这时,阈值t就是两个峰间低谷上灰度值。在复杂图像和瘦到很多干扰图像中,直方图不能展现显著双峰型,所以,状态法有时并不适用。二值化后图像图3-9所表示,图像二值化关键程序为:T=0.5*(double(min(I(:)+double(max(I(:);done=false;while doneg=I=T;Tnext=0.5*(mean(I(g)+mean(I(g);done=abs(T-Tnext)=T);J(K)=255;K=find(JT);J(K)=0;figure; 图3-9 二值化图片3.2.1.4边缘检测和图像分割 对于图像处理来说,边缘检测是必需。因为从边缘定义上就
36、能够看出,边缘是图像关键基础特征。边缘蕴含着图像方向、阶跃性质和形状关键信息,而这些信息十分关键,它能够应用在在图像分割、特征提取、图像分类、图像配准和图像识别中。图像边缘能够分为两大类,一类是阶跃状边缘,另一类是屋顶状边缘,其中两边灰度值有显著改变是阶跃状边缘;而在灰度减小和增加交界处是屋顶状边缘。首先经过利用边缘增强算子,来突出图像中局边缘,然后再定义像素“边缘强度”,最终经过设置阈值来提取边缘点集是边缘检测基础思想。边缘检测方法有Sobel算子法12 Rezai-rad,G. Aghababaie,M. Comparison of SUSAN and Sobel Edge Detecti
37、on in MRI Images for Feature Extraction C. Information and Communication Technologies, .ICTTA 06. 2nd, , 1: 1103-1107.、 Robert算子法13 沈洁, 杜宇人, 高浩军. 图像边缘检测技术研究J. 信息技术, (12): 32-34.、 PreWltt算子法14 Villegas, O.O.V. Elias, R.P. Villela, P.R. Salazar, A.M. Edge Preserving Lossy Image Compression with Wavele
38、ts and Contourlets C. Electronics, Robotics and Automotive Mechanics Conference, , 1: 3-8.、LOG算子法、Canny算子法、Zerocross算子法15 张艳群, 孟凡龙. MATLAB 在图像边缘检测中应用J. 计算机应用研究, , (6): 144-146.和二值图像边缘检测法等。这些算法各有特点,适用条件也不一样。本设计中采取是Sobel算子法。图像分割是对图像进行处理、分析一项基础内容,经过图像分割能够分割出所需要部分进行分析。图像分割是从图像处理到读数识别一个转折点,只有分割出图像后才能进行真正
39、意义上图像分析和图像计算。所以,对于图像分析来说是很关键。现在已经有很多图像分割算法,如门限法、区域生长法、匹配法、分裂-合并法、水线法、边缘检测法、马尔可夫随机场模型法、小波分析法、多尺度法、数学形态法等。这些算法全部是针对于一类图像,没有哪一个算法能够适适用于全部图像,不过能够利用这些算法原理和算法中部分思想处理部分其它图像分割问题,因为在前面已经完成了边缘检测,所以在本设计中采取了基于边缘检测图像分割。图3-10为边缘检测结果 图3-10 边缘检测3.2.2指针识别 指针识别能够说是识别读数最为关键步骤,仪表读数全部是有指针决定,指针在采集图像过程中会连续变换指向,在摄像头和表盘无相对运
40、动情况下,摄像头采集到指针位置不一样两幅图像,指针也能够看作一条直线,而且比其它刻度线全部要长很多,所以能够采取霍夫变换来检测指针,和识别其它刻度。霍夫变换在图像处理中一个应用很广泛识别几何形状方法,以霍夫变换额、为原理,衍生出很多其它算法,不过从黑白图像中检测直线或线段是最基础霍夫变换。本设计中指针检测关键思绪为,首先经过霍夫检测检测出全部直线,包含全部刻度和指针,而指针则是全部直线中最长,所以,接下来设计程序求这些所检测出直线中最长线,然后对直线起始位置进行标识,并对直线进行标识。图3-11为利用霍夫变换检测直线,图3-12为检测出指针图像,指针检测关键程序为: xlabel(theta)
41、, ylabel(rho); axis on, axis normal, hold on; P = houghpeaks(H,1,threshold,ceil(0.3*max(H(:); x = T(P(:,2); y = R(P(:,1); plot(x,y,s,color,white); lines = houghlines(BW,T,R,P,FillGap,5,MinLength,7); hold on; figure, imshow(RGB), hold on max_len = 0; for k = 1:length(lines) xy = lines(k).point1; lines(k).point2; plot(xy(:,1),xy(:,2),LineWidth,2,Color,green); plot(xy(1,1),xy(1,2),x,LineWidth,2,Color,yellow); plot(xy(2,1),xy(2,2),x,LineWidth,2,Color,red); len = norm(lines(k).point1 - lines(k).poi