版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、前 言机器人技术综合了多学科的发展成果,集成了智能控制、人工智能、信息处理、图像处理、检测与转换等专业为一体,跨机械、电子、自动控制、计算机等多学科,代表了高技术的发展前沿,在工业制造、军事、航天等方面都得到了广泛的应用。它在人类生活应用领域中已经不断扩大。人类从外界获取信息,一般是通过视觉、触觉、听觉、嗅觉等感觉器官来实现的。其中,60-80的信息是由人的眼睛,即视觉来获得。让机器人具有视觉是人类的一个梦想。长期以来,人类的视觉系统一直是学者们非常感兴趣的领域。人们进行了大量的研究,希望通过某种人工的手段来实现人类的视觉功能。计算机视觉正是在这些研究的基础上逐渐形成的一门新的学科。它包括所有
2、由人类设计并在计算机环境下实现的模拟人的某些视觉功能的技术。计算机视觉是一个相当新且发展于分迅速的研究领域,并成为计算机科学和人工智能的重要研究领域之一。计算机视觉是在20世纪50年代开始的,当时的工作主要集中在二维图像分析和识别上,如光学字符识别、工件表面、显微图片和航空图片的分析和解释等。此时的视觉研究都是基于二维的,而且多数是采用模式识别的方法完成分类工作。 总之,视觉是一种感知周围环境最复杂的手段,也是最有效的手段,随着科学技术的发展,计算机视觉的应用范围日益扩大,无论是生物视觉系统,其最终的目的都是要帮助较大的系统来完成它的职责或生命的生存,这是非常重要的任务。因此视觉系统必须能够从
3、景物图像中提取对完成这些任务十分有用的信息。 机器人视觉的目的,是使用机器人能够像人眼一样对环境进行感知、解释和理解。现代信息社会的发展方向是数字化、网络化和智能化。信息技术的创立和发展的轨迹就是人脑信息处理过程的模仿。我们需要计算机与人之间可以没有障碍的交流沟通,这样才是信息智能化的最大的体现。但是目前人机对话的问题是妨碍信息智能化最大的障碍。计算机的图像识别,语音识别,文字识别等都难以尽如人意。 机器人在对目标进行识别时,首先要对目标进行分割。目标分割对于机器人视觉处理来说有着至关重要的作用。他处于处理系统的最底层,是其他高级应用如目标跟踪、目标识别的基础。只有正确地检测并分割出运动目标才
4、能进行后面的工作,否则就会产生很大的偏差和错误,以致后面的工作无法开展。运动目标的图像分割是当前国内外研究的热门课题,国外许多重要的期刊如optical Engineering,IEEE Transaction on Pattern Analysis and Machine Intelligence以及AD报告等,经常刊登有关该领域的学术论文。国内一些学者也在该领域做了大量的工作,并取得了一些成果,有的己经得到实际应用。图像分割自20世纪70年代起一直受到人们的高度重视,至今已提出上千种分割算法.但因尚无通用的分割理论,现提出的分割算法大都是针对具体问题的,并没有一种适合所有图像的通用分割算法
5、。因此对机器人图像分割研究具有很大的研究价值。第1章 视觉机器人概况1.1 MACROBUTTON AcceptAllChangesInDoc 机器人视觉的概念机器人视觉系统是指用计算机来实现人的视觉功能,也就是用计算机来实现对客观的三维世界的识别。机器人视觉主要研究用计算机来模拟人的视觉功能从客观事物的图像中提取信息,进行处理并加以理解,最终用于实际检测、测量和控制。 人类视觉系统的感受部分是视网膜,它是一个三维采样系统。三维物体的可见部分投影到视网膜上,人们按照投影到视网膜上的二维成像来对该物体进行三维理解。如果把三维客观世界到二维投影像看作是一种正变换的话,则机器人视觉系统所要做的是从这
6、种二维投影图像(灰度阵列)到三维客观世界的逆变换,也就是根据这种二维投影图像去重建三维的客观世界。1.2 机器人视觉的发展及应用机器人视觉系统按其发展可分为三代。第一代机器人视觉的功能一般是按规定流程对图像进行处理并输出结果。这种系统一般由普通数字电路搭成,主要用于平板材料的缺陷检测。第二代机器人视觉系统一般由一台计算机,一个图像输入设备和结果输出硬件构成。视觉信息在机内以串行方式流动,有一定学习能力以适应各种新情况。第三代机器人视觉系统是目前国际上正在开发使用的系统。采用高速图像处理芯片,并行算法,具有高度的智能和普通的适应性,能模拟人的高度视觉功能。 国外机器人视觉系统应用于很多方面,如用
7、于海洋石油开采,海底勘查的水下机器人;用于医疗外科手术及研究的医用机器人;帮助人类了解宇宙的空间机器人;完成特殊任务的核工业机器人等。虽然我国在机器视觉方面的发展与世界先进水平相比还有一定差距,但机器视觉系统的研制工作也取得了一定的成果。我国视觉机器人应用主要有以下目的:用以代替人类从事危险、有害和恶劣环境、超净环境下的工作;把人从肮脏、繁重的劳动中解放出来;提高劳动生产率,改善产品质量,快速响应市场要求,加强在国际市场的竞争能力。1.3 机器人视觉目前存在的主要问题目前的机器人视觉存在以下一些问题: 1. 如何准确、高速(实时)地识别出目标。 2.如何有效地构造和组织出可靠的识别算法,并且顺
8、利地实现。这期待着高速的阵列处理单元,以及算法(如神经网络法、小波变换等算法)的新突破,这样就可以用极少的计算量高度地并行实现功能。 3.实时性是一个难以解决的重要问题图像采集速度较低以及图像处理需要较长时间给系统带来明显的时滞,此外视觉信息的引入也明显增大了系统的计算量,例如计算图像雅可比矩阵、估计深度信息等等图像处理速度是影响视觉系统实时性的主要瓶颈之一。 4.稳定性是所有控制系统首先考虑的问题,对于视觉控制系统,无论是基于位置、基于图像或者混合的视觉伺服方法都面临着如下问题:当初始点远离目标点时,如何保证系统的稳定性,即增大稳定区域和保证全局收敛;为了避免伺服失败,如何保证特征点始终处在
9、视场内。第2章 运动目标的图像分割原理图像分割是一种重要的图像技术,在理论研究和实际应用中都得到了人们的广泛重视。图像分割的方法和种类有很多,有些分割运算可直接应用于任何图像,而另一些只能适用于特殊类别的图像。有些算法需要先对图像进行粗分割,因为他们需要从图像中提取信息。值得提出的是,没有唯一的标准的分割方法,不同类型的图像,有相对应的分割方法对其分割,同时,某些分割方法也只是适合于某些特殊类型的图像分割。分割结果的好坏需要根据具体的场合及要求衡量。图像分割是从图像处理到图像分析的关键步骤,可以说,图像分割结果的好坏直接影响对图像的理解。2.1图像的二值化二值化是最常用的图像阈值分割处理,图像
10、分割是一种特殊的图像技术,也是一种重要而关键的图像分析技术。图像分割是进行图像分析关键步骤,也是进一步理解图像的基础。图像二值化是数字图像处理技术中的一项最基本的变换方法,即选择一个阈值,将图像转换为黑白二值图像,将所需要的目标部分从图像的背景中分离出来,用于图像分割及边缘跟踪等预处理。假设一幅灰度图像的灰度值为,设有一阈值为,则 (2-1)通常,用二值图像中的1来表示目标予图,用0来表示背景子图。如果图像中某个像素的灰度值小于该阈值,则该像素的灰度值置为0,否则将其灰度值置为1。其变换函数曲线如图2-1所示图 2-1 二值化曲线示意图二值化的方法很多,关键在于阈值T的选取,而T的取值方法又取
11、决于二值化的技术,T的选择有基于由点的像素灰度值单独决定的、有由像素的局部特征决定的、也有基于全局像素决定的。阈值可以分为两类:全局阂值和局部阈值。全局阂值是对整个图像采用一个阈值进行划分,例如非零像素置l化、固定阈值二值化、判断分析二值化、基于灰度直方图的阈值法等。局部阈值法是将图像分成一些子块,对于每一块选定一个阂值,如动态阈值法,如果已知正确的图像的一些特征,那么阈值确定只要试验不同的值,看是否满足特征即可,如果前景物体的内部具有均匀一致的灰度值,并分布在另一个灰度值的均匀背景上,那么图像的灰度直方图有明显双峰。这种情况下可选择两峰之间的谷点作为门限值。该方法的优点是比较简单,但不适用于
12、两峰值相差比较大、有宽且平的谷底的图像。二值化的关键是寻找一个分割阈值,选用不同的阈值其处理结果差异很大。在确定阈值时,如果阈值定的过高,偶然出现的物体点就被认作背景,丢失所需的部分;反之,如果阈值定的过低,则会提取多余的部分(注意:当前背景为白色,目标对象为黑色时刚好相反)。精确阈值的选取一般是在多次试验的结果下完成的。2.2边缘检测图像的边缘是图像最基本的特征。所谓边缘(或边沿),是指其周围像素灰度有阶跃变化或屋顶变化的那些像素的集合。边缘广泛存在与物体与背景之间、物体与物体之间、基元与基元之间。因此,它是图像分割所依赖的重要特征。图像的边缘有方向和幅度两个特性。通常,沿边缘走向的像素变化
13、平缓,而垂直于边缘走向的像素变化强烈。这种变换可能呈现阶跃型、屋顶性、和凸缘型,如图2-2所示。这些变化分别对应景物中不同的物理状态。例如,阶跃型变化常常对应目标的深度或反射边界,而后两者则常常反映表面法线方向的不连续。图 2-2 灰度变化的几种类型2.2.1边缘检测的概述边缘检测(Edge detection)是图像处理中的一个重要的环节。经典的边缘检测方法是对原始图像按像素的某个邻域构造边缘检测算子。边缘检测算子(Edge detector)是一组用于在亮度函数中定位变化的非常重要的局部图像预处理方法,边缘是亮度发生急剧变化的位置。在微积分学中是用导数来描述连续函数的变化的,图像函数依赖于
14、两个变量,即图像平面坐标,因此,描述边缘的检测算子使用偏导数。我们给出一个模板 和一幅图象 。不难发现原图中左边暗,右边亮,中间存在着一条明显的边界。进行模板操作后的结果如下: 。可以看出,第3、4列比其他列的灰度值高很多,人眼观察时,就能发现一条很明显的亮边,其它区域都很暗,这样就起到了边沿检测的作用。为什么会这样呢?仔细看看那个模板就明白了,它的意思是将右邻点的灰度值减左邻点的灰度值作为该点的灰度值。在灰度相近的区域内,这么做的结果使得该点的灰度值接近于0;而在边界附近,灰度值有明显的跳变,这么做的结果使得该点的灰度值很大,这样就出现了上面的结果。这种模板就是一种边沿检测器,它在数学上的涵
15、义是一种基于梯度的滤波器,又称边沿算子,你没有必要知道梯度的确切涵义,只要有这个概念就可以了。梯度是有方向的,和边沿的方向总是正交(垂直)的,例如,对于上面那幅图象的转置图象,边是水平方向的,我们可以用梯度是垂直方向的模板 检测它的边沿。例如,一个梯度为45度方向模板 ,可以检测出135度方向的边沿。边缘检测技术对于数字图像是非常重要的,提取出边缘是将目标和背景区分开来的基础。2.2.2索贝尔算子索贝尔算子(Sobel operator)是图像处理中的算子之一,主要用作边缘检测。在技术上,它是一离散性差分算子,用来运算图像亮度函数的梯度之近似值。在图像的任何一点使用此算子,将会产生对应的梯度矢
16、量或是其法矢量。核心公式:该算子包含两组3x3的矩阵,分别为横向及纵向,将之与图像作平面卷积,即可分别得出横向及纵向的亮度差分近似值。如果以A代表原始图像,Gx及Gy分别代表经横向及纵向边缘检测的图像,其公式如下: and (2-2) 图像的每一个像素的横向及纵向梯度近似值可用以下的公式结合,来计算梯度的大小。 (2-3) 然后可用以下公式计算梯度方向。 (2-4)在以上例子中,如果以上的角度等于零,即代表图像该处拥有纵向边缘,左方较右方暗。Sobel 算子有两个,一个是检测水平边沿的 ;另一个是检测垂直平边沿的 。与 和 相比,Sobel算子对于象素的位置的影响做了加权,因此效果更好。Sob
17、el算子另一种形式是各向同性Sobel(Isotropic Sobel)算子,也有两个,一个是检测水平边沿的 ,另一个是检测垂直平边沿的 。各向同性Sobel算子和普通Sobel算子相比,它的位置加权系数更为准确,在检测不同方向的边沿时梯度的幅度一致。下面的几幅图中,图2-3为原图;图2-4为普通Sobel算子处理后的结果图;图2-5为各向同性Sobel算子处理后的结果图。可以看出Sobel算子确实把图象中的边沿提取了出来。图2-3 原图图2-4 普通Sobel算子处理后的结果图 图2-5 各向同性Sobel算子处理后的结果图由于Sobel算子是滤波算子的形式,用于提取边缘,可以利用快速卷积函
18、数, 简单有效,因此应用广泛。2.3图像的膨胀操作在获取的视频中,由于光照、背景与目标像素相近等的原因,在进行边缘检测,轮廓提取时,往往会出现断线的问题。本文在进行边缘检测后增加一步膨胀操作,可以防止轮廓边缘断线的问题。2.3.1膨胀的基本原理膨胀是数学形态学的一个基本运算。数学形态学是一门建立在集论基础上的学科,是几何形态学分析和描述的有力工具。由于其并行快速、易于硬件实现,已引起了人们的广泛关注。目前,数学形态学己在计算机视觉、信号处理与图像分析、模式识别、计算方法与数据处理等方面得到了极为广泛的应用。数学形态学可以用来解决抑制噪声、特征提取、边缘检测、图像分割、形状识别、纹理分析、图像恢
19、复与重建、图像压缩等。数学形态学是以形态结构元素为基础对图像进行分析的数学工具。它的基本思想是用具有一定形态的结构元素去度量和提取图像中的对应形状,以达到对图像分析和识别的目的。数学形态学的应用可以简化图像数据、保持它们基本的形状特征、并除去不相干的结构。数学形态学的基本运算有4个:膨胀、腐蚀、开启和闭合。它们在二值图像中和灰度图像中各有特点,基于这些基本运算还可以推导和组合成各种数学形态学实用算法。数学形态学的基本思想及方法适用于与图像处理有关的各个方面,如基于击中,击不中变换的目标识别,基于流域概念的图像分割,基于腐蚀和开运算的骨架抽取及图像编码压缩,基于测地距离的图像重建,基于形态学滤波
20、器的颗粒分析等。迄今为止还没有一种方法能像数学形态学那样既有坚实的理论基础,简洁、朴素、统一的基本思想,又有如此广泛的实用价值。本文主要利用数学形态学中的膨胀的思想,实现目标区域的饱和,从而可以解决可能出现的轮廓断线问题。膨胀可以看作是将图像X中的每一个点x扩大为B+x(其中B为结构元素),记作XB。若用集合语言,它的定义为 (2-5)2.3.2 结构单元的选取在作形态变换运算时,首先必须选取结构单元(structure element)。结构单元实际上是一个小窗口内的灰度“形态”,也就是当窗口大小一定时,只需要确定窗口内各点的数值大小。一般来讲,结构单元的中心作为非边缘处的灰度差允许的值,而
21、中心周围的元素主要在决定图像增强边缘运算时当前点与它周围的点之间“是否有边缘存在”起决定作用。数值的确定一般根据特定的目的结合试验效果来进行。利用大小不同的结构单元进行膨胀变换时,大尺度的结构单元会将一些错误的噪声信息并入到变换结果中,小尺度的结构单元又不能够完美的得到变换结果,使得膨胀变换失去意义,因此,结构单元大小的选取要恰到好处。2.4填充操作虽然膨胀的二值图像可以比较精确地显示汽车的轮廓,但是在膨胀后的图像中,汽车内部仍有孔洞。为了除去这些孔洞,我们需要对图像进行填充操作。填充操作的一个用途就是对图像中的孔洞进行填充。例如,对于一幅二值或者灰度图像,前景对象代表球体。在图像中,这些对象
22、应该是实心的,但是由于原始照片中存在反射现象而呈现圆环状态。在对这幅图像作进一步的处理之前,可以先对其进行填充操作。MATLAB中使用imfill函数进行此操作。对于二值图像和灰度图像,imfill函数规定的连通性决定了其处理过程中的边界。Imfill函数与其他基于目标对象操作的函数不同,它对背景像素进行操作。当用imfill函数指定连通性的时候,指定的是背景像素的连通性,而不是前景像素的连通性。2.5图像腐蚀为了使分割后的图像看上去更自然,一般使用图像腐蚀操作使图像看上去更加光滑。图像腐蚀是指删除图像中对象的边缘,删除的像素数码依赖于处理过程中使用的结构元素的大小和和形状腐蚀对Z中的集合A和
23、B,B对A进行腐蚀的整个过程如下: 用结构元素B,扫描图像A的每一个像素 用结构元素与其覆盖的二值图像做“与”操作 如果都为1,结果图像的该像素为1。否则为0腐蚀处理的结果是使原来的二值图像减小一圈。 与图像膨胀类似,图像腐蚀的关键因素也是结构单元的选取,方法与原理与图像膨胀相同。2.6 MATLAB循环计算由于视频文件是由一帧一帧的图像按一定顺序连接而成,对图像的处理方法同样适用于对视频文件的处理,只不过是逐帧选取图像,然后对每一帧图像进行处理,最后再将处理后的每帧图像按原来的顺序连接成视频。因此就要用到循环计算的方法。循环计算可按给定的条件,重复执行指定的语句。Matlab用于实现循环计算
24、的语句有for语句和while语句。对于循环的使用需要注意,为了最快得到执行速度,在for循环被执行前,应预先分配数组。否则,在for循环内每执行一次命令,就对数组重新分配一次内存,这样会降低matlab的执行效率。2.7本章小结 本章主要介绍了本设计中运动目标分割的各个步骤的基本原理,首先介绍了边缘检测以及边缘检测中的sobel算子,然后介绍形态学中的图像膨胀,图像腐蚀以及图像填充的原理以及功能。最后介绍了基于MATLAB的循环处理的方法。第3章 软件设计与实现软件设计与实现本设计的灵魂。说得具体一点软件设计就是用编写程序的方法来满足实际工作的需要。而程序是算法与语言的融合在前一章中已经详细
25、叙述了本文在实现运动目标分割时所研究和应用的算法本章的主要内容就是用程序语言实现算法的结果,进而满足设计要求3.1 MACROBUTTON AcceptAllChangesInDoc 软件概述本设计是结合视觉机器人平台,在Windows XP平台上采用MATLAB语言开发。MATLAB语言是一种高级的矩阵语言,它包含控制语句、函数、数据结构、输入和输出和面向对象编程特点。MATLAB语言语言是基于流行的C+语言基础上的,因此语法特征与C+语言极为相似,而且更加简单,更加符合科技人员对数学表达式的书写格式。而且这种语言可移植性好、可拓展性强,这也是MATLAB能够深入到科学研究及工程计算各个领域
26、的重要原因。MATLAB具有出色的图形处理功能,能够将向量和矩阵用图形的形式表现出来,它对整个图形处理功能进行了很大的改进和完善,使它不仅在一般数据可视化软件都具有的功能方面更加完善,而且对于一些其他软件所没有的功能,MATLAB同样表现了出色的处理能力。 3.2 MACROBUTTON AcceptAllChangesInDoc 基于本设计的MATLAB处理方法3.2.1关于matlab的边缘检测Matlab图像处理工具箱使用edge函数来检测边界,这个函数寻找像素值剧烈变化的像素点。Edge函数用来求边界的方法很多,其中有sobel、prewitt、roberts、log、zeroscro
27、ss和canny方法。在边沿检测中,常用的一种模板是Sobel 算子。Sobel 算子有两个,一个是检测水平边沿的 ;另一个是检测垂直平边沿的 。由于Sobel算子对于象素的位置的影响做了加权,因此检测效果较好。故本文采用sobel方法,在matlab中其常见用法为:BW=edge(I, sobel)BW=edge(I, sobel,thresh)BW=edge(I, sobel,thresh,direction)BW=edge(I, sobel,thresh,direction,options)其中,I是输入的图像;sobel指所用的边缘检测方法为sobel;thresh指阈值,低于该阈值的
28、像素值将被忽略;direction是指sobel方法的检测方向,可取值horizontal,vertical或者both;options是一个可选的输入,默认情况下为thinning,即边缘细化,当取nothinning的时候,边缘不细化,因此可以加快算法的速度;BW是返回的图像的边缘,像素值为1的像素构成了图像的边缘。如图 所示为Sobel 边缘检测效果,左边为原始图像,右边为sobel边缘检测后的图像。 原始图像 sobel边缘检测后的图像图 3-13.2.2关于matlab的图像形态学操作对图像进行膨胀可以使用matlab图像处理工具箱中的imdilate函数,imdilate函数主要接
29、收两个输入参数,一个是要处理的图像(灰度或二值图像),另一个是strel函数返回的结构元素图像,或者是定义了结构元素领域的二值矩阵。Imdilate函数常见调用方法如下:IM2=imdialate(IM,se)IM2=imdialate(IM,NHOOD)IM2=imdialate(,shape)其中:IM是输入的要处理的二值图像或灰度图像;SE是strel函数返回的结构元素;NHOOD是一个元素值只有0或1的矩阵,规定了结构元素的领域;shape规定了输出图像的形状,有两种选择,一种为same,即跟输入图像相同大小;一种为full,是全膨胀后的结果;IM2是返回的膨胀后的图像。图3-2所示是
30、二值图像膨胀后的结果,图3-3所示是灰度图像膨胀后的结果。其中,左边为原始图像,右边为膨胀后图像。 原始图像 膨胀后图像 图 3-2 原始图像 膨胀后图像 图 3-3使用imerode函数进行图像腐蚀。imerode函数与imdilate函数的用法类似,它主要接收两个基本输入参数:待处理的输入图像以及strel结构元素对象。此外,imerode函数还可以接受3个可选参数:PADOPT(padopt) 影响输出图片的大小、PACKOPT(packopt).说明输入图像是否为打包的二值图像(二进制图像)。M指定原始图像的行数。Imerode函数常用调用方法如下:IM2=imerode(IM,SE)
31、IM2=imerode(IM,NHOOD)IM2=imerode(,shape)其中:IM是输入的要处理的二值图像或灰度图像;SE是strel函数返回的结构元素;NHOOD是一个元素值只有0或者1的矩阵,规定了结构元素的领域;shape规定了输出图像的形状,有两种选择,一种为same,即跟输入图像相同大小;一种为full,是全腐蚀后的结果;IM2是返回的腐蚀后的图像图3-4是二值图像腐蚀后的的图像,左边图为原始图像,右边图为腐蚀后图像,可以看到腐蚀后的图像中圆形目标变小,也就是说腐蚀是指使目标对象被“腐蚀”,从而使目标对象变小,这与膨胀结果正好相反。 原始图像 腐蚀后图像 图 3-4图3-5是
32、灰度图像腐蚀后的图像,左边图为原始图像,右边图为腐蚀后图像 原始图像 腐蚀后图像图 3-5膨胀和腐蚀操作经常被一起使用来对图像进行处理。如图3-6可以看到,腐蚀后的图像中去除了小的线性结构同时矩形块形状也变小,而膨胀使图像中的矩形块变大了。左边图为原始图像,中间图为腐蚀后图像,右边图为先腐蚀后膨胀的图像。 原始图像 腐蚀后的图像 先腐蚀后膨胀的图像 图3-6 MATLAB图像处理工具箱中使用imfill函数对二值图像或者灰度图像进行填充操作。它的常见调用方法如下 BW2=imfill(BW,locations) BW2=imfill(BW,hole) I2=imfill(I) BW2=imfi
33、ll(BW,locations,conn) 其中BW是指二值图像;locations规定了填充操作的起始点;holes规定了填充二值图像中的孔洞;I是指灰度图像,即此函数可以填充灰度图像;conn规定了连通性,其值对于二维图像来说可以为4或8。图3-7所示为对图像进行填充的图像,左边图为原始图像,右边图为填充后图像。 原始图像 填充后图像图3-73.3 MACROBUTTON AcceptAllChangesInDoc 程序设计3.3.1 设计流程这里以高速公路上行驶的汽车为例,对该方法进行介绍。图3-16是本设计流程的流程图。图3-8 设计流程图首先用mmreader函数读取素材视频,得到视
34、频如图3-8所示。 图 3-9 素材视频图选取素材视频中的一桢图像,用rgb2gray函数把该彩色图像转换成灰度图像,如图3-9所示。其中,左边为视频中选取的一帧原图,右边为转换为灰度图像后的图片。 原始图像 灰度图像图 3-10 使用sobel算子来计算图像的边缘和阈值,然后在原阈值的基础上修改阈值使检测到的边缘更合理,以获得更精确的图像边缘。获得边缘的图像如图3-10所示图 3-11 边缘分割图二值梯度图像的线条显示了图像中汽车目标边缘比较高的对比度,但这些线条还不能精确的描述我们感兴趣的轮廓。与原始图像相比,可以看到目标的线条并不联系,含有缝隙。如果使用线性结构元素对二值图像进行膨胀,这
35、些不连续的线条将会消失。首先使用垂直方向的线性结构元素对二值图像进行膨胀,然后使用水平方向的结构元素对二值图像进行膨胀,使用strel函数生成结构元素,用函数imdiate对图像进行膨胀。结果如图3-11所示。图 3-12 膨胀后图像虽然膨胀的二值图像可以比较精确地显示出目标轮廓,但是在膨胀后的图像中,目标内部仍有孔洞。为了去除这些孔洞,需要使用imfill函数对图像进行填充,填充后的图像如图3-12所示。图 3-13 填充后图像虽然目标已经分割出来,但是周围还有很多其它目标。为了去除周围的目标,这里使用imclearborder函数进行操作,结果如图3-13所示。在imclearborder
36、函数中,设置连接性为4来去除其余目标。图 3-14 去除目标后图像 清除边缘目标后的图像看上去并不光滑,为了使分割后的图像看上去更自然,这里使用菱形结构元素对图像进行腐蚀,以使图像看上去更加光滑。腐蚀后的图像如图3-14所示。图 3-15 腐蚀后图像再用bwperim函数获取目标边界,如图3-15所示。 图 3-16 目标边界图 最后再给边界赋色为红色,这样就完成了对一帧图像的处理。由于视频是由一系列图像连接而成,在处理是需要使用循环逐帧对数据进行处理,这里调用for函数,完成此项操作。循环结束后,就顺利实现了运动目标的分割。 3.3.2 实验结果如下是实验前后的对比图像,其中,图3-17为处
37、理前的视频截取图像,图3-18为处理后的视频截取图像。 图3-17 实验对比图例:处理前 图3-18实验对比图例:处理后 3.4 MACROBUTTON AcceptAllChangesInDoc 本章小结 本章主要讲述了与本设计有关的各个步骤的MATLAB处理方法,首先介绍了边缘检测中的sobel算子用法,形态学中的图像膨胀,图像腐蚀以及图像填充的的实现方法。然后对整个设计流程做了分析,同时对处理的各个步骤进行了试验,试验结果表明:这些处理方法能够很好地分割出运动目标。结 论本论文分析了视频运动汽车检测、分割的研究背景、发展状况和应用领域,详细讨论视觉机器人基于固定场景中运动目标的检测。由于
38、时间有限本文的工作重点在于工程应用,尝试了各种算法,比较各个算法的优缺点和适用场合,详细叙述了在运动目标检测及分割方面所涉及的相关内容,并给出了一个基于实验目的的算法演示系统。论文完成的主要工作和研究成果有:1.在进行边缘检测方法的基础上,加入了膨胀操作,填充操作,使得能够获取精确的边缘。2.采用图像腐蚀操作,使清楚边缘目标后看上去不光滑的图像变得更为自然。本文在视频运动目标分割方面做了一些研究,但鉴于该研究领域的应用背景和所涉及的知识内容极其广泛,作者认为在以下几方面有待做进一步研究:1.本文的工作都是基于单摄像机和静止背景的,摄像机和背景发生相对运动的情况本文没有涉及,对于后一种情况的运动
39、目标分割研究,则需进一步研究。2.本文仅限于对目标的分割研究,没有涉及到对目标进一步地跟踪和识别。参考文献1罗宇华.计算机视觉M.北京:人民邮电出版社,20042章毓晋.图像理解与计算机视觉M.北京:清华大学出版社,20003段峰,王耀南,雷晓峰,等.机器视觉技术及其应用综述J.自动化博览,2002(3):59-614FRANCI L,ROK B,et Al.Machine vision system for inspecting electric plates.Computers in Industry, 2002(47):113-1225PFEIFER T,WIEGERS L.Reliab
40、le tool wear monitoring by optimized image and illumination control in machine vision.Measurement, 2000(28):209-1286COKAL E,ERDEN A.Development of an image processing system for special purpose mobile robot navigation Proceedings of Fourth Annual Conference on Mechatronics and Machine vision in Prac
41、tice. 1997:246-2527Rafael C. Gonzalez、Richard E. Woods. Digital Image Processing Second Edition. Publishing House of Electronics Industry. 20038余成波.数字图像处理及Matlab实现M.重庆大学出版社,20039Welsey E. Snyder、Hairong Qi著.机器人视觉教程 J.机械工业出版社,200510王东署,李光彦,徐心和.打磨机器人误差建模与参数辨识J.控制工程,2006.72(5):22011Marr D.Vision-A Comp
42、utational Investigation into the Human Representation and Processing of Visual Information, WH.Freeman, San Francisco, 200312Elias N.Malamas,Euripides G.M.Petrakis,Michalis Zervakis.et al.A survey on industrial vision system,applications and tools. Image and Vision Computing, 2003, 21:171-18813刘瑞扬.货
43、车运行故障动态图像检测系统(TFDS)的原理与应用J.中国铁路,2005,(5):26-2714胡小峰,赵辉编著. ViusalC+/MATLAB图像处理与识别实用M.人民邮电出版社,200415马颂德,张正友.计算机视觉M . 北京: 科学出版社,2002,52-7016余松煜等.数字图像处理M. 北京: 电子工业出版社. 200317朱枫.像平面与空间平面的变换及其在移动机器人中的应用J.机器人,2002 ,20 (2):98-10318苏建波.机器人视觉系统非标定的平面运动跟踪J.系统工程与电子技术,2000,21 (6) :50-5319张贞子.机器人视觉定位及跟踪D .哈尔滨:哈尔滨
44、工业大学,200320KenethR C.数字图像处理M.北京:电子工业出版社,200121崔屹.图像处理与分析一数学形态学方法及应用M,科学出版社,2000.422王春平,朱元昌等.电视跟踪系统中图像目标的预测跟踪算法研究J.测控技术.1999,18(3):45-4723张英琦,何洪涛.一种基于数学形态学的灰度图像边缘检测方法J,西南交通大学学报,2000,31(5) 24张思芳,李正明.一种实时成像跟踪系统的研究J.光学精密工程.2002,10(6):573-57725王晓明,顾晓东,刘健.基于张量的图像边缘检测及滤波J.中国图形图像学报, 2002(8) 780-78226章毓晋,图像处
45、理和分析M,清华大学出版社,200027陶霖密,徐光佑.机器视觉中颜色的问题及应用J.科学通报,2001,46(3):178-19028梁吉,蒋式勤等.视觉检测系统及其应用J,微计算机信息2003,12(1):12-15致谢在完成大学本科学业期间,我得到了许多人的关心、支持和帮助,没有他们的帮助,我是不可能顺利完成学业的。首先要对我的毕业设计指导老师王老师表示衷心的感谢。从论文的选题到撰写,都凝聚了导师的心血与汗水,王老师宽阔的视野、渊博的知识、敏锐的洞察力和严谨的科学作风,给我留下了深刻印象,并将使我受益终身。正是由于导师在学习和生活上无微不至的关怀,才使得我的论文得以顺利完成。同时,我还要
46、感谢大学四年来教育过我的所有老师们,你们教给我的不光是专业理论知识,还有对待工作、对待学术的严谨的态度,我在以后的工作生活中会谨记这些教诲。我还要感谢我同组的两个同学,在毕业设计期间,我们互借资料,互相分享每一步的研究结果,不会的问题互相探讨,才是我的设计能够顺利完成。最后,我还要感谢一直在背后默默支持我的家人。是因为他们的支持与厚爱,我才能够顺利完成学业。附录程序及其说明trafficObj = mmreader(traffic.avi) %从多媒体文件中读取数据get(trafficObj) %获取视频信息nframes = get(trafficObj, NumberOfFrames)
47、%帧数I = read(trafficObj, 1) %第一帧图像taggedCars = zeros(size(I,1) size(I,2) 3 nframes, class(I); for k = 1 : nframes singleFrame = read(trafficObj, k) %读取图像 I = rgb2gray(singleFrame) %转化为灰度图像 junk threshold = edge(I, sobel) %边缘检测fudgeFactor = 0.5;BWs = edge(I,sobel, threshold * fudgeFactor) %改变参数再检测边缘se
48、90 = strel(line, 3, 90) %垂直的线性结构元素se0 = strel(line, 3, 0) %水平的线性结构元素BWsdil = imdilate(BWs, se90 se0) %对图像进行膨胀BWdfill = imfill(BWsdil, holes) %对图像进行填充BWnobord = imclearborder(BWdfill, 4) %去除边界seD = strel(diamond,1) %菱形结构元素BWfinal = imerode(BWnobord,seD) %腐蚀图像BWfinal = imerode(BWfinal,seD) %腐蚀图像BWoutl
49、ine = bwperim(BWfinal) %取得汽车边界Segout = singleFrame; Segout(BWoutline) = 255 %汽车边界处置255taggedCars(:,:,:,k) = Segout %在原始图像上显示边界endframeRate = get(trafficObj,FrameRate)implay(taggedCars,frameRate) %播放视频使用说明用单目机器人所带摄像头获取素材,用本文所介绍的方法输入程序,即可获得目标分割的结果。 测试报告 本设计选用不同视频素材,经多次试验结果表明,该设计能够得出较好的动态目标分割结果。附录资料:不需
50、要的可以自行删除常用电工与电子学图形符号序号符号名称与说明1直流 注:电压可标注在符号右边,系统类型可标注在左边2直流 注:若上述符号可能引起混乱,也可采用本符号3交流 频率或频率范围以及电压的数值应标注在符号的右边,系统类型应标注在符号的左边50Hz示例1: 交流 50Hz100600Hz示例2:交流 频率范围100600Hz380/220V 3N 50Hz示例3:交流,三相带中性线, 50Hz, 380V(中性线与相线之间为220V)。3N可用3+ N代替3N 50Hz/TN-S示例4:交流,三相,50Hz,具有一个直接接地点且中性线与保护导线全部分开的系统4低频(工频或亚音频)5中频(音
51、频)6高频(超音频,载频或射频)7交直流8具有交流分量的整流电流注:当需要与稳定直流相区别时使用9N中性(中性线)10M中间线11+正极12-负极13热效应14电磁效应过电流保护的电磁操作15电磁执行器操作16热执行器操作(如热继电器、热过电流保护)17电动机操作18正脉冲19负脉冲20交流脉冲21正阶跃函数22负阶跃函数23锯齿波24接地一般符号25无噪声接地(抗干扰接地)26保护接地27接机壳或接底板28等电位29理想电流源30理想电压源31理想回转器32故障(用以表示假定故障位置)33闪绕、击穿34永久磁铁35动触点注:如滑动触点36测试点指示示例点,导线上的测试37交换器一般符号/转换
52、器一般符号注:若变换方向不明显,可用箭头表示在符号轮廓上38电机一般符号,符号内的星号必须用下述字母代替C同步交流机 G 发电机G8同步发电机 M电动机MG拟作为发电机或电动机使用的电机MS同步电动机 注:可以加上符号或SM伺服电机 TG测速发电机TM力矩电动机 IS感应同步器39三相笼式异步电动机40三相线绕转子异步电动机41并励三相同步变速机42直流力矩电动机步进电机一般符号43电机示例:短分路复励直流发电机示出接线端子和电刷44串励直流电动机45并励直流电动机46单相笼式有分相扇子的异步电动机47单相交流串励电动机48单向同步电动机49单向磁滞同步电动机自整角机一般符号符号内的星号必须用
53、下列字母代替:CX 控制式自整角发送机 CT控制式自整角变压器TX 力矩式自整角发送机 TR 力矩式自整角接收机50手动开关一般符号51按钮开关(不闭锁)52拉拔开关(不闭锁)53旋钮开关、旋转开关(闭锁)54位置开关 动合触点限制开关 动合触点55位置开关 动断触点限制开关 动断触点56热敏自动开关 动断触点57热继电器 动断触点58接触器触点(在非动作位置断开)59接触器触点(在非动作位置闭合)60操作器件一般符号 注:具有几个绕组的操作器件,可由适当数值的斜线或重复本符号来表示61缓慢释放(缓放)继电器的线圈62缓慢吸合(缓吸)继电器的线圈63缓吸和缓放继电器的线圈64快速继电器(快吸和
54、快放)的线圈65对交流不敏感继电器的线圈66交流继电器的线圈67热继电器的驱动器件68熔断器一般符号69熔断器式开关70熔断器式隔离开关71熔断器式负荷开关72火花间隙73双火花间隙74 动合(常开)触点 注:本符号也可以用作开关一般符号75动断(常闭)触点76先断后合的转换触点77中间断开的双向触点78先合后断的转换触点(桥接)79当操作器件被吸合时延时闭合的动合触点80有弹性返回的动合触点81无弹性返回的动合触点82有弹性返回的动断触点83左边弹性返回,右边无弹性返回的中间断开的双向触点84指示仪表的一般符号 星号须用有关符号替代,如A代表电流表等85记录仪表一般符号 星号须用有关符号替代
55、,如W代表功率表等86指示仪表示例:电压表87电流表88无功电流表89无功功率表90功率因数表91相位表92频率表93检流计94示波器95转速表96记录仪表示例:记录式功率表97组合式记录功率表和无功功率表98记录式示波器99电度表(瓦特小时计)100无功电度表101灯一般符号 信号灯一般符号注:如果要求指示颜色则在靠近符号处标出下列字母:RD 红、YE 黄、GN 绿、BU蓝、WH白如要指出灯的类型,则在靠近符号处标出下列字母:Ne氖、Xe氦、 Na钠 、Hg汞、 I碘、 IN白炽、EL电发光、ARC弧光、FL荧光、IR红外线、UV紫外线、LED发光二极管102闪光型信号灯103电警笛 报警器
56、104优选型其它型峰鸣器105电动器箱106电喇叭107优选型其它型电铃108 可调压的单向自耦变压器109 绕组间有屏蔽的双绕组单向变压器110 在一个绕组上有中心点抽头的变压器111 耦合可变的变压器112 三相变压器星形三角形联结113 三相自耦变压器 星形连接114 单向自耦变压器115 双绕组变压器注:瞬时电压的极性可以在形式Z中表示示例:示出瞬时电压极性标记的双绕组变压器流入绕组标记端的瞬时电流产生辅助磁通116 三绕组变压器117 自耦变压器118电抗器 扼流圈119优选型其它型电阻器一般符号120可变电阻器 可调电阻器121压敏电阻器、变阻器 注:U可以用V代替122滑线式变阻
57、器123带滑动触点和断开位置的电阻器124滑动触点电位器125优选型 其它型 电容器一般符号 注:如果必须分辨同一电容器的电极时,弧形的极板表示:在圈定的纸介质和陶瓷介质电容器中表示外电极在可调和可变的电容器中表示动片电极在穿心电容器中表示纸电位电极126优选型 其它型 极性电容器127优选型 其它型 可变电容器可调电容器128优选型 其它型 微调电容器129电感器 线圈 绕组 扼流圈130半导体二极度管一般符号131发光二极管一般符号132利用室温效应的二极管 Q可用t代替133用作电容性器件的二极管(变容二极管)134隧道二极管135单向击穿二极管电压调整二极管江崎二极管136双向击穿二极
58、管137反向二极管(单隧道二极管)138双向二极管交流开关二极管139三极晶体闸流管 注:当没有必要规定控制极的类型时,这个符号用于表示反向阻断三极晶体闸流管140反向阻断三极晶体闸流管N型控制极(阳极侧受控)141反向阻断三极晶体闸流管P型控制极(阴极侧受控)142可关断三极晶体闸流管,末规定控制极143可关断三极晶体闸流管 N型控制极 (阳极侧受控)144可关断三极晶体闸流管 P型控制极 (阴极侧受控)145反向阻断四极晶体闸流管146双向三极晶体闸流管三端双向晶体闸流管147反向导通三极晶体闸流管,末规定控制极148反向导通三极晶体闸流管,N型控制极(阳极侧受控)149反向导通三极晶体闸流管,P型控制极(阴极侧受控)150光控晶体闸流管151PNP型半导体管152NPN型半导体管,集电极接管壳153NPN型雪崩半导体管154具P型基极单结型半导体管155具有N型基极单结型半导体管156N型沟道结型场效应半导体管注:栅极与源极引线应绘在一直线上157P型沟道结型场效应半导体管158增强型、单栅、P沟道和衬底无引出线绝缘相场效应半导体管159增强型、单栅、N沟道和衬底无引出线绝缘相场效
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 锦州医科大学医疗学院《代谢控制发酵》2023-2024学年第一学期期末试卷
- 新苏教版一年级下册数学第1单元第5课时《有关6、5、4、3、2的加减法》作业
- 怀化职业技术学院《特种胶黏剂》2023-2024学年第一学期期末试卷
- 湖北美术学院《图书情报基础》2023-2024学年第一学期期末试卷
- 重庆三峡学院《数字信号处理俄》2023-2024学年第一学期期末试卷
- 重庆财经学院《工程制图与化工CAD》2023-2024学年第一学期期末试卷
- 浙江邮电职业技术学院《机器人理论及技术》2023-2024学年第一学期期末试卷
- 浙江工业大学《仪器分析专题》2023-2024学年第一学期期末试卷
- 地暖电磁阀工作原理
- 郑州智能科技职业学院《水利水电工程概预算》2023-2024学年第一学期期末试卷
- 人教版初中英语八年级下册 单词默写表 汉译英
- GB/T 304.9-2008关节轴承通用技术规则
- GB/T 29353-2012养老机构基本规范
- 2205双相不锈钢的焊接工艺
- 啤酒厂糖化车间热量衡算
- 英文标点符号用法(句号分号冒号问号感叹号)(课堂)课件
- 22部能够疗伤的身心灵疗愈电影
- 领导干部有效授权的技巧与艺术课件
- DB37-T 1915-2020 安全生产培训质量控制规范-(高清版)
- 陕西省商洛市各县区乡镇行政村村庄村名居民村民委员会明细
- 实习生请假条
评论
0/150
提交评论