《圆形目标尺寸测量系统设计.docx》由会员分享,可在线阅读,更多相关《圆形目标尺寸测量系统设计.docx(39页珍藏版)》请在三一办公上搜索。
1、圆形目标尺寸测量系统设计摘要圆形目标尺寸测量系统是一种通过相机采集图像,再进行图像分析处理所得到目标尺寸的测量系统,一般传统人工测量费时费力效率低下,而该测量系统有工作可靠,实用性强,效率高效等等优势。i般系统可分为两大部分,一是采集系统的搭建,二是图像分析处理获取目标尺寸。随着时代的快速发展,测量系统在各个方面都广泛的应用,在工业上测量系统替代大部分人工测量是必然的结果。关键词:平台搭建;采集系统;分析系统;圆形目标DesignofcirculartargetsizemeasurementsystemAbstractCirculartargetsizemeasurementsystemisa
2、kindofmeasurementsystemthatcollectstheimagethroughthecameraandthenanalyzesandprocessestheimagetogetthetargetsize,generallythetraditionalmanualmeasurementistime-consumingandinefficient,butthismeasurementsystemhastheadvantagesofreliablework,practicality,efficiencyandsoon.Thegeneralsystemcanbedividedin
3、totwomainparts,oneistheconstructionoftheacquisitionsystem,andtheotheristheimageanalysisprocessingtoobtainthetargetsize.Withtherapiddevelopmentofthetimes,measurementsystemsarewidelyusedinallaects,andthereplacementofmostmanualmeasurementsbymeasurementsystemsinindustryisanaturalconsequence.Keywords:pla
4、tformconstruction;acquisitionsystem;analysissystem;circulartarget目录前言1一、研究的现状及其意义2二、研究目标、设计内容和拟解决的关键问题21、 目标22、 基本思路23、计算目标直径面积函数使用过程34、图像的采集所需要的硬件设备:35、图像处理系统36、海:3三、实现系统步骤31、完整的图像采集系统设备的选择和设计32、图像分析处理系统113、程序构想16四、设计反思与改进19五、毕业设计总结20六、参考文献21七、谢辞22八、附录23刖S我们获取信息的方式其中有70%来自于眼睛(视觉)。机器视觉是用摄像头获取图片,机器对图
5、片进行分析得出图片中的各个内容进而代替眼睛来做测量和判断,最终目的是可以使计算机通过分析图片进而理解世界。机器视觉是通过对图像处理的相关操作,以及矩阵数值处理的技术从而进行的全新研究,其中重耍的目的是是对图像的特征的提取,而得到重要的内容。当下机器视觉技术在工业制造中有很多的应用,比如非接触的检测,识别图像中的物体等等,机器视觉已经融入了我们日常生活当中,比如相机的识别物体是什么,再比如AR等等。对于机器视觉还有许多的优点,在测量的领域中是一种非接触式的测量,对被检测物和检测物都不会造成任何的损害,有利于高精度的物品的检测,提高检测物的可靠性。有超越人眼的检测范围,比如使用红外线进行热检测,热
6、成像等,拓宽了人眼可视的光线频谱范围。人难以长时间对同一对象进行观察,当人工作时间长了之后出现了劳累,出错的概率会提高很多许多,而机器视觉可以全天二十四小时进行测量,不存在劳累,而且可以提高工厂的效率全天使用。自从我在工业自动化系统中使用机器视觉以来已有很长时间了。它不仅可以提高生产质量和产量,还可以取代大部分传统的人工检测。从选取硬件设备和装置的放置安装,机器视觉可以用在对象跟踪到测量长度,产品缺陷检测和其他应用,可视的数据可用于提供简单的故障信息和闭环控制回路,可以提高整体系统的性能。在这里,您可以MATLAB提供的简单功能为中心,实现简单的视觉功能。架构前准备对于整个设计识别系统非常重要
7、。物体尺寸的识别取决于其对图像边缘的影响,物体与背景之间的差异。一般而言,比较越突出,识别成功率越高。机器视觉系统的应用现在变得越来越多元化。它不仅可以用于工业控制测量,还可以用在金融,农业,交通,竞技和娱乐等其他领域。可以说,机器视觉和我们生活息息相关,在各个邻域都有重要的作用-、研究的现状及其意义在现有产能下,又需要保证产品的质量又要提高效率下,那就不仅需要严格的对产品尺寸大小、表面光滑程度和表面水平度等参数进行检测判断是否符合标准,而且还需要快速检测才能有效率,在当下人工检测速度并不够快,且随着企业生产内容扩大化,以及方式的规模化。机器视觉检测和传统的人工检测对比会发现人工检测方法会受检
8、测工作量、检测速度和精度等因素影响,而且人工检测花费时间过长进而测量效率底下,而且人工检测需要花费大量的人力资本,费钱费时费力对生产的帮助不大,总体上来说传统的人工检测吃力不讨好,机器检测是有很大的优势可以取代人工检测。机器检测是指可以通过用机器分析图像提取图片特征内容从而替换人对物体的检测和对一些内容的判断。机器视觉检测系统是指将由机器成像设备捕获的目标内容转换为图像信号,并将其发送到专用图像处理系统。根据像素分布和亮度,颜色等信息转换为数字信号。成像系统对这些信号执行各种操作,以提取目标的特征,并根据识别结果实时控制设备的操作。技术的不断改进极大地提高了机器视觉检查的可靠性。通过应用视觉检
9、查,可以使公司的运营成本大大降低且也可以提高了经济效率,更可以充分的利用公司的设备。时代的进步,机器视觉检测系统的完善,提高了检测技术水平的正确率,尤其是检测水平和检测质量,大大的促进了现代制造业的发展,工业方面同时取得了非常明显的进步。中国经济的发展与现代制造业的发展密不可分,对于现代制造业而言,外观和质量与它们的发展息息相关,以至于许多公司非常重视测试。基于机器视觉和图像处理的检测技术具有自动化程度高,准确性高和非接触式测量的优点。近年来,随着机器视觉和图像处理的迅猛发展。在图像分割,边界提取,特征提取等技术的优化已经相对非常的成熟,物体测量的准确性得到了保证,可广泛应用于工业检测和质量控
10、制领域。二、研究目标、设计内容和拟解决的关键问题1目标测量图像中圆形目标的大小。项目应用于计算机视觉应用开发,可以实现不需要手工或物理方法对物体进行测量,假设获取的物体为一元硬币。2、基本思路目标图像的获取确定图像和实际物体的比例关系对图像进行滤波,目的是让测量物体和背景分离对图像进行二值化得到目标轮廓3、计算目标直径面积函数使用过程第一步使用matla自带bimread函数读取图像,然后通过maila自带rgb2gray函数将原始图像进行灰度处理后,再使用matla自带graythresh函数,获取所要分割图像最佳值中间灰度值,再通过imbinarize函数获得二值图,使用Bwareaope
11、n函数进行优化图像,StreI函数结合imopen(开运算)函数和imckse(闭运算)函数继续优化图像,用bwlabel函数标注边缘regionprops函数检测面积直径,bwboundarie函数描述圆形图像边缘,使用plot函数以及holdOn暂停函数来输出边缘。也可以用二值化图通过edge函数进行边缘检测获取边缘黑白图再用SUbPlot函数和原图像对比。4、图像的采集所需要的硬件设备:镜头,工业相机,安装设备的各种支架,装载matlab系统的计算机设备进行图像的处理的。5、图像处理系统对图像进行提取特征值,生成二值图。对图像优化处理,如除去噪点,干扰图像等。获取图形边缘图形,及其计算图
12、形直径,面积。利用比例关系将像素点转换回其物体直径。6、关键:机器视觉检测的项目中最重要的内容是如何获取得到一张高质量,高水平的的图像,需要获得这些需要从选环境因素的不同、镜头选择、安装布置、自动化集成系统、工件类型的变化等等,其中的只要有部分的设置没有安排的合适就会,没有办法获得足够好的图片,那么设计再厉害的软件算法都没有做用,而且因为生产线都有良品率和检测速度的要求,如果整个视觉检测系统不能够智能快速可靠的话那误检率会非常之高,对公司来说这是一个很大的损失。三、实现系统步骤1、完整的图像采集系统设备的选择和设计(1)光源的选择选择使用Led环形光源优点为使纯直流供电没有频闪,所以不会对设备
13、产生谐波干扰提高图像的采集质量,Ied环形灯是360。均匀照射在被观察物体上,不会有虚影的产生,图像内容清晰度高,解决对角照射阴影问题(有阴影容易在二值化时对阴影进行错误的判断,以为是物体的一部分);同时该灯可选配漫射板导光。拥有OTo0%线性亮度调节,达到最佳视觉效果同时也不易受到环境中其他光源的影响。但也会带来的缺点是从高反射表面看会有圆形眩光。应用领域:PCB基板检测,IC元件检测等(2)工业相机内容注意以及选择工业相机由于工作环境和其他普通消费相机的大为不同,其对性能稳定和,安装简单,相机内部结构规划合理且不易损坏,工业相机需要连续不停的工作,需要在严峻的环境中使用。工业相机的帧率远远
14、高于普通相机,它扫描的方式是通过对视场范围一行一行进行的,这和普通相机的图像传感器方式不同,逐行扫描的图像传感器生产工艺比较复杂,成品率比较低,出货量少,工业相机输出的事裸数据其光谱内容比较丰富,比较适合高质量的图像处理算法,工业相机相对比普通相机来说价格昂贵物有所值。图像在色彩的选择上,黑白的和彩色的相同的分辨率下,黑白的精度会比彩色高,尤其是在看图像边缘的时候,黑白的效果更好,对比的边缘的会比较突出有利于高质量的图片产出,在工业相机选择上进行精度的测量更多使用黑白相机,以提高精度减少系统的误差。在需要检测产品颜色是才选择彩色相机更为正确。对于设计的系统要求是检测圆形物品的大小,工厂中这种一
15、般为低速检测或静止检测,所以选择面阵相机即可。工业相机使用CCD2/3英寸即可通常来说,相机的分辨率越低,同样的接口,帧率也会越高,而分辨率越高,帧率也会越低,帧数看具体情况选择。在镜头光圈中一般规律为:当光圈越大的时候和焦距变长,物体和镜头距离近,景深就会越小;当光圈越小的时候和焦距变短,物体和镜头距离远,景深就会越大。(3)镜头的选择镜头的主要作用是通过对光线的变化将成像目标照射到图像传感器的光敏面。在工业环境的检测中镜头多是用于可见光,又因为测物体为固定了测量距离,以及测量视场大小所以成像过程中不需要改变放大倍率则可以采用定焦镜头,且也不需要做特殊的滤波处理,还需要考虑镜头的过滤散光的效
16、果如何,用做于在测量拍摄物体中,尤其应该重视畸变。(4)镜头主要参数a.焦距(FoCalLength)焦距就是从镜头的中心点到感受器上所形成的清晰影像之间的距离,焦距有什么作用是:焦距的大小是决定着图片可视范围的大小,当焦距数值较小时,图像上可视角度就大,图像上观察到的可视范围也大;当焦距数值较大时,图像上可视角度就小,图像上观察到的可视范围也小,如图1.2,f为焦距,a为可视角度,在相机中焦距是与单一片凸透镜的焦距的概念是不同的,在相机上安装的镜头远远不止由一片凸透镜构成的而是有多种不同的凸透镜和凹透镜,然而单片凸透镜的焦距只是平行光线汇聚到一点,所以这点到凸透镜中心的距离就是为单片凸透镜的
17、焦距如图11。工业相机镜头焦距的参数一般使用mm来划分。1.镜头2.焦距3.感受器图1.1图1.2b.光圈(IriS)光圈的一个作用是控制光线进入相机到达感光面的量装置,光圈的另一个作用是可以调整景深,光圈的数值越小,光圈孔径越大,景深越浅,背景虚化越明显。光圈的数值越大,光圈孔径越小,景深越深,背景虚化越不明显,如图1.3,光圈同时可以控制明暗程度。0000009f:SS5:8,f/af.百大光圈光圈细光圈溪景深景深深景深图L3光圈通过控制进光量来控制景深等,我们可以把相机的光圈,当成人眼睛里的瞳孔。当周围环境的光线变强烈的时候,我们的瞳孔会自动变小,这样进入眼睛内部的光线变少,也就是进光量
18、变少画面也会同时变暗;当周围环境的光线减弱的时候,我们的瞳孔会自动变大,这样进入眼睛内部的光线变多,也就是进光量变多画面也会同时变亮,这样就可以保证周围环境可以在视网膜上能正常成像,如图1.4。图1.4相机的光圈也是利用控制进入相机的光量的多少进行调节。如果环境光线不足,则可以增大光圈以让更多的光线进入相机。如果环境光充足,就可以减小光圈的大小以减少进入相机的光。c.景深(DepthofField,DOF)在工业相机拍摄时,调节相机镜头使图像内容清晰可见的过程称为对焦。场景中的点称为焦点。“清晰”是个相对来说的概念,在焦点之前及其后面一定距离内的场景可以使图像清晰,这个清晰的前后范围称为景深。
19、换句话说,只要在该范围内就可以清楚地捕捉到场景,超出该范围就无法清晰地拍摄捕捉。一般前景深小于后景深,如图1.5d.快门像光圈一样,快门也具有控制入射光量的作用。当将入射光的量与水管中的水进行比较时,该水管开关开启大小就可以控制水量,也就是光量中的光圈,而快门就像水管上的开关时间,通过调节开关接通的时间来控制水量,快门则用光量通过时间来表示。如果光线充足,可以适当提高快门速度以捕捉精彩瞬间。在夜晚或黑暗的地方,需要适当减小快门速度,以确保照相机正确曝光。e.ISO的作用:改变传感器的光敏度相机的ISO感光度描述了感光元件对光强度的敏感度。IOS对感光度的调节在增大的时候,图像的亮度将会提高,同
20、时增加灵敏度还具有增加噪声的副作用。当IOS调节减小的时候,感受器对光线的接受能力变低,图案就会变暗,同时相对来说噪点同时也会减少。可想而知在光照不足的地方需要提高IOS的值来保证快门速度提高图像的亮度,反过来在光线充足时降低K)S的值。分辨率(ReSolUtion)总的来说分辨率就是在在一张纸上画出许多相同大小的格子,每一个格子中就有这个图像的一部分,当格子越来越多的时候(也就是分辨率越来越大),图像的显示内容会更加清晰,同时格子多了处理的内容也同时增加,也就是内存也变大,通常,分辨率的单位dpi、ppd、ppi,图像分辨率决定着图像的质量,当图像分辨率越大,像素点越小,质量就越高,反之当图
21、像分辨率越小,像素点越大,质量就越低。g.传感器CCD(SenSor)传感器CCD是一个电荷耦合器件。传感器的作用在相机中是将光学信号转变成为电流信号,同时在经过各种电路转换就可将变成图像。一个好的传感器在像素数量,尺寸大小,光的灵敏度,信噪比都有十分重要的关系,镜头成像直径可以主要覆盖最大CCD芯片尺寸(传感器尺寸,1英寸:25.4mm):l/2英寸(例如:必须为1/2英寸,目标表面高度为6.4)必须查询计算)2/3“,表和1”或更多,CCD尺寸对照表如表L1。格式宽度长度对角线面积焦距系数代表机型中画幅33.044.055.014520.7宾得645D全画幅24.036.043.48641
22、.0全画幅单反RedEpic14.627.731.34041.3RedEpic35电影机13.724.42833414RedOneSuper35mm13.824.628.03391.4佳能C300PS-C15.623.528.33681.5尼康及其他APS-C格式单反APS-C14.922.327.33291.6佳能APSY格式单反1.5”14.018.723.42621.9佳能GIX4/313.518.022.42432.04/3及M4/3相机尼康CX8.813.215.81162.7尼康1系列Super167.412.514.5933.0Super16胶卷2/3*6.68.811.0584
23、.0富士XI-1/1.7*5.67.49.5424.6佳能G12ll.85.37.28.9384.8高端便携相机1/2*4.86.48.0315.4摄像头1/2.54.35.87.2256.0低端便携相机表L1(5)镜头选型a.选择镜头接口和最大CCD尺寸镜头的接口选择需要和相机的接口一致,如不一至需要多购买转接装置使的镜头可以安装在相机上;其次还需要考虑镜头所能支持的CCD尺寸,当CCD大于镜头,时会出现视场范围,可视范围变小,缺失想要的边缘信息。所以选购时需要镜头所支持的CCD要大于等于相机的CCD即可。b.选购镜头焦距计算方法如图1.6,在明确相机CCD尺寸大小、视野(FOV)大小和工作
24、距离(WD)的情况下,就可以获得镜头所需要支持的焦距为多少。图1.6c.选择镜头光圈在工厂中,工件产品一般不能照射阳光,虽然工厂环境会比较干燥,但是环境的光源还是会比较不足所以光圈的大小,可以稍微中等偏大的大小,以提高采集图像的亮度,提高图像的质量,但是实际情况还是需要由工厂的具体环境来选择光圈的大小。d.选购分析要给圆形物体检测成像系统选配工业相机镜头:一元硬币直径大小25mm,视场范围至少为40mm(三)*30mm(V),分辨率可选满足800*60048万像素,精度满足O.05mm,工作距离大于5mm。选购的为环形白色LED光源镜头必须在可见光带内,产品的大小基本不变所以镜头选择定焦即可以
25、减少选购的经济。由于本产品适用于检测工业产品是否合格,所以镜头需要选择畸变小的镜头。接口须是可用于相机的C端口,或选购转接装置。工作距离和焦距:成像倍率M=5.2um0.05mm=l.04、焦距仁L*M(M+1)=52毫米如果物距需要超过5mm,则所选镜头的焦距应超过52mm。通过分析和计算上述方面,可以预先绘制该镜片的“轮廓”。它可用于定焦,可见光波段,C端口,至少2/3英寸CCD以及焦距大于17mm的成像。失真应该很小。可选用MindViSiOn的MV-UBI30M工业相机,相机参数如表L2:型号MV-UB131MV-U8130M光学1/2”CMOS彩色1/2”CMOS黑白有效像素1280
26、HXlO24V(130万)像元尺寸5,2um5.2um1280X102430FPS640X480(2)SKIP2X2104FPS预设分辨率320240QSKIP4X4240FPS640X512ROI84FPS1024X768ZOOM30FPS800X600ZOOM30FPS1280X1线扫拖1750FPS(MV-UBl30M)错头接口CS接口,提供c口转接环信噪比45dB动态范围S68.2dB帧缓存3231B快门类型电子滚动快门曝光时间0.042168ms曝光控制自动/手动/支持曝光区域设置白平衡手动白平衡/支持白平衡区域设置黑白相机无白平衡操作可编程控制图像尺寸(ROT)、拍照、曝光时间、G
27、AMMA、对比度、亮度、自定义LUT、镜像翻转、RGB颜色增益、饱和度、锐度、彩色转黑白、色温校正、反色、9组十字线位置和颜色、触发模式,帧率控制采集方式连续、软触发、硬件触发(支持闪光灯同步全自动和半自动模式)参数保存方式二进制独立文件(调好参数后,可受制到里产机器上),支持默认参数自定义功能相机自定义数据256字节块数据区域、2个32字节自定义序列号空间灵敏度2.lVlu-sec550nm光谱响应范围3701040nm谑光片标配65Onm低通滤光片黑白相机默认不含滤光片支持系统WindowsXP(32bit).Vista.Win7、WIN8(32bit64bit)LinUX系统UJUntu
28、、Centos、Debian等(LnUX专用驱动方式,非UVC免驱,性能是免驱方式的3倍)支持嵌入式ARv系统、POWerPC系统、DSP系统、LinUnl驱动和SDK订制传输距离5米(标配18米线,可选配5米数据线)数据接口USB2.0480Mbs工作温度0-50*CPCB尺寸32mmX32mm,可按照客户要求定做,并增加10控制外观尺寸38mm38mm53mm支持开发语言C/C+、VB6、VB.net、DelPhi6、Ct、LabVieW的开发,每种语言均提供开发例程视频软件接口支持DireCIShow、TWain接口支持多种视觉软件无缝兼容Haleon、OpenCWLabViex(6)采
29、集设计原理通过相机获取多个圆形尺寸图像,再计算多个圆形尺寸的面积大小记为area。通过使用regionprops.Area函数就可以统计目标尺寸像素个数记为area_pic,通过k=area/area_pic得到k实际面积和图像像素关系,同样在相同拍摄条件下目标的像数点总数记为X,那么目标尺寸的面积yk*xcm2,同理可以获得目标直径的大小。(7)获取图像信息a.获取硬件信息使用matlab中Imaqreset函数获取加载工业相机类型。在使用imaqhwinfo函数获取相机的名字,比如名字为picvideo,之后imaghwinfo(,PiCVideo)函数来进一步获取相机的各种需要信息。使用
30、win_info.DeviceIDs获取ID,d_win_info.SupportedFormats获取相机支持的格式,配合所需要的支持的硬件信息。b.创建视频对象和可选看预览获取的视频流获取相机的各种信息后,就可以通过使用函数pic=videoinput(camera_name,CameraJdJormat)来创建一个名为pic的视频对象。照相机则可以使用PreVieW(Vid)创建预览窗口。通过捕获的视频流来对比相机所捕获的内容是否正确,后使用CIOSePreVieW(Vid)关闭窗口,关闭视频流。c.获取的视频流的重要信息可以通过诸如get(vid)和get(getselectedsou
31、rce(vid)之类的get函数获得视频图像信息。您可以使用Set函数为相机拍摄的某些图像设置属性值,也可以使用结构数组中的“点”直接分配值。例如,要继续通过相机获取图像,可以先将TriggerR叩eat的值设置为无限,再可以设置FrameGrabInterval函数来控制相机获取图像的速度。d.开始获取图片开始图像采集需要使用start函数,结束时使用stop函数表示结束采集。2、图像分析处理系统(1)图像分析系统总的来说图像分析系统是从图像中获取一些可以作为判断图片所需要的内容信息来得到数值结果。图像分析主要步骤是先使用图像分割来提取图像特征,后象征性地描述图像,优化图像并处理所需的结果。
32、再MATLAB中一共有四种基本的图像格式,它们分别是二值图像、灰度图像、索引图像和真彩色图像,在图像处理的过程中有时需要知道图像的图片类型,有时需要对图像的格式进行适当的转换。彩色图像转换成灰度图像的方法:将彩色图像的R、G、B三个分量求和并取它们的平均值,将得到的平均值作为需要的灰度图像的像素值。所得到的灰度值图像再进行寻找最佳的中间值进行二值图的处理。二值图获取之后进行物体边缘的检测以及物体边缘直径的切割和计算圆形物体面积和直径所占的像素点数,通过上述的K值公式进而的出所需要的实际面积和直径等。读取原图像如图1.7:图L7(2)图像处理方式a.灰度图像变为二值图像使用graythresh函
33、数即可获取最佳中间灰度值。使用imbinarize函数分割灰度图像转为二值图,也可以使用im2bw函数将灰度图转二值和imbinarize函数使用效果相同灰度图像如图1.8:图1.8灰度值分布情况图L9可以看出:b.降噪优化二值图获取二值图像之后先对起进行优化处理,可使用的优化方式有进行平滑处理,消除图像中的噪点,保持边缘信息的不丢失,可以使用中值滤波处理(主要通过求中值来实现的。其滤波的主要过程是:首先确定某一像素点领域的大小,然后把这一领域的像素值由小到大排列,用领域中的像素中值去代替该点的像素值。该滤波能够较好的滤除椒盐噪声)等等方法。具体将使用matlab所带的函数进行优化:bware
34、aopen函数作用是删除图像中不需要的面积,可以用做删除噪点,第一先设置需要删除的面积大小P,当不超过这P时的面积都可以删。Strel函数结合imopen函数(开运算),作用是:使图像的特证边缘平滑,消除边缘上突出的部分保持大小不变。Strel函数结合imclose函数(闭运算)作用是闭合图像边缘断裂部分,消除小孔。还利用regionprops函数中提供的区域属性,所需要的图像外统统将忽略从而优化函数准确性经过二值化的图像,如图1.10:(3)边缘检测方式边缘检测算子:边缘就是图像中色彩或者灰度值变化剧烈的地方,所以可以在灰度值变化较为强烈的地方微分运算,得到和其他地方不一样的较大的数值1。由
35、于IaPIaCian算子方法对噪声相对敏感,因此该算子很少用于边缘检测,但用于确定是否应将边缘像素视为图像的亮或暗区域。将是使用检测边缘函数:BW=edge(I,canny);只需要通过改变后的算子即可达到所需要的效果,I为所需要处理的二值图,BW为获取之后的边缘。采用不同的算法开展了图像的边缘检测,发现阈值越大,图像的边缘效果越好,不同的算法检测边缘的完整性、连续性、对噪声的敏感性也表现出不一样的特征S。其中利用了bwboundaries函数对其边缘检测所得到的边缘坐标信息,通过用Plot函数将其边缘描述在原图像上,进而更加直观的看出其边缘特征。如图l.11.图1.11(4)获取直径与面积对
36、处理之后的图片进行图像的像素运算,数字图像是以矩阵的形式存储的,矩阵的每个元素代表着一个像素点的像素值。运算的方法主要有点运算、代数运算(加减乘除等)7,12,13,以及图像的逻辑运算测量其近似两端边缘的长度,结合之前的所得到的比例关系进而获得物体的直径。在获取面积公式之中使用matlab所给的函数获取需要的内容。Bwarea函数-计算对象面积,功能:估算二进制图像中对象的面积。bwulterode函数-距离转换的最大值,函数:最终腐蚀。求出二值图像BW的距离转换图的面积的最大值。默认情况下,用于距离转换的距离是欧几里得,并且连通性是八个邻居。imregionalmin函数-获取最小面积,功能
37、:查找图像最小面积I(最大面积),默认conn=8regionprops功能用于计算标记区域的面积分布并显示区域总数。需要使用regionprops函数计算出两个属性。一个是“区域”图像每个区域中的像素总数regionpropsArea,另一个是包含相应区域最小矩形的“边界框regionprops.BoundingBox。直径的像素数和面积的像素数由平均函数计算以减少像素误差。获取到直径与面积像素个数后和两个K值相乘的得到实际的面积直径。(5)误差计算查看多次计算平均直径和实际直径的误差有多少,将平均直径值和实际值做差值进而得到误差,若是误差值的大小相对误差平均为5%左右,测量精度在95%左右
38、,误差值偏大则将重新计算,选择其他的优化图像方式,重新执行上面程序,使用其他图像边缘检测方法处理方法进一步提高其准确率。在则使用其他的圆形物体测量它的直接最后得出整套系统的准确率,查看其系统的通用性如何。3、程序构想(1)读取图片程序使用imaqhwinfo函数获取安装在计算机上的摄像头的名称,使用ID通过win_info.DeviceIDs获取设备ID,然后使用d_win_info.SupportedFormats支持摄像头格式,视频输入(Camera_name,Camera_id,格式)功能可获取视频PreVieW(Vid)并创建一个窗口来预览内容是否正确,closepreview关闭窗口
39、,获取视频图像信息,get(通过将FrameGrabInterval的值设置为getselectedsource(vid)或get(vid)函数Vid-TriggerRepeat=Inf,设置常量的值来获取图像。使用start函数来开始进行图像获取,结束时使用StoP函数。(2)优化函数的构造构造一个image_bw函数作用是将RGB图片先优化成为gray图像,在进行优化成一个二值图或直接将的灰度优化为二值图。以及对二值图进行优化提高准确性。构造内容方法:使用SiZe函数判断图片是怎样的矩阵,再使用numel函数进行判断具体几个量,3个量为RGB图像,2个值则为灰度图。当为彩色图片时将使用rg
40、b2gary函数把RGB图片转为灰度图,再使用graythresh函数选择最佳的灰度中间值,最后最佳值灰度值用在关键的imbinarize函数上合理的将灰度图转为二值图。同理,灰度图形也是这样转为二值图。转换之后使用bwareaopen函数删除小面积的噪点或则是其他的影响因素,在使用Strel函数结合imopen(开运算)和imck)se(闭运算)进行更加深度的优化过程。之后将优化后所得到的image给输出。(3)构造求直径以及面积的的函数构造一个pic_value函数,其作用是计算二值图中所测圆形物体的像素点总数,以及目标圆形物体的直径和面积所占用的像素点个数。构造内容方法:输入参数有:输入
41、的图片,以及是否显示描述的边缘及其最小矩形。先将输入的图片给到image,bw函数进行二值化的处理得到二值图,后使用其取反用黑色的底色进行描述背景,使用bwlabel函数进行对二维二值图像中各个分离部分进行标注,处理三维的可以使用bwlabeln函数,在使用其中最为关键的函数:regionprops函数,他是用作度量图像区域属性,使用了regionprops.Area子项以及regionprops.BoundingBox分别获取其面积像素点和最小矩形数据等。使用areapixel=cat(1,pic_regionprops.Area)函数方式获取图片中物体的所占图片的像素点总数,后用ind=s
42、ort(area_pixel,descend);对图片中检测到的各个图形进行关于像素点多少的降序排列。pic_gray(pic_gray_label-=ind(1)=0;将图片中做不需要的检测图片统统变黑,也就是抹去干扰内容,再一次的对图片进行优化,将得到一个只有所测图片的轮廓的的黑白图片,在使用:B,L,N=bwboundaries(pic_gray);函数进行边缘检测B检测到的具体坐标L检测的图像N检测到的图形个数,B的作用是将描述边缘,具体可以通过window值是为多少进而判断是否需要描述出图片边缘的模样需要描述具体代码实现则为:boundary=B1;figure;imshow(pic
43、);holdon;plot(boundary(:,2);boundary(:,l)/g7LineWidth2);过描述可以获得这个圆形物体图片的边缘描述。需要获其最小矩阵的方法则是使用regionprops中的regionprops.BoundingBox这样可以描述圆形物体中的最小矩形实现:rec=pic_regionprops(ind(1),BoundingBox;rectangle(Position,rec,rEdgeColor1,T,rLineWidth,2);然后利用pic_regionprops(ind(1).BoundingBox;中提供的直径的像素点可以获得所需要圆形物体直径对
44、其使用mean函数进行均值计算进而减少误差。面积像素点的获取方式则是直接使用regionprops.Area赋值给area输出即可得到所需的圆形物体面积像素点总数。最后将我们所需要输出的目标物体直径像素点,面积像素点,目标二值图,以及图中检测到的图形个数构成元胞进行输出;其中需要输出检测到图形个数的原因判断圆形物体目标优化效果如何,图片内容是否有干扰区域,是否需要进行加强图片的内容优化。(4)构造计算K值函数构造k_value函数,将构造两个K值一个是有关于直径的K值用k_dia表示,另一个使用关于面积的K值使用kaa表示,用两个k值的作用是减小误差,排除因直径算错而导致面积也算错,或通过k值
45、得到的直径而计算得出的面积,和利用K值计算得到的面积差值是否在合理范围内,作判断面积或直径计算是否正确减小误差。构造的函数具体方式:使用input函数提示所输入所需要对照物体的实际直径,以及面积大小;输入对照物体的图片,再利用前面构造的image_bw函数得到二值图在给构造的PijVakle函数得到对照物体的直径像素点(diameter)和面积像素点(area),通过K=(实际值)/(像素数)公式得到k_dia和k_area值,输入多种物体图片进行提高K值的准确性减小误差。后将两个K值组成矩阵进行输出。(5)主程序的编码进行输入图片的地址,利用循环函数循环和时间函数间隔的检测图片内容,以获取图
46、片中圆形物体的面积直径内容。四、设计反思与改进采集系统选择镜头和相机选择还有许多可以改进的方面,在价格和性能的选择上,需要结合实际情况,不然一切的想法都只是纸上谈兵禁不起实践。在降噪优化的方面可以用更多自己构造的函数进行处理,思路:对任意像素点判断是否为0,取得该像素点周围8个或者四个像素点相加,总和等于255*8或者255*4,则说明该像素点为噪声,置为255。领域的计算方法是没有边界的,所以不计算图像四边,如此就可以简单的判断是否为噪点。在灰度图像转二值图中还可以使用其他的优秀方式,二值细化法等。这个二值化的过程十分重要,对之后直径面积判断有十分重要的影响,或许可以对图像的各个部分进行分割一部分,比如,图像下半部分有阴影可以将下半部的阴影提高它的最佳灰度中间值,不会使阴影部分也成为了物体的一部分。在搭建采集系统光源,以及背景颜色可以使用和检测物体形成较大反差的。如此一来就可以使物体图像边缘更加突出,有利于程序的检测,减小误差,提高检测精度。检测的物体,距离相机的位置不宜太远不然会使处理图像的大小大大增加让硬件过载运行不利于系统,提高了系统维护成本。将本系统运用到实际检测中,检测的精度或许达不到标准的,不过对于,精度要求并不大的确实很足够以及也可以辅助质检员是完全没问题的。