版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
北京理工大学珠海学院2020届本科生毕业设计圆形目标尺寸测量系统设计摘要圆形目标尺寸测量系统是一种通过相机采集图像,再进行图像分析处理所得到目标尺寸的测量系统,一般传统人工测量费时费力效率低下,而该测量系统有工作可靠,实用性强,效率高效等等优势。一般系统可分为两大部分,一是采集系统的搭建,二是图像分析处理获取目标尺寸。随着时代的快速发展,测量系统在各个方面都广泛的应用,在工业上测量系统替代大部分人工测量是必然的结果。关键词:平台搭建;采集系统;分析系统;圆形目标
DesignofcirculartargetsizemeasurementsystemAbstractCirculartargetsizemeasurementsystemisakindofmeasurementsystemthatcollectstheimagethroughthecameraandthenanalyzesandprocessestheimagetogetthetargetsize,generallythetraditionalmanualmeasurementistime-consumingandinefficient,butthismeasurementsystemhastheadvantagesofreliablework,practicality,efficiencyandsoon.Thegeneralsystemcanbedividedintotwomainparts,oneistheconstructionoftheacquisitionsystem,andtheotheristheimageanalysisprocessingtoobtainthetargetsize.Withtherapiddevelopmentofthetimes,measurementsystemsarewidelyusedinallaspects,andthereplacementofmostmanualmeasurementsbymeasurementsystemsinindustryisanaturalconsequence.Keywords:platformconstruction;acquisitionsystem;analysissystem;circulartarget
目录TOC\o"1-2"\h\z\u前言 前言我们获取信息的方式其中有70%来自于眼睛(视觉)。机器视觉是用摄像头获取图片,机器对图片进行分析得出图片中的各个内容进而代替眼睛来做测量和判断,最终目的是可以使计算机通过分析图片进而理解世界。机器视觉是通过对图像处理的相关操作,以及矩阵数值处理的技术从而进行的全新研究,其中重要的目的是是对图像的特征的提取,而得到重要的内容。当下机器视觉技术在工业制造中有很多的应用,比如非接触的检测,识别图像中的物体等等,机器视觉已经融入了我们日常生活当中,比如相机的识别物体是什么,再比如AR等等。对于机器视觉还有许多的优点,在测量的领域中是一种非接触式的测量,对被检测物和检测物都不会造成任何的损害,有利于高精度的物品的检测,提高检测物的可靠性。有超越人眼的检测范围,比如使用红外线进行热检测,热成像等,拓宽了人眼可视的光线频谱范围。人难以长时间对同一对象进行观察,当人工作时间长了之后出现了劳累,出错的概率会提高很多许多,而机器视觉可以全天二十四小时进行测量,不存在劳累,而且可以提高工厂的效率全天使用。自从我在工业自动化系统中使用机器视觉以来已有很长时间了。它不仅可以提高生产质量和产量,还可以取代大部分传统的人工检测。从选取硬件设备和装置的放置安装,机器视觉可以用在对象跟踪到测量长度,产品缺陷检测和其他应用,可视的数据可用于提供简单的故障信息和闭环控制回路,可以提高整体系统的性能。在这里,您可以MATLAB提供的简单功能为中心,实现简单的视觉功能。架构前准备对于整个设计识别系统非常重要。物体尺寸的识别取决于其对图像边缘的影响,物体与背景之间的差异。一般而言,比较越突出,识别成功率越高。机器视觉系统的应用现在变得越来越多元化。它不仅可以用于工业控制测量,还可以用在金融,农业,交通,竞技和娱乐等其他领域。可以说,机器视觉和我们生活息息相关,在各个邻域都有重要的作用
研究的现状及其意义在现有产能下,又需要保证产品的质量又要提高效率下,那就不仅需要严格的对产品尺寸大小、表面光滑程度和表面水平度等参数进行检测判断是否符合标准,而且还需要快速检测才能有效率,在当下人工检测速度并不够快,且随着企业生产内容扩大化,以及方式的规模化。机器视觉检测和传统的人工检测对比会发现人工检测方法会受检测工作量、检测速度和精度等因素影响,而且人工检测花费时间过长进而测量效率底下,而且人工检测需要花费大量的人力资本,费钱费时费力对生产的帮助不大,总体上来说传统的人工检测吃力不讨好,机器检测是有很大的优势可以取代人工检测。机器检测是指可以通过用机器分析图像提取图片特征内容从而替换人对物体的检测和对一些内容的判断。机器视觉检测系统是指将由机器成像设备捕获的目标内容转换为图像信号,并将其发送到专用图像处理系统。根据像素分布和亮度,颜色等信息转换为数字信号。成像系统对这些信号执行各种操作,以提取目标的特征,并根据识别结果实时控制设备的操作。技术的不断改进极大地提高了机器视觉检查的可靠性。通过应用视觉检查,可以使公司的运营成本大大降低且也可以提高了经济效率,更可以充分的利用公司的设备。时代的进步,机器视觉检测系统的完善,提高了检测技术水平的正确率,尤其是检测水平和检测质量,大大的促进了现代制造业的发展,工业方面同时取得了非常明显的进步。中国经济的发展与现代制造业的发展密不可分,对于现代制造业而言,外观和质量与它们的发展息息相关,以至于许多公司非常重视测试。基于机器视觉和图像处理的检测技术具有自动化程度高,准确性高和非接触式测量的优点。近年来,随着机器视觉和图像处理的迅猛发展。在图像分割,边界提取,特征提取等技术的优化已经相对非常的成熟,物体测量的准确性得到了保证,可广泛应用于工业检测和质量控制领域。研究目标、设计内容和拟解决的关键问题目标测量图像中圆形目标的大小。项目应用于计算机视觉应用开发,可以实现不需要手工或物理方法对物体进行测量,假设获取的物体为一元硬币。基本思路目标图像的获取确定图像和实际物体的比例关系对图像进行滤波,目的是让测量物体和背景分离对图像进行二值化得到目标轮廓计算目标直径面积函数使用过程第一步使用matla自带bimread函数读取图像,然后通过matla自带rgb2gray函数将原始图像进行灰度处理后,再使用matla自带graythresh函数,获取所要分割图像最佳值中间灰度值,再通过imbinarize函数获得二值图,使用bwareaopen函数进行优化图像,strel函数结合imopen(开运算)函数和imclose(闭运算)函数继续优化图像,用bwlabel函数标注边缘regionprops函数检测面积直径,bwboundarie函数描述圆形图像边缘,使用plot函数以及holdon暂停函数来输出边缘。也可以用二值化图通过edge函数进行边缘检测获取边缘黑白图再用subplot函数和原图像对比。图像的采集所需要的硬件设备:镜头,工业相机,安装设备的各种支架,装载matlab系统的计算机设备进行图像的处理的。图像处理系统对图像进行提取特征值,生成二值图。对图像优化处理,如除去噪点,干扰图像等。获取图形边缘图形,及其计算图形直径,面积。利用比例关系将像素点转换回其物体直径。关键:机器视觉检测的项目中最重要的内容是如何获取得到一张高质量,高水平的的图像,需要获得这些需要从选环境因素的不同、镜头选择、安装布置、自动化集成系统、工件类型的变化等等,其中的只要有部分的设置没有安排的合适就会,没有办法获得足够好的图片,那么设计再厉害的软件算法都没有做用,而且因为生产线都有良品率和检测速度的要求,如果整个视觉检测系统不能够智能快速可靠的话那误检率会非常之高,对公司来说这是一个很大的损失。实现系统步骤完整的图像采集系统设备的选择和设计光源的选择选择使用Led环形光源优点为使纯直流供电没有频闪,所以不会对设备产生谐波干扰提高图像的采集质量,led环形灯是360°均匀照射在被观察物体上,不会有虚影的产生,图像内容清晰度高,解决对角照射阴影问题(有阴影容易在二值化时对阴影进行错误的判断,以为是物体的一部分);同时该灯可选配漫射板导光。拥有0-100%线性亮度调节,达到最佳视觉效果同时也不易受到环境中其他光源的影响。但也会带来的缺点是从高反射表面看会有圆形眩光。应用领域:PCB基板检测,IC元件检测等工业相机内容注意以及选择工业相机由于工作环境和其他普通消费相机的大为不同,其对性能稳定和,安装简单,相机内部结构规划合理且不易损坏,工业相机需要连续不停的工作,需要在严峻的环境中使用。工业相机的帧率远远高于普通相机,它扫描的方式是通过对视场范围一行一行进行的,这和普通相机的图像传感器方式不同,逐行扫描的图像传感器生产工艺比较复杂,成品率比较低,出货量少,工业相机输出的事裸数据其光谱内容比较丰富,比较适合高质量的图像处理算法,工业相机相对比普通相机来说价格昂贵物有所值。图像在色彩的选择上,黑白的和彩色的相同的分辨率下,黑白的精度会比彩色高,尤其是在看图像边缘的时候,黑白的效果更好,对比的边缘的会比较突出有利于高质量的图片产出,在工业相机选择上进行精度的测量更多使用黑白相机,以提高精度减少系统的误差。在需要检测产品颜色是才选择彩色相机更为正确。对于设计的系统要求是检测圆形物品的大小,工厂中这种一般为低速检测或静止检测,所以选择面阵相机即可。工业相机使用CCD2/3英寸即可通常来说,相机的分辨率越低,同样的接口,帧率也会越高,而分辨率越高,帧率也会越低,帧数看具体情况选择。在镜头光圈中一般规律为:当光圈越大的时候和焦距变长,物体和镜头距离近,景深就会越小;当光圈越小的时候和焦距变短,物体和镜头距离远,景深就会越大。镜头的选择镜头的主要作用是通过对光线的变化将成像目标照射到图像传感器的光敏面。在工业环境的检测中镜头多是用于可见光,又因为测物体为固定了测量距离,以及测量视场大小所以成像过程中不需要改变放大倍率则可以采用定焦镜头,且也不需要做特殊的滤波处理,还需要考虑镜头的过滤散光的效果如何,用做于在测量拍摄物体中,尤其应该重视畸变。镜头主要参数焦距(FocalLength)焦距就是从镜头的中心点到感受器上所形成的清晰影像之间的距离,焦距有什么作用是:焦距的大小是决定着图片可视范围的大小,当焦距数值较小时,图像上可视角度就大,图像上观察到的可视范围也大;当焦距数值较大时,图像上可视角度就小,图像上观察到的可视范围也小,如图1.2,f为焦距,a为可视角度,在相机中焦距是与单一片凸透镜的焦距的概念是不同的,在相机上安装的镜头远远不止由一片凸透镜构成的而是有多种不同的凸透镜和凹透镜,然而单片凸透镜的焦距只是平行光线汇聚到一点,所以这点到凸透镜中心的距离就是为单片凸透镜的焦距如图1.1。工业相机镜头焦距的参数一般使用mm来划分。图1.1图1.2光圈(Iris)光圈的一个作用是控制光线进入相机到达感光面的量装置,光圈的另一个作用是可以调整景深,光圈的数值越小,光圈孔径越大,景深越浅,背景虚化越明显。光圈的数值越大,光圈孔径越小,景深越深,背景虚化越不明显,如图1.3,光圈同时可以控制明暗程度。图1.3光圈通过控制进光量来控制景深等,我们可以把相机的光圈,当成人眼睛里的瞳孔。当周围环境的光线变强烈的时候,我们的瞳孔会自动变小,这样进入眼睛内部的光线变少,也就是进光量变少画面也会同时变暗;当周围环境的光线减弱的时候,我们的瞳孔会自动变大,这样进入眼睛内部的光线变多,也就是进光量变多画面也会同时变亮,这样就可以保证周围环境可以在视网膜上能正常成像,如图1.4。图1.4相机的光圈也是利用控制进入相机的光量的多少进行调节。如果环境光线不足,则可以增大光圈以让更多的光线进入相机。如果环境光充足,就可以减小光圈的大小以减少进入相机的光。景深(DepthofField,DOF)在工业相机拍摄时,调节相机镜头使图像内容清晰可见的过程称为对焦。场景中的点称为焦点。“清晰”是个相对来说的概念,在焦点之前及其后面一定距离内的场景可以使图像清晰,这个清晰的前后范围称为景深。换句话说,只要在该范围内就可以清楚地捕捉到场景,超出该范围就无法清晰地拍摄捕捉。一般前景深小于后景深,如图1.5。图1.5快门像光圈一样,快门也具有控制入射光量的作用。当将入射光的量与水管中的水进行比较时,该水管开关开启大小就可以控制水量,也就是光量中的光圈,而快门就像水管上的开关时间,通过调节开关接通的时间来控制水量,快门则用光量通过时间来表示。如果光线充足,可以适当提高快门速度以捕捉精彩瞬间。在夜晚或黑暗的地方,需要适当减小快门速度,以确保照相机正确曝光。ISO的作用:改变传感器的光敏度相机的ISO感光度描述了感光元件对光强度的敏感度。IOS对感光度的调节在增大的时候,图像的亮度将会提高,同时增加灵敏度还具有增加噪声的副作用。当IOS调节减小的时候,感受器对光线的接受能力变低,图案就会变暗,同时相对来说噪点同时也会减少。可想而知在光照不足的地方需要提高IOS的值来保证快门速度提高图像的亮度,反过来在光线充足时降低IOS的值。分辨率(Resolution)总的来说分辨率就是在在一张纸上画出许多相同大小的格子,每一个格子中就有这个图像的一部分,当格子越来越多的时候(也就是分辨率越来越大),图像的显示内容会更加清晰,同时格子多了处理的内容也同时增加,也就是内存也变大,通常,分辨率的单位dpi、ppd、ppi,图像分辨率决定着图像的质量,当图像分辨率越大,像素点越小,质量就越高,反之当图像分辨率越小,像素点越大,质量就越低。传感器CCD(Sensor)传感器CCD是一个电荷耦合器件。传感器的作用在相机中是将光学信号转变成为电流信号,同时在经过各种电路转换就可将变成图像。一个好的传感器在像素数量,尺寸大小,光的灵敏度,信噪比都有十分重要的关系,镜头成像直径可以主要覆盖最大CCD芯片尺寸(传感器尺寸,1英寸=25.4mm):1/2英寸(例如:必须为1/2英寸,目标表面高度为6.4)必须查询计算)2/3“,1”和1“或更多,CCD尺寸对照表如表1.1。表1.1镜头选型选择镜头接口和最大CCD尺寸镜头的接口选择需要和相机的接口一致,如不一至需要多购买转接装置使的镜头可以安装在相机上;其次还需要考虑镜头所能支持的CCD尺寸,当CCD大于镜头,时会出现视场范围,可视范围变小,缺失想要的边缘信息。所以选购时需要镜头所支持的CCD要大于等于相机的CCD即可。选购镜头焦距计算方法如图1.6,在明确相机CCD尺寸大小、视野(FOV)大小和工作距离(WD)的情况下,就可以获得镜头所需要支持的焦距为多少。图1.6选择镜头光圈在工厂中,工件产品一般不能照射阳光,虽然工厂环境会比较干燥,但是环境的光源还是会比较不足所以光圈的大小,可以稍微中等偏大的大小,以提高采集图像的亮度,提高图像的质量,但是实际情况还是需要由工厂的具体环境来选择光圈的大小。选购分析要给圆形物体检测成像系统选配工业相机镜头:一元硬币直径大小25mm,视场范围至少为40mm(H)*30mm(V),分辨率可选满足800*60048万像素,精度满足0.05mm,工作距离大于5mm。选购的为环形白色LED光源镜头必须在可见光带内,产品的大小基本不变所以镜头选择定焦即可以减少选购的经济。由于本产品适用于检测工业产品是否合格,所以镜头需要选择畸变小的镜头。接口须是可用于相机的C端口,或选购转接装置。工作距离和焦距:成像倍率M=5.2um/0.05mm=1.04、焦距f'=L*M/(M+1)=52毫米如果物距需要超过5mm,则所选镜头的焦距应超过52mm。通过分析和计算上述方面,可以预先绘制该镜片的“轮廓”。它可用于定焦,可见光波段,C端口,至少2/3英寸CCD以及焦距大于17mm的成像。失真应该很小。可选用MindVision的MV-UB130M工业相机,相机参数如表1.2:表1.2采集设计原理通过相机获取多个圆形尺寸图像,再计算多个圆形尺寸的面积大小记为area。通过使用regionprops.Area函数就可以统计目标尺寸像素个数记为area_pic,通过k=area/area_pic得到k实际面积和图像像素关系,同样在相同拍摄条件下目标的像数点总数记为x,那么目标尺寸的面积y≈k*xcm2,同理可以获得目标直径的大小。获取图像信息获取硬件信息使用matlab中Imaqreset函数获取加载工业相机类型。在使用imaqhwinfo函数获取相机的名字,比如名字为'picvideo',之后imaqhwinfo('picvideo')函数来进一步获取相机的各种需要信息。使用win_info.DeviceIDs获取ID,d_win_info.SupportedFormats获取相机支持的格式,配合所需要的支持的硬件信息。创建视频对象和可选看预览获取的视频流获取相机的各种信息后,就可以通过使用函数pic=videoinput(camera_name,camera_id,format)来创建一个名为pic的视频对象。照相机则可以使用preview(vid)创建预览窗口。通过捕获的视频流来对比相机所捕获的内容是否正确,后使用closepreview(vid)关闭窗口,关闭视频流。获取的视频流的重要信息可以通过诸如get(vid)和get(getselectedsource(vid))之类的get函数获得视频图像信息。您可以使用set函数为相机拍摄的某些图像设置属性值,也可以使用结构数组中的“点”直接分配值。例如,要继续通过相机获取图像,可以先将TriggerRepeat的值设置为无限,再可以设置FrameGrabInterval函数来控制相机获取图像的速度。开始获取图片开始图像采集需要使用start函数,结束时使用stop函数表示结束采集。图像分析处理系统图像分析系统总的来说图像分析系统是从图像中获取一些可以作为判断图片所需要的内容信息来得到数值结果。图像分析主要步骤是先使用图像分割来提取图像特征,后象征性地描述图像,优化图像并处理所需的结果。再MATLAB中一共有四种基本的图像格式,它们分别是二值图像、灰度图像、索引图像和真彩色图像,在图像处理的过程中有时需要知道图像的图片类型,有时需要对图像的格式进行适当的转换。彩色图像转换成灰度图像的方法:将彩色图像的R、G、B三个分量求和并取它们的平均值,将得到的平均值作为需要的灰度图像的像素值。所得到的灰度值图像再进行寻找最佳的中间值进行二值图的处理。二值图获取之后进行物体边缘的检测以及物体边缘直径的切割和计算圆形物体面积和直径所占的像素点数,通过上述的K值公式进而的出所需要的实际面积和直径等。读取原图像如图1.7:图1.7图像处理方式灰度图像变为二值图像使用graythresh函数即可获取最佳中间灰度值。使用imbinarize函数分割灰度图像转为二值图,也可以使用im2bw函数将灰度图转二值和imbinarize函数使用效果相同灰度图像如图1.8:图1.8灰度值分布情况图1.9可以看出:图1.9降噪优化二值图获取二值图像之后先对起进行优化处理,可使用的优化方式有进行平滑处理,消除图像中的噪点,保持边缘信息的不丢失,可以使用中值滤波处理(主要通过求中值来实现的。其滤波的主要过程是:首先确定某一像素点领域的大小,然后把这一领域的像素值由小到大排列,用领域中的像素中值去代替该点的像素值。该滤波能够较好的滤除椒盐噪声)等等方法。具体将使用matlab所带的函数进行优化:bwareaopen函数作用是删除图像中不需要的面积,可以用做删除噪点,第一先设置需要删除的面积大小P,当不超过这P时的面积都可以删。strel函数结合imopen函数(开运算),作用是:使图像的特证边缘平滑,消除边缘上突出的部分保持大小不变。strel函数结合imclose函数(闭运算)作用是闭合图像边缘断裂部分,消除小孔。还利用regionprops函数中提供的区域属性,所需要的图像外统统将忽略从而优化函数准确性经过二值化的图像,如图1.10:图1.10边缘检测方式边缘检测算子:边缘就是图像中色彩或者灰度值变化剧烈的地方,所以可以在灰度值变化较为强烈的地方微分运算,得到和其他地方不一样的较大的数值[1]。由于laplacian算子方法对噪声相对敏感,因此该算子很少用于边缘检测,但用于确定是否应将边缘像素视为图像的亮或暗区域。将是使用检测边缘函数:BW=edge(I,'canny');只需要通过改变后的算子即可达到所需要的效果,I为所需要处理的二值图,BW为获取之后的边缘。采用不同的算法开展了图像的边缘检测,发现阈值越大,图像的边缘效果越好,不同的算法检测边缘的完整性、连续性、对噪声的敏感性也表现出不一样的特征[5]。其中利用了bwboundaries函数对其边缘检测所得到的边缘坐标信息,通过用plot函数将其边缘描述在原图像上,进而更加直观的看出其边缘特征。如图1.11.图1.11获取直径与面积对处理之后的图片进行图像的像素运算,数字图像是以矩阵的形式存储的,矩阵的每个元素代表着一个像素点的像素值。运算的方法主要有点运算、代数运算(加减乘除等)[7,12,13],以及图像的逻辑运算测量其近似两端边缘的长度,结合之前的所得到的比例关系进而获得物体的直径。在获取面积公式之中使用matlab所给的函数获取需要的内容。Bwarea函数-计算对象面积,功能:估算二进制图像中对象的面积。bwulterode函数-距离转换的最大值,函数:最终腐蚀。求出二值图像BW的距离转换图的面积的最大值。默认情况下,用于距离转换的距离是欧几里得,并且连通性是八个邻居。imregionalmin函数-获取最小面积,功能:查找图像最小面积I(最大面积),默认conn=8regionprops功能用于计算标记区域的面积分布并显示区域总数。需要使用regionprops函数计算出两个属性。一个是“区域”图像每个区域中的像素总数regionprops.Area,另一个是包含相应区域最小矩形的“边界框”regionprops.BoundingBox。直径的像素数和面积的像素数由平均函数计算以减少像素误差。获取到直径与面积像素个数后和两个K值相乘的得到实际的面积直径。误差计算查看多次计算平均直径和实际直径的误差有多少,将平均直径值和实际值做差值进而得到误差,若是误差值的大小相对误差平均为5%左右,测量精度在95%左右,误差值偏大则将重新计算,选择其他的优化图像方式,重新执行上面程序,使用其他图像边缘检测方法处理方法进一步提高其准确率。在则使用其他的圆形物体测量它的直接最后得出整套系统的准确率,查看其系统的通用性如何。程序构想读取图片程序使用imaqhwinfo函数获取安装在计算机上的摄像头的名称,使用ID通过win_info.DeviceIDs获取设备ID,然后使用d_win_info.SupportedFormats支持摄像头格式,视频输入(camera_name,camera_id,格式)功能可获取视频preview(vid)并创建一个窗口来预览内容是否正确,closepreview关闭窗口,获取视频图像信息,get(通过将FrameGrabInterval的值设置为getselectedsource(vid)或get(vid)函数vid.TriggerRepeat=Inf,设置常量的值来获取图像。使用start函数来开始进行图像获取,结束时使用stop函数。优化函数的构造构造一个image_bw函数作用是将RGB图片先优化成为gray图像,在进行优化成一个二值图或直接将的灰度优化为二值图。以及对二值图进行优化提高准确性。构造内容方法:使用size函数判断图片是怎样的矩阵,再使用numel函数进行判断具体几个量,3个量为RGB图像,2个值则为灰度图。当为彩色图片时将使用rgb2gary函数把RGB图片转为灰度图,再使用graythresh函数选择最佳的灰度中间值,最后最佳值灰度值用在关键的imbinarize函数上合理的将灰度图转为二值图。同理,灰度图形也是这样转为二值图。转换之后使用bwareaopen函数删除小面积的噪点或则是其他的影响因素,在使用strel函数结合imopen(开运算)和imclose(闭运算)进行更加深度的优化过程。之后将优化后所得到的image给输出。构造求直径以及面积的的函数构造一个pic_value函数,其作用是计算二值图中所测圆形物体的像素点总数,以及目标圆形物体的直径和面积所占用的像素点个数。构造内容方法:输入参数有:输入的图片,以及是否显示描述的边缘及其最小矩形。先将输入的图片给到image_bw函数进行二值化的处理得到二值图,后使用其取反用黑色的底色进行描述背景,使用bwlabel函数进行对二维二值图像中各个分离部分进行标注,处理三维的可以使用bwlabeln函数,在使用其中最为关键的函数:regionprops函数,他是用作度量图像区域属性,使用了regionprops.Area子项以及regionprops.BoundingBox分别获取其面积像素点和最小矩形数据等。使用area_pixel=cat(1,pic_regionprops.Area)函数方式获取图片中物体的所占图片的像素点总数,后用[~,ind]=sort(area_pixel,'descend');对图片中检测到的各个图形进行关于像素点多少的降序排列。pic_gray(pic_gray_label~=ind(1))=0;将图片中做不需要的检测图片统统变黑,也就是抹去干扰内容,再一次的对图片进行优化,将得到一个只有所测图片的轮廓的的黑白图片,在使用:[B,L,N]=bwboundaries(pic_gray);函数进行边缘检测B检测到的具体坐标L检测的图像N检测到的图形个数,B的作用是将描述边缘,具体可以通过window_值是为多少进而判断是否需要描述出图片边缘的模样需要描述具体代码实现则为:boundary=B{1};figure;imshow(pic);holdon;plot(boundary(:,2);boundary(:,1),'g','LineWidth',2);通过描述可以获得这个圆形物体图片的边缘描述。需要获其最小矩阵的方法则是使用regionprops中的regionprops.BoundingBox这样可以描述圆形物体中的最小矩形实现:rec=pic_regionprops(ind(1)).BoundingBox;rectangle('Position',rec,'EdgeColor','r','LineWidth',2);然后利用pic_regionprops(ind(1)).BoundingBox;中提供的直径的像素点可以获得所需要圆形物体直径对其使用mean函数进行均值计算进而减少误差。面积像素点的获取方式则是直接使用regionprops.Area赋值给area输出即可得到所需的圆形物体面积像素点总数。最后将我们所需要输出的目标物体直径像素点,面积像素点,目标二值图,以及图中检测到的图形个数构成元胞进行输出;其中需要输出检测到图形个数的原因判断圆形物体目标优化效果如何,图片内容是否有干扰区域,是否需要进行加强图片的内容优化。构造计算K值函数构造k_value函数,将构造两个K值一个是有关于直径的K值用k_dia表示,另一个使用关于面积的K值使用k_area表示,用两个k值的作用是减小误差,排除因直径算错而导致面积也算错,或通过k值得到的直径而计算得出的面积,和利用K值计算得到的面积差值是否在合理范围内,作判断面积或直径计算是否正确减小误差。构造的函数具体方式:使用input函数提示所输入所需要对照物体的实际直径,以及面积大小;输入对照物体的图片,再利用前面构造的image_bw函数得到二值图在给构造的pic_value函数得到对照物体的直径像素点(diameter)和面积像素点(area),通过K=(实际值)/(像素数)公式得到k_dia和k_area值,输入多种物体图片进行提高K值的准确性减小误差。后将两个K值组成矩阵进行输出。主程序的编码进行输入图片的地址,利用循环函数循环和时间函数间隔的检测图片内容,以获取图片中圆形物体的面积直径内容。
设计反思与改进采集系统选择镜头和相机选择还有许多可以改进的方面,在价格和性能的选择上,需要结合实际情况,不然一切的想法都只是纸上谈兵禁不起实践。在降噪优化的方面可以用更多自己构造的函数进行处理,思路:对任意像素点判断是否为0,取得该像素点周围8个或者四个像素点相加,总和等于255*8或者255*4,则说明该像素点为噪声,置为255。领域的计算方法是没有边界的,所以不计算图像四边,如此就可以简单的判断是否为噪点。在灰度图像转二值图中还可以使用其他的优秀方式,二值细化法等。这个二值化的过程十分重要,对之后直径面积判断有十分重要的影响,或许可以对图像的各个部分进行分割一部分,比如,图像下半部分有阴影可以将下半部的阴影提高它的最佳灰度中间值,不会使阴影部分也成为了物体的一部分。在搭建采集系统光源,以及背景颜色可以使用和检测物体形成较大反差的。如此一来就可以使物体图像边缘更加突出,有利于程序的检测,减小误差,提高检测精度。检测的物体,距离相机的位置不宜太远不然会使处理图像的大小大大增加让硬件过载运行不利于系统,提高了系统维护成本。将本系统运用到实际检测中,检测的精度或许达不到标准的,不过对于,精度要求并不大的确实很足够以及也可以辅助质检员是完全没问题的。
毕业设计总结我在做毕业设计的整个过程中,询问老师和前辈许多有关于matlab识别的知识,让我受益匪浅同样也让我认识到自己知识就像是井底之蛙还远远的不够。十分感谢老师对我的帮助,使我搭建起了系统。过程中还运用在之前课程内容中的知识。毕业设计是我在大学最后一次作业,这个作业是要将自己在大学生活中所学系的知识运用起来。经过这次测量图像圆形目标系统设计,能够更加融汇贯通的使用matlab语言,我不再单纯是只有matlab的理论知识,我还能够使用matlab自己设计编写一个小型的视觉系统,对毕业设计对我的实践的能力有了很大提升,收获的成果满满。在视觉系统的设计中有非常多的困难,尤其是在选用不同镜片和相机时,和搭建这个采集系统的准确位置,还有采集距离对图片也有很大的影响关系到了采集精度的属性。这些对图像的采集都是至关重要的选择一点都不能马虎。再来就是,对图像处理时有许多函数的选择,也可以自己构造函数进行图像的优化,这个小小的优化也是会对系统最后的准确程度有大大的提升,以及也很重要的目标图像的边缘检测边缘能否检测出来关系到了是否可以得到目标图像的面积直径的关键所在,最后前面的所计算的K值是否准确也关系到了系统的误差大小是多少,总之在过程中都十分重要缺一不可。这次的毕业设计也让我意识到与他人的沟通交流是非常重要的。此次设计出现的问题都会成为我的宝藏,因为这些问题的存在,会让我更多的去进步,让我更加的能通过自己的学习和与他人的交流,找到解决的办法。
参考文献[1]钱月.基于MATLAB的图像形态学处理技术与应用[J].内江师范学院学报.2019(10)[2]周绍春.变焦镜头和初中物理学习中的相关问题[J].物理教师,2005(11):21-21.[3]黄锋华,刘琪芳,冀金凤.基于matlab数字图像处理边缘检测算子的研究[J].机械工程与自动化,2011(4).[4]曾俊.图像边缘检测技术及其应用研究[D].武汉:华中科技大学,2011.[5]董云峰.基于MATLAB的图像边缘检测方法的研究[J].大庆师范学院学报.2018(5)[6]黄时杰,曾建华.图像边缘检测与分割的MATLAB实现[J].赤峰学院学报(自然科学版).2019(9)[7]赵平.MATLAB在数字图像处理中的应用[D].重庆:重庆交通大学土木工程学院[8]陈炳权,刘宏立,孟凡斌.数字图像处理技术的现状及其发展方向.吉首大学学报(自然科学版),2009,30(1)[9]黄凯奇,任伟强,谭铁牛.图像物体分类与检测算法综述[J].计算机学报,2014[10](美)RafaelC.Gonzalez,RichardE.Woods著,阮秋琦,阮宇智等译.数字图像处理.第三版.北京:电子工业出版社,2003.88-97[11]掬鸥,袁晓桂.基于阈值分割技术的图像分割法研究[J].现代电子技术,2016,39(16):105—107.[12]李致勇.河道突缩引发的溃决型洪水流量衰减效应研究[J].中国优秀硕士学位论文全文数据库,2016(01):96-96.[13海蜇斯基.摄影手把手,光圈的奥秘[J].计算机应用文摘,2010(25):2-2.
[14]罗超.视频图像处理凸显细节价值[J].中国公共安全,2018(12):142-147.
谢辞感谢我的指导老师,盛一成老师,没有您的光学和matlab方面的悉心指导,就没有这篇论文的顺利完成。感谢在疫情期间对我们身体健康格外关心的向导。在此,我还要感谢信息学院的所有老师,他们在我的四年研究中为我提供了很多教学和帮助。我会一直记得您们给我的指导和教育。感谢所有在大学四年级期间教过我很多专业知识的老师,没有您们提供了指导和帮助我很难毕业。我在北理珠的大学四年学习生涯中,有优质的学校,优秀的老师,出色的朋友同学,在我的生活中有你们的出现,激励着我奋发图强努力的做好自己,让自己的大学生活充满了色彩。图书馆里的灯,明德楼的山路,弘毅楼的各路大神,知行楼的实验,精工楼中磨得锤子都将会是我一生中最珍贵的回忆。母校细心的培养了我四年,是时候让我为这个缤纷时代中贡献了自己的一份力量。感谢和我一起生活四年的室友和隔壁的兄弟,你们使我的大学生活充满了喜悦和温暖。感谢我周围的所有朋友和同学。感谢你们,是你们让我的大学生活充满了欢乐与温馨,我们同走过的路很美。我们江湖再见!!!
附录附录1程序源代码functionk=k_value()%计算k的大小是多少,进而可以得到实际的像素与实际的比例关系%%%输入B的大小也就是测试圆的实际大:dia=input('请输入圆实际直径是多少:');area=input('请输入圆实际面积是多少:');%%%第一步进行K值的计算%利用圆图像占用像素点个数进行得出A在和实际测量圆形直径B,K=A/B;pic_=imread('pic/_qqq2.jpg');pixel_sum=pic_value(pic_,0);diameter=pixel_sum{1};area_=pixel_sum{2};k_area=area/area_;k_dia=dia/diameter;k=[k_dia,k_area];附录2程序源代码%%%调用测试圆函数获取K值:%k_=k_value();%%%读取图片的内容pic=imread('pic/_qqq2.jpg');%%%获取图片中物体的总像素直径个数以及面积总像素pixel_sum=pic_value(pic,0);diameter=pixel_sum{1};area=pixel_sum{2};%%%计算实际的直径,面积real_dia=k_(1).*diameter;real_area=k_(2).*area;disp('检测的直径为:');disp(real_dia);disp('检测的面积为:');disp(real_area);附录3程序源代码functionpic_data=pic_value(pic,window_)%计算二值图中图片的像素点总数,计算测得圆形物体用像素个数,以及目标物体直径高等等%pic:输入的图片window_0:要边缘描述出来,最小矩形画出来;%%%面积测算pic_gray=~image_bw(pic);%对彩色图片处理成黑白二值图;pic_gray_label=bwlabel(pic_gray,8);%bwlabel主要对二维二值图像中各个分离部分进行标注pic_regionprops=regionprops(pic_gray_label);%使用regionprops函数得到图片区域属性值area_pixel=cat(1,pic_regionprops.Area);%获取图片中物体的所占图片的像素点总数[~,ind]=sort(area_pixel,'descend');%对图片中检测到的各个图形进行关于像素点多少的降序排列pic_gray(pic_gray_label~=ind(1))=0;%将图片中做不需要的检测图片统统变黑,也就是抹去干扰内容[B,L,N]=bwboundaries(pic_gray);%就进行边缘检测B检测到的具体坐标L检测的图像,N检测到的图形个数rec=pic_regionprops(ind(1)).BoundingBox;ifwindow_~=0boundary=B{1};%通过polt函数和B所提供的(x,y)坐标进行描述边缘figure;imshow(pic);holdon;plot(boundary(:,2),...boundary(:,1),'g','LineWidth',2);%通过regionprops做提供的BoundingBox参数内容(在这box中,提供了最小矩形的长和宽)rectangle('Position',rec,'EdgeColor','r','LineWidth',2);%黑白轮廓描述:%subplot(224),imshow(pic_rgb_gray);%边缘检测方法一:%获取轮廓方法bwperim函数%bw_output=bwperim(pic_rgb_gray,8);%边缘检测方法二:%获取轮廓方法edge函数,canny算子进行检测%bw_output=edge(pic_rgb_gray,'canny');%imshow(bw_output);end%通过长和宽检查是否为圆形,用mean函数减小误差length_error=abs(rec(3)-rec(4));iflength_error<=5diameter=mean(rec(3:4));elsediameter=[rec(3),rec(4)];end%将做需要输出的内容构成一个元胞进行输出pic_data={diameter,area_pixel,L,N};附录4程序源代码functionpic_rgb_gray=image_bw(pic)%进行图片的二值化处理,形成黑白的图片(可以再优化)%pic输入的图片%%dimension=numel(size(pic));%判断几个量2个是灰度图ifdimension==3%三个是彩色图pic_rgb=rgb2gray(pic);%rgb转灰度graythresh_1=graythresh(pic_rgb);%寻找最佳二值中间数%imshow(pic_rgb)imhist(pic_rgb)pic_rgb_gray=imbinarize(pic_rgb,graythresh_1);%转黑白图在2016中可以使用im2bw()-rgb可以直接转化为二值图%subplot(121),imshow(pic);%subplot(122),imshow(pic_rgb_gray)elsegraythresh_1=graythresh(pic);pic_rgb_gray=imbinarize(pic,graythresh_1);%subplot(121),imshow(pic);%subplot(122),imshow(pic_rgb_gray)end%%%优化图片内容突出物体pic_rgb_gray=bwareaopen(pic_rgb_gray,300,8);%删除小面积%进行消除小面积对象se=strel('square',10);fo=imopen(pic_rgb_gray,se);%开运算pic_rgb_gray=imclose(fo,se);%闭运算%imshow(pic_rgb_gray),title('开闭运算后的图像')
HYPERLINK电脑快捷知识大全编辑本段一、常见用法F1显示当前程序或者windows的帮助内容。F2当你选中一个文件的话,这意味着“重命名”F3当你在桌面上的时候是打开“查找:所有文件”对话框F10或ALT激活当前程序的菜单栏windows键或CTRL+ESC打开开始菜单CTRL+ALT+DELETE在win9x中打开关闭程序对话框DELETE删除被选择的选择项目,如果是文件,将被放入回收站SHIFT+DELETE删除被选择的选择项目,如果是文件,将被直接删除而不是放入回收站CTRL+N新建一个新的文件CTRL+O打开“打开文件”对话框CTRL+P打开“打印”对话框CTRL+S保存当前操作的文件CTRL+X剪切被选择的项目到剪贴板CTRL+INSERT或CTRL+C复制被选择的项目到剪贴板SHIFT+INSERT或CTRL+V粘贴剪贴板中的内容到当前位置ALT+BACKSPACE或CTRL+Z撤销上一步的操作ALT+SHIFT+BACKSPACE重做上一步被撤销的操作Windows键+L锁屏键Windows键+M最小化所有被打开的窗口。Windows键+SHIFT+M重新将恢复上一项操作前窗口的大小和位置Windows键+E打开资源管理器Windows键+F打开“查找:所有文件”对话框Windows键+R打开“运行”对话框Windows键+BREAK打开“系统属性”对话框Windows键+CTRL+F打开“查找:计算机”对话框SHIFT+F10或鼠标右击打开当前活动项目的快捷菜单SHIFT在放入CD的时候按下不放,可以跳过自动播放CD。在打开word的时候按下不放,可以跳过自启动的宏ALT+F4关闭当前应用程序ALT+SPACEBAR打开程序最左上角的菜单ALT+TAB切换当前程序ALT+ESC切换当前程序ALT+ENTER将windows下运行的MSDOS窗口在窗口和全屏幕状态间切换PRINTSCREEN将当前屏幕以图象方式拷贝到剪贴板ALT+PRINTSCREEN将当前活动程序窗口以图象方式拷贝到剪贴板CTRL+F4关闭当前应用程序中的当前文本(如word中)CTRL+F6切换到当前应用程序中的下一个文本(加shift可以跳到前一个窗口)在IE中:ALT+RIGHTARROW显示前一页(前进键)ALT+LEFTARROW显示后一页(后退键)CTRL+TAB在页面上的各框架中切换(加shift反向)F5刷新CTRL+F5强行刷新目的快捷键激活程序中的菜单栏F10执行菜单上相应的命令ALT+菜单上带下划线的字母关闭多文档界面程序中的当前窗口CTRL+F4关闭当前窗口或退出程序ALT+F4复制CTRL+C剪切CTRL+X删除DELETE显示所选对话框项目的帮助F1显示当前窗口的系统菜单ALT+空格键显示所选项目的快捷菜单SHIFT+F10显示“开始”菜单CTRL+ESC显示多文档界面程序的系统菜单ALT+连字号(-)粘贴CTRL+V切换到上次使用的窗口或者按住ALT然后重复按TAB,切换到另一个窗口ALT+TAB撤消CTRL+Z编辑本段二、使用“Windows资源管理器”的快捷键目的快捷键如果当前选择展开了,要折叠或者选择父文件夹左箭头折叠所选的文件夹NUMLOCK+负号(-)如果当前选择折叠了,要展开或者选择第一个子文件夹右箭头展开当前选择下的所有文件夹NUMLOCK+*展开所选的文件夹NUMLOCK+加号(+)在左右窗格间切换F6编辑本段三、使用WINDOWS键可以使用Microsoft自然键盘或含有Windows徽标键的其他任何兼容键盘的以下快捷键。目的快捷键在任务栏上的按钮间循环WINDOWS+TAB显示“查找:所有文件”WINDOWS+F显示“查找:计算机”CTRL+WINDOWS+F显示“帮助”WINDOWS+F1显示“运行”命令WINDOWS+R显示“开始”菜单WINDOWS显示“系统属性”对话框WINDOWS+BREAK显示“Windows资源管理器”WINDOWS+E最小化或还原所有窗口WINDOWS+D撤消最小化所有窗口SHIFT+WINDOWS+M编辑本段四、“我的电脑”和“资源管理器”的快捷键目的快捷键关闭所选文件夹及其所有父文件夹按住SHIFT键再单击“关闭按钮(仅适用于“我的电脑”)向后移动到上一个视图ALT+左箭头向前移动到上一个视图ALT+右箭头查看上一级文件夹BACKSPACE编辑本段五、使用对话框中的快捷键目的快捷键取消当前任务ESC如果当前控件是个按钮,要单击该按钮或者如果当前控件是个复选框,要选择或清除该复选框或者如果当前控件是个选项按钮,要单击该选项空格键单击相应的命令ALT+带下划线的字母单击所选按钮ENTER在选项上向后移动SHIFT+TAB在选项卡上向后移动CTRL+SHIFT+TAB在选项上向前移动TAB在选项卡上向前移动CTRL+TAB如果在“另存为”或“打开”对话框中选择了某文件夹,要打开上一级文件夹BACKSPACE在“另存为”或“打开”对话框中打开“保存到”或“查阅”F4刷新“另存为”或“打开”对话框F5编辑本段六、桌面、我的电脑和“资源管理器”快捷键选择项目时,可以使用以下快捷键。目的快捷键插入光盘时不用“自动播放”功能按住SHIFT插入CD-ROM复制文件按住CTRL拖动文件创建快捷方式按住CTRL+SHIFT拖动文件立即删除某项目而不将其放入SHIFT+DELETE“回收站”显示“查找:所有文件”F3显示项目的快捷菜单APPLICATION键刷新窗口的内容F5重命名项目F2选择所有项目CTRL+A查看项目的属性ALT+ENTER或ALT+双击可将APPLICATION键用于Microsoft自然键盘或含有APPLICATION键的其他兼容键编辑本段七、Microsoft放大程序的快捷键这里运用Windows徽标键和其他键的组合。快捷键目的Windows徽标+PRINTSCREEN将屏幕复制到剪贴板(包括鼠标光标)Windows徽标+SCROLLLOCK将屏幕复制到剪贴板(不包括鼠标光标)Windows徽标+PAGEUP切换反色。Windows徽标+PAGEDOWN切换跟随鼠标光标Windows徽标+向上箭头增加放大率Windows徽标+向下箭头减小放大率编辑本段八、使用辅助选项快捷键目的快捷键切换筛选键开关右SHIFT八秒切换高对比度开关左ALT+左SHIFT+PRINTSCREEN切换鼠标键开关左ALT+左SHIFT+NUMLOCK切换粘滞键开关SHIFT键五次切换切换键开关NUMLOCK五秒QQ快捷键,玩QQ更方便Alt+S快速回复Alt+C关闭当前窗口Alt+H打开聊天记录Alt+T更改消息模式Ait+J打开聊天纪录Ctrl+A全选当前对话框里的内容Ctrl+FQQ里直接显示字体设置工具条Ctrl+J输入框里回车(跟回车一个效果)Ctrl+M输入框里回车(跟回车一个效果)Ctrl+L对输入框里当前行的文字左对齐Ctrl+R对输入框里当前行的文字右对齐Ctrl+E对输入框里当前行的文字居中Ctrl+V在qq对话框里实行粘贴Ctrl+Z清空/恢复输入框里的文字Ctrl+回车快速回复这个可能是聊QQ时最常用到的了Ctrl+Alt+Z快速提取消息Ctrl+Alt+A捕捉屏幕最常用的快捷键F5刷新DELETE删除TAB改变焦点CTRL+C复制CTRL+X剪切CTRL+V粘贴CTRL+A全选CTRL+Z撤销CTRL+S保存ALT+F4关闭CTRL+Y恢复ALT+TAB切换CTRL+F5强制刷新CTRL+W关闭CTRL+F查找SHIFT+DELETE永久删除CTRL+ALT+DEL任务管理SHIFT+TAB-反向切换CTRL+空格--中英文输入切换CTRL+Shift输入法切换CTRL+ESC--开始菜单CTRL+ALT+ZQQ快速提取消息CTRL+ALT+AQQ截图工具CTRL+ENTERQQ发消息Alt+1保存当前表单Alt+2保存为通用表单Alt+A展开收藏夹列表资源管理器END显示当前窗口的底端HOME显示当前窗口的顶端NUMLOCK+数字键盘的减号(-)折叠所选的文件夹NUMLOCK+数字键盘的加号(+)显示所选文件夹的内容NUMLOCK+数字键盘的星号(*)显示所选文件夹的所有子文件夹向左键当前所选项处于展开状态时折叠该项,或选定其父文件夹向右键当前所选项处于折叠状态时展开该项,或选定第一个子文件夹自然键盘【窗口】显示或隐藏“开始”菜单【窗口】+F1帮助【窗口】+D显示桌面【窗口】+R打开“运行”【窗口】+E打开“我的电脑”【窗口】+F搜索文件或文件夹【窗口】+U打开“工具管理器”【窗口】+BREAK显示“系统属性”【窗口】+TAB在打开的项目之间切换辅助功能按右边的SHIFT键八秒钟切换筛选键的开和关按SHIFT五次切换粘滞键的开和关按NUMLOCK五秒钟切换切换键的开和关
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 妊娠期生殖器疱疹的健康宣教
- 脓疱型银屑病的临床护理
- JJF(陕) 013-2019 微量总有机碳分析仪校准规范
- 《解读自由基》课件
- 北师大版不等式课件
- 大班级风采展示活动策划计划
- 掺混肥相关行业投资规划报告
- 充换电站相关行业投资方案范本
- 割灌机相关行业投资方案
- 课程研究小组的组织与管理计划
- 中考道法一轮复习讲练测七年级下册(综合测试)(原卷版)
- 《我们的动物朋友》作业设计方案-2023-2024学年科学大象版2001
- 电梯维护保养规则(TSG T5002-2017)
- MOOC 美化嗓音 轻松讲课-爱课程 中国大学慕课答案
- 髂总动脉瘤的护理查房
- 麻醉科科室副主任述职报告
- 2024年铁岭卫生职业学院单招综合素质考试题库及答案解析文档版
- 食品行业的食品安全与质量控制
- 关于开展2024年职工合理化建议征集评选活动的通知
- 月季嫁接技术的培训课件
- 中心静脉深静脉导管维护操作评分标准
评论
0/150
提交评论