毕业设计论文基于NET平台的高速图像采集.docx
- 文档编号:3517393
- 上传时间:2022-11-23
- 格式:DOCX
- 页数:27
- 大小:813.51KB
毕业设计论文基于NET平台的高速图像采集.docx
《毕业设计论文基于NET平台的高速图像采集.docx》由会员分享,可在线阅读,更多相关《毕业设计论文基于NET平台的高速图像采集.docx(27页珍藏版)》请在冰豆网上搜索。
毕业设计论文基于NET平台的高速图像采集
学号200631200001_
密级
武汉大学本科毕业论文
基于.NET平台的高速图像采集
院(系)名称:
电子信息学院
专业名称:
通信工程
学生姓名:
林婵
指导教师:
杨华教授
二○一○年五月
BACHELOR'SDEGREETHESIS
OFWUHANUNIVERSITY
High-SpeedImageAcquisitionBasedon.NetPlatform
College:
ElectronicInformationSchool
Subject:
CommunicationEngineering
Name:
ChanLIN
Directedby:
HuaYANGProfessor
May2010
郑重声明
本人呈交的学位论文,是在导师的指导下,独立进行研究工作所取得的成果,所有数据、图片资料真实可靠。
尽我所知,除文中已经注明引用的内容外,本学位论文的研究成果不包含他人享有著作权的内容。
对本论文所涉及的研究工作做出贡献的其他个人和集体,均已在文中以明确的方式标明。
本学位论文的知识产权归属于培养单位。
本人签名:
日期:
摘要
本文利用.NETFramework平台和VisualStudioC#编程技术,基于实际项目公路破损检测系统,实现基于.NET平台的高速图像采集。
并且在条件允许的情况下,能实现更快的采集速度和处理速度。
在开发过程中,在第一代公路破损系统的基础上,针对由于硬件问题和软件包二次开发的不足问题,采用了行之有效的解决方法,最终实现提高车速和图像采集卡采集软件控制。
该项目具有单次采集和连续采集图像的基本功能,用户通过控制软件界面可以方便的在电脑终端上控制采集帧的次数和长度,帧序列可供后续图像的合成处理使用,还可以显示出采集的通道数和数据深度。
此外,该软件模型使用自编API函数,使得采集卡和控制软件能更好的结合起来,实现在.NET平台下的数据访问,体现出VisualStudio.NET编程的优势,具有很好的开发应用前景。
关键词:
高速图像采集;.NETFramework;公路破损检测;应用程序编程接口;C#编程技术
ABSTRACT
ThispaperdevelopedaprogrambasedonRoadcrackdetectionsystemby.NETFrameworkandVisualStudioC#Programming,whichisusedforHigh-SpeedImageAcquisition.Andinconditionspermitting,itcanachievefasteracquisitionspeedandprocessingspeed.Inthedevelopmentprocess,duetohardwareproblemsandsoftwarepackagesforthesecondarydevelopmentofshortage,thispaperadoptedeffectivesolutionbasedonthefirstgenerationofroadcrackdetectionsystem.Ultimatelytheprogramachievedspeedimprovingandimageacquisitioncardsoftwarecontrolling.
Theprojecthasbasicfunctionsofthesingleimageacquisitionandcontinuousimageacquisition.Userscaneasilycontrolthenumberandlengthofframecollectingatthecomputerterminalbycontrollingsoftwareinterface.Theframesequenceisavailableforthesynthesisofimageprocessingwhichisusinginthefollow-upstep.Itcanalsoshowthenumberofchannelsandthedepthofdataacquisition.
Inaddition,thesoftwaremodelusesselfAPIfunctionsothatthecollectioncardandcontrolsoftwarecanintegratebetterandachieveddataaccessbasedon.NETplatform.ItdemonstratestheadvantagesofVisualStudio.Netprogramming,andhasgooddevelopmentprospects.
Keywords:
High-speedImageAcquisition;.NETFramework;API;C#programming
第一章绪论
1.1研究背景和意义
在瞬态信号实时传输,图像处理等一些高速,高精度的测量行业中,需要进行高速数据图像采集,而图像采集卡的出现及应用解决了实时传输的问题。
图像处理的发展与计算机以及硬件技术的发展是紧密联系的。
最早发表有关计算机处理图像信息文章的时间要追溯到20世纪50年代,随着硬件技术的高速发展,性能大幅度提高,无疑推动了图像处理技术的发展。
数字图像处理是近20年发展起来的一门新兴学科,是指用数字计算机及其他相关数字技术,对图像施加某种运算和处理,从而达到某种预想的目的。
数字图像处理的研究内容概括起来包括:
图像增强、图像恢复、图像编码、图像重建和图像分析。
图像处理的研究内容在智能机器人视觉系统、计算机视觉、工业检测、军事、公安、医疗等领域都有着广泛的应用前景。
发展至今,其理论和方法都已基本成熟。
数字图像处理技术应用到实际中去的主要困难在于:
数字图像的数据量非常巨大,实时处理要求的计算速度极高。
例如一帧采样的数字图像的数据量为720×576=400K,假设每个象素进行10次操作,每秒处理25帧,需要的速度为100MOPS(MillionOperationsPerSecond),即每秒进行1亿次操作。
而在实际中,要对图像的处理,远远不止每个象素10次操作,一般认为,数字图像的实时处理需要500MOPS的处理速度。
如图1.1所示为一个完整的图像处理系统。
有图像数字化产生的数字图像先进入一个适当装置的缓存中,然后根据操作员的指令,计算机调用和执行程序库中的图像处理程序。
在执行过程中,输入图像被逐行地读入计算机。
对图像进行处理后,计算机逐行按像素生成一幅输出图像,并将其逐行送入缓存[1]。
图1.1数字图像处理系统
在本论文中,研究的内容即为数字图像处理系统的第一步:
图像数字化设备和第二步:
输入图像存储。
1.2国内外现状与趋势
现代化生产和科学研究对图像采集系统的要求日益提高。
传统的图像采集卡速度慢、处理功能简单,不能很好地满足特殊要求,而目前图像采集卡也有了长足的发展。
随着超大规模集成电路技术的发展和微机系统的发展,用于采集卡的技术也得到了不断地发展。
目前各种常规微机系统总线速度为:
ISA总线的数据传递速率为8.33MB/s,EISA总线为33MB/s,MC为40MB/s。
即使传送速率最高的MC总线也无法实时传送图像数据,所以总线速率一直是制约提高微机性能的瓶颈。
VideoElectronicsStandardAssociation(VESA)给出了VL-Bus标准,随后又发展了PCI局部总线标准,最高传送速率达到了132MB/s。
这两种局部总线标准的推出,主要是为解决图形、图像中视频数据的实时传递而设计的。
尤其是PCI总线,具有高的性能价格比,传送速率高,和CPU本身的性能无关,可多平台等优点。
解决了从摄像机到内存的实时图像采集、从内存到显示器的图形图像实时显示的传输瓶颈。
目前,大多数采集卡都采用了视频局部总线,可以将图像数据直接存入内存中,采集卡原则上可不再需要专门的帧存储体。
随着CPU性能的不断提高,CPU直接在内存中对图像做处理,充分发挥了微机本身越来越高的性能潜力。
鉴于以上所述,基于PCI总线的采集卡已经开始占主导地位,也是采集卡近年来的重大
技术进步。
这种采集卡的结构如图1.2。
图1.2基于VESA、PCI总线的图像采集卡
从图中可看出,采集卡上不再需要较昂贵的VRAM帧存储体。
可编程时序发生器包括锁相和时序发生,根据标准摄像机,各种规格的非标准摄像机编程,实现不同的时序信号。
比例开窗控制实现比例放大、感兴趣开窗(ROI)、数据的排列打包、甚至于制式转换、插值、数据缓冲的控制。
图像处理系统的结构如图1.3,这种图像处理系统可以直接使用内存存放图像,使用主机监视器观察处理后的图像,包括观看实时图像,图像处理直接由CPU在内存中操作,大大提高了主机的使用效率,降低了系统成本。
由于CPU功能的增强,很多图像处理算法已经达到了准实时处理。
这种图像处理系统结构已经较充分地将图像的采集和微机的内存、处理器、显示融为一体。
图1.3基于VESA、PCI总线采集卡的图像处理系统
由于超大规模集成电路(VLSI)的发展,采集卡中的锁相、时序、比例放大、开窗等控制电路,甚至于视频制式的转换、图像数据的重排列、缓冲都可以在VLSI中高度集成。
不但使采集卡的功能和性能大大提高,体积也大大缩小[2]。
而关于图像采集卡未来的发展趋势,对于低端的采集卡是否会被标准数字接口取代的问题,似乎存有争议。
有人认为,只要标准的模拟相机存在,低端采集卡就会存在。
在国内低端的设备还是大有市场的,除非高端的把价格降下来。
而有人认为,对于低端采集卡的市场前景并不是很乐观。
根据数据统计,虽然采集卡的数量一直到2009年都会持续增长,但是边际利润却再不断下降。
而且,IEEE1394发展也比较迅猛,千兆网卡的应用时代也很快会到来。
当然,数字相机如何应用在工业领域还是会存在一些问题。
同时,采集卡的应用发展还要受到控制和成本的问题。
在特定的领域里,采集卡还是唯一的选择。
相信在相当长的时期内,工业流水线还是需要大量的模拟卡。
而且采集卡在高校和科研机构还是很有市场的,他们不需要工业环境。
另外,模拟摄像机在监控方面用量很大,所以很便宜,在低成本方面模拟像机还是会有优势的。
当然,从长远发展看,智能像机将会对低端设备产生很大冲击,因而对采集卡市场是不小的冲击。
从高速图像采集方面来看,构建高速图像采集系统是十分必要的。
高速图像采集系统主要用于工业领域、交通领域、视觉检测等。
对于高速图像采集,目前研究方法有许多种,例如基于ARM和FPGA的嵌入式高速图像采集,基于DSPC64X高速图像采集和识别系统以及基于PCI总线的高速图像采集系统的设计,这些都是从硬件方面入手。
而软件控制方面,所使用的开发环境大部分是VHDL、C语言以及C++语言开发环境,并且已经有比较成熟的方法和实际应用的经验。
而在未来,高速图像采集则会向着采集数据的更准确、实时以及更高效采集的方向发展。
在这种情况下对于硬件的要求也更高,储存和处理数据的速度要求更快。
软件方面,能够采用的开发环境也不仅限于以上几种语言,更多元化的开发和语言优势分析则是主要发展途径。
1.3本文的研究内容
本文的主要研究内容是,在VisualStudio2008.Net平台上,利用C#开发语言和硬件设施调配,使得在高速图像采集的要求下,公路破损检测系统的汽车速度能够进一步提高,并且实现更实时、精确和快速的处理速度。
分析利用C#开发语言的优势以及为何要用C#开发语言进行开发。
本文主要的工作目标为分析公路破损检测系统的要求,根据系统进行硬件分析以及软件上的配套实现。
1)选取合适的采集卡和计算机,使得其采集速度和处理速度能够达到要求。
2)对采集卡的API函数重写,以便于在.NET环境下对采集卡进行接口控制。
3)图像采集总控软件的实现,利用C#编程语言,实现控制图像采集和采集存储。
根据采集卡的帧率和硬盘处理速度,初步估计采集卡等待数据时间不少于168ms,计算机从接收到存储数据需要280ms以上。
1.4本文的结构安排
第二章介绍了高速图像采集基础,包括图像采集卡的基本信息、选择标准和硬件设备所需要满足的处理条件。
第三章主要介绍了软件开发环境,分析MicrosoftVisualStudio2008和.NETFramework的特点,以及利用其进行软件开发的优势。
第四章实现了利用.NETFramework进行高速图像采集总控软件开发,给出了实现的方案和部分函数方法以便于分析优势和改进功能。
第五章则是总结了本文的主要工作,并分析了设计中值得深入和改进的地方。
第二章高速图像采集基础
2.1图像采集系统
一个简单的图像采集系统如下图2.1所示。
2.1简单的图像采集系统
图2.1中有三个模块,由图像采集设备(摄像机、数码相机等)采集图像,送入图像采集卡进行缓存和初步的处理工作,例如模拟图像采集卡对数据进行A/D转换,然后送入计算机硬盘存储分析。
本文中涉及到的图像采集实际系统如图2.2所示。
图2.1检测车实物图
图2.2中车顶端即为采集所使用的线扫描相机。
在图像采集系统中,图像采集卡是随着图像采集设备和计算机的发展而发展的,图像采集设备从模拟到数字,采集卡也经历着模拟到数字的转变。
计算机总线的不断发展,传输速度提高很快,采集卡也适应着计算机的发展,与计算机的传输通信速度也发展很快。
因此本文中具体介绍图像采集卡。
2.2图像采集卡
图像采集卡用来采集DV或其他视频信号到电脑里进行编辑、刻录的板卡硬件。
图像采集卡是图像采集部分和图像处理部分的接口。
图像经过采样、量化以后转换为数字图象并输入、存储到帧存储器的过程,叫做采集。
由于图像信号的传输需要很高的传输速度,通用的传输接口不能满足要求,因此需要图像采集卡。
图像采集卡还提供数字I/O的功能。
由于通过高速PCI总线可实现直接采集图像到VGA显存或主机系统内存,这不仅可以使图像直接采集到VGA,实现单屏工作方式,而且可以利用PC机内存的可扩展性,实现所需数量的序列图像逐帧连续采集[3]。
进行序列图象处理分析。
此外,由于图像可直接采集到主机内存,图象处理可直接在内存中进行因此图象处理的速度随CPU速度的不断提高而得到提高,因而使得对主机内存的图像进行并行实时处理成为可能。
2.2.1图像采集卡基本参数
1、图像传输格式
格式是视频编辑最重要的一种参数,图像采集卡需要支持系统中摄像机所采用的输出信号格式。
大多数摄像机采用RS422或EIA644(LVDS)作为输出信号格式。
在数字相机中,IEEE1394,USB2.0和CameraLink几种图像传输形式则得到了广泛应用。
2、图像格式(像素格式)
黑白图像:
通常情况下,图像灰度等级可分为256级,即以8位表示。
在对图像灰度有更精确要求时,可用10位,12位等来表示。
彩色图像:
彩色图像可由RGB(YUV)3种色彩组合而成,根据其亮度级别的不同有8-8-8,10-10-10等格式。
3、传输通道数
当摄像机以较高速率拍摄高分辨率图像时,会产生很高的输出速率,这一般需要多路信号同时输出,图像采集卡应能支持多路输入。
一般情况下,有1路,2路,4路,8路输入等。
随着科技的不断发展和行业的不断需求,路数更多的采集卡也出现在市面上。
4、分辨率
采集卡能支持的最大点阵反映了其分辨率的性能。
一般采集卡能支持768*576点阵,而性能优异的采集卡其支持的最大点阵可达64K*64K。
单行最大点数和单帧最大行数也可反映采集卡的分辨率性能。
同三维推出的采集卡能达到1920x1080分辨率。
5、采样频率
采样频率反映了采集卡处理图像的速度和能力。
在进行高度图像采集时,需要注意采集卡的采样频率是否满足要求。
目前高档的采集卡其采样频率可达65MHZ。
6、传输速率
主流图像采集卡与主板间都采用PCI接口,其理论传输速度为132MB/S。
2.2.2图像采集基本过程
采集就是视频或者图像经过采样、量化以后转换为数字图象并输入、存储到帧存储器的过程。
由于图像信号的传输需要很高的传输速度,通用的传输接口不能满足要求,因此需要图像采集卡。
当图像采集卡的信号输入速率较高时,需要考虑图像采集卡与图像处理系统之间的带宽问题。
在使用PC时,图像采集卡采用PCI接口的理论带宽峰值为132MB/S。
在实际使用中,有可能在传输瞬间不能满足高传输率的要求。
为了避免与其他PCI设备产生冲突时丢失数据,图像采集卡上应有数据缓存。
一般情况下,2MB的板载存储器可以满足大部分的任务要求。
图像采集的过程如下:
1、视野(FOV)或现场是相机及光学系统“看”到的真实世界的具体部分。
2、CCD芯片将光能转化为电能。
3、相机将此信息以模拟信号的格式输出至图像采集卡。
4、AD转换器将模拟信号转换成8位(或多位)的数字信号。
每个象素独立地把光强以灰度值(Graylevel)的形式表达。
5、这些光强值从CCD芯片的矩阵中被存储在内存的矩阵数据结构中。
灰度值(GrayLevel)——象素光强弱信息的表示灰度值为真实世界图像量化的表现方法。
通常灰度值从最黑到最白为0-255。
光线进入CCD象素,如果光强达到CCD感应的极限,此象素为纯白色。
对应于内存中该象素灰度值为255。
如果完全没有光线进入CCD象素,此象素为纯黑色。
对应于内存中该象素灰度值为0。
2.2.3图像采集卡选取比较原则
针对于公路破损检测这一实用型项目,本文所探讨的高速图像采集在图像采集卡上的选取上需要符合项目的实际要求,既能满足基本要求,并且具备很好的二次开发能力。
因此在选取的时候,图像采集卡的硬件条件和软件包的对比都很重要[4]。
1、硬件功能的对比
目前市场上的视觉板卡,主要可分为三类:
一、视觉采集卡。
这就是我们最提到的FrameGrabber。
它最主要的功能就是将相机中输出的模拟图像信号,转换成数字信号,最终传至电脑中的内存中去;二、具有显示功能的视觉卡。
这种板卡,在上一种采集卡的基础之中,又另加入了图象显示功能。
即,可以将图像直接显示到任何显示器上;三、自带处理器的板卡。
这种板卡本身就带有处理器,进行图象处理工作的程序,不必在电脑中而可以直接在板卡上运行。
相机支持:
随着市场上各种新功能相机的出现,板卡与相机的匹配问题便更加显得重要了。
一、制式。
CCD相机有各种不同制式,如CCIR、RS170等等。
确定板卡是否支持所有制式的信号;二、异步信号。
异步信号可以节省拍照时间。
不过在选用具有异步信号功能的相机之前,首先要确定板卡也有此功能。
这一功能对于运行速度要求极高的系统来说,至关重要。
以RS170为例,如果没有这一功能,系统等待拍照的时间为0~40毫秒;三、逐行扫描。
越来越多的系统会使用到逐行扫描相机,因此要首先知道板卡是否支持这种相机;四、多分辨率支持。
不是每张板卡都可以支持所有分辨率的相机;五、多频道。
多数板卡,都可以同时控制二个以上的相机。
灯源激发:
相当多的板卡带有灯源激发功能。
这不仅缩短了系统总体运行的时间,简化了编程人员的工作。
更重要的在于,这一功能可以更加有效地使灯源与相机同步工作。
图像存储:
大家已经知道,相机拍照的时间最多为40毫秒,而系统对于图像进行分析、测量的时间则要漫长得多。
因此,在实际操作中,常常会出现相机“等待”电脑的情况。
因此,一些板卡便另设有一些内存,作为图像的缓冲区。
即,在前一幅图像尚未分析完之间,接下来相机所传来的图像,暂时存放到缓冲区中。
之后,再以先进先出的方式,逐一送至电脑内存。
其他参数:
如,信号转换速度等。
2、板卡软件包的对比
首先要考虑的问题是:
哪一家公司的软件更加容易使用,即在此软件包基础上作二次开发,是否容易上手、能否缩短开发时间。
从以下几个方面来考虑:
开发硬件环境:
此软件包在你所选用的电脑硬件系统下是否能正常运行。
如,是否支持PCI接口、显示卡等。
开发操作系统;此软件包在所选用的操作系统下能否正常运行。
如,是否支持WINXP,Linux等等。
开发语言:
此软件包是否适用于所选用的开发语言。
如,使用VC++,VB、CPB、DELPHI等语言作二次开发,是否简单易用。
还需要对比不同公司的软件包,在图象处理方面的功能的优劣。
边缘寻找功能:
边缘寻找,是图象处理中最为基本也是最为常用的工具。
此功能主要以下几个参数作对比:
一、精度。
可以查阅软件包的产品介绍或是使用说明;二、稳定性。
可使用不同图像对软件进行实际测试,如,进行GR&R测试;三、多样性。
是否能够应付各种不同的实际情况。
如,不同形状的边缘寻找,不同明暗情况下的边缘寻找等等;四、速度。
可在统一的情况下(如,使用同一图像)对不同系统进行实际测试。
目标定位功能:
目标定位功能,是图象处理中另一基本且常用的工具。
同样有以下几个参数作对比:
一、精度。
可以查阅软件包的产品介绍或是使用说明;二、稳定性。
可使用不同图像对软件进行实际测试;三、速度。
对于目标定位功能来说,其运行速度的快慢,可以认为是其软件水平高低的直接标志之一。
可在统一的情况下(如,使用同一图像、同一速度电脑)对不同系统进行实际测试;四、操作复杂程度。
由于目标定位功能比边缘寻找功能在算法上要复杂得多,这就使得此功能参数设置的繁简程度,会直接影响二次开发的难易。
图像预处理功能:
图像预处理功能(如,二值化、边缘锐化、反差调节等等),可以提高图象分析速度、简化分析工程。
字符读取功能(OCR):
对于那些主要应用于各种字符读取的视觉系统来说,此功能尤为重要。
数据读取功能:
目前,绝大多数公司的软件包中,都带有条形码、二维码的读取功能。
要注意的是,不同软件应付在不良情况的能力。
如,光源不足、图像不清、源码残缺等情况。
图像缓冲功能:
与板卡的“图像存储”功能相似,这一功能的主要目的,是为了缓解拍照与运算时间上不同步的矛盾。
与板卡上硬件缓冲区所不同的是,这一功能纯由软件来实现。
通常的概念是,在内存中开辟一个固定空间,从板卡传来的图像信号,在电脑分析完之前都会按序存在这一空间里。
每幅图像地址的指针,存在另一堆栈中。
图像以先进先出的方式清除。
实际应用功能:
很多公司,为了适应越来越激烈的市场竞争,在原有的底层软件基础上,又开发出可应用于某一特定领域的软件包,以方便这一行业中的视觉二次开发商。
如,半导体行业中BGA检测工具;显示器生产业中的显示检测工具;机器手行业中的系统定位工具等等。
接口功能:
软件包是否能够方便地与其他软件或控件接口,一起运行。
2.3硬件设备最终比较选择
2.3.1图像采集卡的选取
经过比较,一代公路破损检测系统选取的是国产高速PCI接口数据采集卡。
系统水平前后方向(即车前进方向)倍频后分辨率为d=1.06mm(根据公式:
分辨率=车轮周长/轮转一周脉冲个数,即d=2180mm/2048)。
根据目前采集卡的极限帧率,汽车速度在倍频后不超过v1=45.41km/h。
根据公式:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业设计 论文 基于 NET 平台 高速 图像 采集
![提示](https://static.bdocx.com/images/bang_tan.gif)