南京航空航天大学硕士学位论文
第三章 图像采集及处理模块
3.1图像采集软硬件设计
3.1.1图像采集的硬件设计
图像传感器把光学图像转变为电信号,即把入射到传感器光敏面上按空间分布的光强信息转换为按时序串行输出的电信号——视频信号,从而可进行图像的存贮、传输、处理、显示[26]。CCD器件以其自扫描、高分辨率、易与计算机连接等优点,已成为空间光学、微光夜视、X光成像系统、遥感等系统中不可缺少的器件。近年来,随着微细加工技术的发展,CCD器件的性能价格比逐渐提高,CCD器件得到越来越广泛的应用。目前,以CCD摄像机、视频采集卡及PC机相结合进行视频捕获的方式得到广泛的应用,在该种硬件连接基础上的软件开发也得到有关研究人员的关注。
鉴于CCD器件本身所具有的优点,以及使用CCD摄像机及视频采集卡进行视频捕获的图像采集方案所具备的大量资料,本课题采用CCD摄像机加图像采集卡的图像采集硬件设计方案。
3.1.1.1 CCD摄像机
本文根据系统测量精度、光学镜头的放大倍数以及亚像素定位算法的精度确定所选用的CCD器件的像素间距,如式(3.1)所示。
d?k???? (3.1)
其中,d为CCD的像素间距,k是亚像素定位算法的精度系数,δ为系统测量精度,β为光学镜头的放大倍数。
本文设计的几何量自动测量系统的测量精度为微米级,光学镜头的放大倍数β=2,使用亚像素细分技术可取k=5,根据式(3.2)可得CCD的像素间距d为:
d?k?????5?10?3?2mm?10μm (3.2)
CCD分辨率是本系统选择器件的主要条件,在分辨率达到设计要求的情况下,再综合考虑成本以及图像处理速度,从而确定对CCD器件的其他参数的要求,如光敏面尺寸等。由式(3.2)的要求可得要选用的CCD分辨率应至少为440×300。
本文选用的CM-2001CH的夏普CCD摄像机,其主要的性能参数如下: (1)摄像机制式:PAL。 (2)光敏面尺寸:1/3″。 (3)最高分辨率:768× 576。
9
基于机器视觉的二维几何量自动测量系统的研究
(4)水平解析度:480线。 (5)最小照度:1.0Lux/F1.2。 (6)信噪比:60dB。
(7)工作温度:-10~+50℃。 (8)供电电源:DC12V。
由上述CM-2001CH的夏普CCD摄像机的主要性能参数可以看出,CM-2001CH的夏普CCD摄像机满足几何量自动测量系统对CCD器件最低要求,且CM-2001CH价格适中。
3.1.1.2图像采集卡
图像采集卡,又称视频捕捉卡(Video Capture Card),它完成的主要功能是把摄像机的模拟视频信号转换成为离散的数字量。
微视图像公司的S400型视频图像采集卡是一款基于PCI总线的四路视频图像采集卡,它支持四路复合视频信号的实时采集和显示,可稳定接收来自各种视频源的标准视频信号(PAL、NTSC、SECAM)。四路立体上输出,支持768×24位×25场两路实时采集和显示。其性能参数如下:
(1)视频A/D为8位。 (2)视频输入:四路Video。
(3)视频制式:PAL四路100帧、NTSC四路120帧。 (4)图像分辨率:最大768×576(PAL)、640×480(NTSC)。 (5)四路实时采集显示,可同时多路实时预览。 (6)最大功耗:6W。
根据几何量自动测量系统的需求、硬件设备的成本、课题现有的实验条件和相应的软件开发难易程度,本课题使用S400配合CM-2001CH作为图像采集的硬件设备。
3.1.2图像采集的软件设计 3.1.2.1软件开发方案
在Windows平台下进行视频捕捉的软件开发,目前存在三种可选方案:VFW技术、WDM技术和DirectShow 技术、采用厂商提供的和硬件对应的专用软件SDK开发包。
1.VFW技术是微软公司最早提供的开放代码,它提供一系列的底层API函数给使用者,使用者可以不考虑底层捕捉卡的接口程序就可以直接捕捉图像。但是VFW技术是基于老式的16位VFW体系构架之上的,而随着Windows 98及更高版本的操作系统成为主流,基于新的32位WDM驱动模型体系构架必将成为主流。
2.WDM技术是微软公司在VFW技术的基础上,抛弃了原来VFW技术中不稳定的部分,
10
南京航空航天大学硕士学位论文
并提供了更多的可选功能给用户,现在大多数的捕捉卡的开发商提供给用户的播放软件都是基于这种技术开发的,DirectShow是微软公司提供的一套在Windows平台上进行流媒体处理的开发包,与DirectX开发包一起发布。而微软将DirectX定义为“设备无关”,即使用DirectShow可以用设备无关的方法提供设备相关的性能。因此,所开发的视频采集程序不会严重依赖于所使用的硬件。
3.大多视频捕捉卡的提供商都可以提供捕捉卡的SDK开发包给用户。但是这种方式所开发的程序和硬件相关,当替换硬件时,要改动相应的程序,局限性很大,并且SDK 软件开发包的性能与设备提供商自身的研发水平相关。
根据上述对三种视频捕捉软件开发方案的分析,本课题采用DirectShow技术进行视频捕捉软件的开发。
3.1.2.2 DirectShow技术
DirectShow的设计初衷就是尽量要让应用程序开发人员从复杂的数据传输、硬件差异、同步性等工作中解脱出来,总体应用框架和底层工作由DirectShow来完成,这样,基于DirectShow框架开发多媒体应用程序就会变得非常简单[27]。
下面将对DirectShow中的几个重要概念进行说明。 1.过滤器(Filter)
DirectShow是基于模块化的系统,每个功能模块都采取COM组件方式,称为过滤器。DirectShow提供了一系列用于应用开发的标准模块,开发者也可以根据需要开发具有特定功能的模块来扩展DirectShow的应用。
Filter一般分为下面几种类型:
(1)源过滤器(Source Filter):源过滤器引入数据到过滤器图表中,数据来源可以是文件、网络、照相机等。不同的源过滤器处理不同类型的数据源。
(2)变换过滤器(Transform Filter):变换过滤器的工作是获取输入流,处理数据,并生成输出流。变换过滤器对数据的处理包括编解码、格式转换、压缩解压缩等。
(3)提交过滤器(Renderer Filter):提交过滤器在过滤器图表里处于最后一级,它们接收数据并把数据送给显卡、声卡进行多媒体的演示,或者输出到文件进行存储。
2.过滤器图(Filter Graph)
在应用程序中,为了执行一个给定的任务,需要将若干个过滤器连接起来,一个过滤器的输出成为另一个过滤器的输入,这样连接在一起的一组过滤器称为过滤器图。
3.过滤器图管理器(Filter Graph Manager)
过滤器图管理器也是一个COM对象,用来控制过滤器图中的所有的过滤器,主要有以下的功能:
11
基于机器视觉的二维几何量自动测量系统的研究
(1)用来协调过滤器之间的状态改变,从而使过滤器图中的所有过滤器的状态改变达到一致。
(2)建立一个参考时钟。
(3)将过滤器的消息返回给应用程序。 (4)提供方法用来建立过滤器图。
应用程序与 DirectShow组件以及 DirectShow所支持的软硬件之间的关系如图3.1 所示。
应用程序命令事件DirectShow文件系统源过滤器过滤器图表管理器LegacyVCM/ACM编码器提交过滤器文件系统Internet变换过滤器Ring3Ring0核心串流模式结构WDM捕获设备LegacyVFM捕获设备MPEG2硬件解码器DirectSoundDirectShow声卡视频图像卡 图3.1 DirectShow系统框图
3.1.2.3视频显示及图像捕获
首先,将微视图像公司的S400型视频图像采集卡的WDM驱动程序安装至主控计算机;其次,在主控计算机中安装DirectX9.0;最后,使用VC++6.0作为开发环境,并进行如下设置:将头文件Dshow.h、库文件Strmiids.lib和Quartz.lib包含至所创建的VC工程中。使用DirectShow技术来开发视频捕捉程序,是相对比较简单的,下面简要介绍开发过程。
Graph Edit是从最新的Microsoft DirectX SDK中提取的DirectShow Graph图表工具,通过这个工具,可以很直观地看到过滤器图的运行及处理流程,方便进行程序调试以及各种音视频处理。因此,在编写应用程序前,可以先使用Graph Edit这个工具创建一个可视化的过滤器图,通过调试运行这个可视化的过滤器图,可以知道编写视频捕获程序需要在过滤器图中创建哪些过滤器以及如何连接这些过滤器。
1.通过Graph Edit进行过滤器图的可视化创建和调试可以得出捕获S400图像采集卡输出的视频所需的标准过滤器:
(1)源过滤器(Source Filter),用于将S400图像采集卡提供的视频数据引入过滤器图。
12
相关推荐: