微波EDA网,见证研发工程师的成长!
首页 > 测试测量 > 测试测量技术文库 > LabVIEW应用于实时图像采集及处理系统

LabVIEW应用于实时图像采集及处理系统

时间:09-26 来源:互联网 点击:

文件有:①h函数声明文件(可选,可包含在c源文件里);②c源文件(必需);③def模块定义文件(如果是使用标准调用或函数输出必需添加关键字__declspec (dllexport) 函数名)。H文件的作用是声明DLL要实现的函数原型,供DLL编译使用,同时还提供应用程序编译使用。C文件是实现具体文件的源文件,它有一个入口点函数,在DLL被初次调用的运行,做一些初始化工作。一般情况下,用户无须做什么初始化工作,只需保留入口点函数框架即可。def文件是DLL项目中比较特殊的文件,它用来定义该DLL项目将输出哪些函数,只有该文件列出的函数才能被应用函数调用。要输出的函数名列在该文件EXPORTS关键字下面。

本系统在LabVIEW平台下调用动态链接库实现图像数据的采集主要分为五步:1.初始化并打开设备(DM642图像采集卡); 2.读取标志信号位,看是否初始化为默认值3.写入标志信号位,进行图像数据采集;4.对SDRAM中所存储的图像数据进行读取;5.关闭句柄并释放端口资源。主要调用动态链接库sd_pci64.dll的目标函数有PCI64_Open,PCI64_MemRead32和PCI64_Close,函数功能如下表所示:

函数的具体参数如下:

①PCI64_API INT32 PCI64_Open( int BoardNum, PCI64_HANDLE * pHndl );

BoardNum板口号(0-3),* pHndl 返回句柄的无符号指针,当返回值为0时,表示打开端口成功,非0时,表示失败。

②PCI64_API INT32 PCI64_MemRead32( PCI64_HANDLE Hndl, UINT32 Taddr, UINT32 Count , UINT32 * pData );

获取由PCI64_Open传递的句柄指针,对目标地址存储的数据进行读取,需注意的是目标地址的寻址空间在4M之内,必须初始化一个所需目标数据大小的无符号32位数组空间。同样返回值为0时,表示成功,非0表示失败。

③PCI64_API INT32 PCI64_Close( PCI64_HANDLE Hndl );

需要注意的是,在每次调用PCI64_MemRead32完成读取后,都要将端口关闭,释放地址空间。

具体的调用过程如下:首先在新建的VI的Block Diagram中,Function> Advanced子菜单中添加Call Library Function Node控件,然后对其进行配置,添加该节点后进行配置的对话框如下图2所示:

图2调用CLFN配置框图

分别对DLLs文件名称及存放路径,函数调用方式,需要调用的目标函数的名称,参数个数,每个参数的类型,数据类型及返回值类型进行设置。设置完成后单击“OK”返回LabVIEW 的设计面板(diagram)中。此时,Call Library Function已经根据刚才配置好的参数个数和类型设置好了输人输出端口,和其它的LabVIEW节点图标一样,只需要将其对应的参数连线即可。

程序调用sd_pci64.dll的目标函数PCI64_Open,PCI64_MemRead32和PCI64_Close完成对指定地址空间0x8102E000化为十进制21*49280,103320大小的数据读取,最后将读取的数据存储在无符号32位pData数组里面。

在LabVIEW中利用CLFN节点可以较容易地实现访问动态连接库(DLL)。由于DLL是一个外部模块,提高了程序的开发效率,而且在购买普通数据采集卡的时候,厂商一般会给用户提供动态连接库(DLL),所以研究在LabVIEW平台下通过调用动态链接库功能来驱动普通图像采集卡实现图像采集的方法,成为值得推广的方法,具有重要意义。

4.2 CCD图象标定

完成CCD图像数据的标定,数字图象处理是该标定过程的关键,NI公司提供的图象处理模块IMAQ Vision为LabVIEW平台提供了完整的图像处理函数库,如各类边缘检测算子、自动阈值处理、各种形态学算法、滤波器、FFT等,该库包含大量当前证明成功的理论算法,使用户无需专业编程经验,即可迅速开发完成优秀的、适合本专业的图像处理与分析系统。

在本系统中,对CCD光电探测器相对辐射定标的步骤如下:分别在标准光源照射和普通定标环境下各采集10幅图像,经过自动阈值处理和二值化,消除暗电流热噪声等因素的影响,取处理完得到的10幅图像的均值作为主标准图像和主参考图像。对图像上每个像素的灰度值,通过比对校正,完成CCD像元的不均匀响应校正,求出各自的标定系数,绘出灰度直方图。具体程序的前面板如图3所示:


图3 程序前面板

5.结论

本文使用TDS642EVM图像采集卡在LabVIEW平台上开发出一个稳定可靠、经济灵活的实时图像采集及处理系统。通过调用动态链接库,驱动图像采集卡完成图像采集;利用NI-IMAQ Vision提供的强大的图像处理功能通过实时图像处理完成对CCD光电探测器的辐射标定。LabVIEW的开放性,高度的编程灵活性和良好的界面,使高级复杂的应用开发变得简单;动态链接库机制使LabVIEW在对通用图像采集卡的支持上有了一个通用可行

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top