二次开发技术主要有三类:TWAIN标准接口库,VFW标准接口库,SDK接口库。TWAIN函数库接口编程应用范围广,但开发者须了解Twain标准的规范要求和编写流程,VFW是微软的标准视频采集存储接口,也须对这种标准要求有深入的了解,两种方法均不便于一般开发者应用。SDK接口库是由厂商提供的自定义函数库,可实现对图像的采集、存储和控制等功能,应用较为方便。本系统采用海康威视数字技术有限公司DS-4004HC图像采集卡,利用厂商提供的SDK接口库,并且通过对其添加软件触发的新技术,实现了激光脉冲图像的高速采集。
1 图像卡概述
1.1 DS-4004HC卡的技术参数及功耗
视频输入接口:BNC插座;视频输入阻抗:75Ω;视频输入幅度:Vp-p=1.O V;每个芯片功耗:1.9 W左右;整块卡功耗:<3.5 W;采集帧率范围:1~25帧/s(PAL),1~30帧/s(NTSC)。
1.2 图像采集卡的工作原理及流程
CCD探测器输出的模拟视频图像经多路切换器、解码器、A/D变换器,将数字化的图像数据送到数据缓冲器。经裁剪、比例压缩及数据格式转换后,由内部控制图形覆盖与数据传输,数据传输目标位置(显存或计算机内存)由软件确定。
图像采集卡进行图像采集的工作流程如图1所示。
一般情况下,图像卡的开始操作和初始化参数设置在用户应用程序初始化中完成,图像卡的结束操作应在应用程序退出前执行。图像卡采集图像数据,不占用计算机CPU时间,支持图像的实时处理。采集图像到屏幕和采集图像到内存的操作不能同时进行,即同一时刻图像卡只能采集图像到屏幕,或者到内存。
1.3 采集卡的应用接口函数
海康威视DS-4000HC采集卡SDK接口库提供了应用功能模块。包括对图像采集卡的控制,采集图像到屏幕或内存,错误处理,采集图像到屏幕控制,采集图像到内存控制,数据传递等功能。提供的文件如表1所示。
2 用VC++6.0实现对图像的采集
应用接口库支持VC++,VB等32位编程开发工具进行二次开发。本系统选用的是VC++6.0编程工具。
2.1 创建应用程序
用VC++6.0工具创建一个基于MFC的基本对话框应用程序——图像采集,把SDK接口库提供的4个文件拷贝到应用程序所在目录下。在程序中包含相关的头文件(.h),并将引入链接库文件(.lib)加入到工程文件中,供编译程序在链接时使用。添加所要实现的功能控件,终让图像在程序界面中实时显示。
2.2 程序的初始化及参数设置
在采集图像前必须对图像卡进行参数设置,才能使图像采集卡正常工作,以下给出了DS-4004HC卡中的参数设置接口:
(1)设置图像卡视频信号制式,包括PAL制和NTSC制。在设置制式时,图像卡视频输入/输出窗口的大小和视频信号的行正程起始点,场正程起始行,也要做相应的调整。函数原型如下:
int_stdcall SetDefauhVideoStandard(VideoStan-dard_t VideoStandard);
参数VideoStandard_t VideoStandard为视频制式,默认为PAL,成功返回0。
(2)设置视频的预览模式。函数原型如下:
int_stdcall SetPreviewOverlayMode(BOOLbTrue);
参数BOOL bTrue表示是否设置Overlay预览方式,返回值为0表示显卡支持板卡的Overlay预览方式。
(3)设置图像卡的视频信号源路,DS-4004HC有4路通道。
(4)设置视频信号输入位置。函数原型如下:
int_stdcall SetlnputVideoPosition(HANDLEhChannelHandle,UINT x,UINT y);
参数HANDLE hChannelHandle为通道句柄,(x,y)为系统处理图像的左上角在CCD输入的原始图像中的坐标,x,y必须设置为2的整倍数,默认值为(2,8)。函数调用成功返回0。
(5)设置通道分辨率格式。函数原型如下:
int_ stdcall SetEncoderPictureFormat(HANDLEhChannel Handle,PietureFormat_t PictureFormat);
参数HANDLE hChannelHandle为通道句柄,Pic-tureFormat t PictureFormat为编码图像分辨率格式(4CIF,DCIF,2CIF,CIF,QCIF),成功返回0。
(6)设置码流的比特率及码流的控制模式。函数原型如下:
int_stdcall SetupBitrateControl (HANDLEhChannelHandle,ULONG MaxBps);
用以设置编码的比特率,函数int_stdcallSetupBitrateControl(HANDLE hChannelHandle,Bitr-ateControlType_t bre)用以设置码流控制方式。参数HANDLE hChannelHandle为通道句柄,ULONGMaxBps为比特率,BitrateControlType_t brc为码流控制方式,分为变码率(brVBR)和恒定码率(brCBR)两种方式。MaxBps设为0时码流控制无效,设为其他某值时,当编码码流超过该值,DSP会自动调整编码参数不会超过此比特率,低于该值,DSP不进行干涉。Brc设为brVBR时,MaxBps将作为上限,由DSP自动控制码率,一般会自动回落到状态,能降低带宽和存储空间;设为brCBR时,以MaxBps作为恒定输出码率,存储容量可根据设定码率大小进行估算。两函数配合使用,成功均返回0。
(7)设置图像的质量。函数原型如下:
int_stdeall SetDefaultQuant(HANDLE hChan-nelHandle,int IQuantVal,int PQuantVal,int BQua-ntVal);
用以设置图像质量,参数int IQuantVal,int PQua-ntVal,int BQuantVal分别为I,P,B帧量化系数,量化系数越小质量越高,系统默认值为18,18,23。
(8)设置编码帧结构、帧率。函数原型如下:
int_stdcall SetIBPMode(HANDLE hChannel-Handle,int KeyFrameIntervals,int BFrames,intPFrames,int FrameRate);参数int KeyFrameIntervals为关键帧间隔;intBFrames,int PFrames分别为B,P帧数量;int Fram-eRate为帧率。
2.3 触发功能的设计
图像采集软件具备方便的触发功能及操作方法是十分重要的。目前,有触发功能的图像采集卡多数采用外触发模式,亦称硬件触发。外触发使用外加信号作为触发信号,外加信号从外触发输入端输入。由于被测信号没有用作触发信号,所以外触发信号与被测信号间应具有周期性的关系,并且要确保外触发信号与被测信号同步。这样就需要添加硬件触发电路对外触发信号进行控制,但是触发电路的设计和开发都需要花费一定的成本。
DS-4004HC采集卡本身没有触发功能。为了实现稳定高速的采集图像,应用于如高速激光脉冲图像的采集,本系统添加了内触发模式。内触发模式是使用被测信号作为触发信号。由于触发信号本身是被测信号的一部分,符合周期及同步关系,故可以实现的采集图像信号。本系统采用软件方式实现内触发功能,亦可称为软件触发。具体实现方式为利用函数GetOrigi-nalImage()把图像数据采集到动态开辟的内存块中,判断图像数据的峰值是否超过采集前设置的触发值,一旦峰值超过设定的触发值,信号即被触发、保存,否则即被下一帧数据覆盖。实验所测脉冲激光器频率小于采集卡采集帧率(25帧/s),采用的CCD探测器COHU-4812的帧率(大于30帧/s)大于激光器频率。由于内存中的数据处理速度很快,实验表明,本系统能实现激光脉冲光斑图像的高速采集,不会出现漏帧现象。采集完设定帧数后,可根据需要把数据导出为bmp或jPeg格式文件。
2.4 实现图像采集
根据图像采集卡的工作流程,以下给出实现采集图像的简单代码:
(1)初始化图像卡
2.5 应用程序发布
安装图像卡的设备驱动程序,并确认安装成功,然后将要发布的应用程序安装到相应的工作目录,接好CCD探测器,这样程序就可以运行了。应用程序运行结果如图2所示。
3 应用分析
应用本软件可以分析光束的质量,如横平面上的光强分布,测量光束发散角,M2因子等。
3.1 远场发散角
在激光器光束传输方向加一聚焦透镜,通过CCD探测器在其焦平面上采得激光光斑,记录光强分布,如图2所示。光强分布曲线I(r)上占总功率(能量)η处两点间距离之半即为束宽ω,Pω=ηP总,常用的η值有86.5%,63%等。通过计算机数值图像处理,可快速得到光束的束宽。代入θ=2ω/f,即可求得光束的远场发散角,其中f为透镜的焦距。
3.2 M2因子
采用多点测量双曲线拟合法计算M2因子,可达到较高的。按测发散角时测束宽的同样方法,沿传输轴多次测量束宽,其中必须有5次以上位于瑞利尺寸之内。拟合公式为ω2=Az2+Bz+C式中A,B,C为拟合系数,拟合出双曲线的实半轴即为光束的束腰宽度ω0,代入M2因子计算公式即可。通过计算机数值图像处理,可快速得到光束的M2因子。
4 结语
本文给出了在VC++6.O平台上开发图像采集卡应用程序的主要流程和关键技术。依靠内存对数据处理的快速响应,对软件添加了软件触发功能,能连续和单发高速采集脉冲光斑,不会出现漏帧现象。与具有硬件触发功能的图像采集软件相比,软件触发不需要添加硬件触发控制电路,节约成本,可靠性高。
[1]. BNC datasheet https://www.dzsc.com/datasheet/BNC_2319479.html.
免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。