发明名称 一种基于Labview的高速图像采集方法
摘要 本发明涉及一种基于Labview的高速图像采集方法,包括高速摄像头、图像采集卡以及工控机,高速摄像头通过专用的图像采集线缆与图像采集卡连接,图像采集卡装在工控机上,采用DALSA公司提供的Sapera++LT函数开发包,编写DLL动态链接库由LabVIEW调用,完成对高速摄像头FA-21-1M120-00-R的图像采集以及实时控制。通过LabVIEW本高速图像采集驱动程序完成了高速摄像头对图像的采集及对高速摄像头各参数的设置,具有高速、实时、稳定的优点。
申请公布号 CN102611836A 申请公布日期 2012.07.25
申请号 CN201210024840.2 申请日期 2012.02.06
申请人 上海理工大学 发明人 邬敏杰;穆平安;戴曙光;金晅宏;张彩艳
分类号 H04N5/225(2006.01)I;H04N5/232(2006.01)I;G06F9/44(2006.01)I 主分类号 H04N5/225(2006.01)I
代理机构 上海申汇专利代理有限公司 31001 代理人 吴宝根
主权项 一种基于Labview的高速图像采集方法,其特征在于,包括高速摄像头、图像采集卡以及工控机,高速摄像头通过专用的图像采集线缆与图像采集卡连接,图像采集卡装在工控机上,工控机采集包括如下具体步骤:1) 创建结构体数组allimaq[BUFSIZE],其中包括*pBuffer指针用于存放图像地址,i_full布尔型变量用于判断是否存取图像,其中宏定义BUFSIZE为需要存放图像的内存数量,初始化整型变量ai,aj=0,其中ai为回调函数的图像存取序号,aj为图像存入内存序号;2) 配置采集信息:包括连接图像采集卡,选择与图像采集卡连接的高速摄像头,调用外部ccf文件配置高速摄像头各个采集参数;3) 创建图像缓存空间,判断是否开始采集图像;4) 开始采集图像,判断allimaq[aj].i_full的状态是否为true,若是,说明新的一帧图像已经采集完毕,可以进行传输操作;同时把allimaq[aj].pBuff中的图像数据输出,使allimaq[aj].i_full为false,并aj++;否则,说明新的图像还未采集到;5)当停止拍摄时,释放配置图像采集卡、高速摄像头以及所创建的图像数组的内存空间;6)每次拍摄一帧图像时,程序会自动转入回调函数中,进行图像的存储操作,包括如下步骤:A:将采集到的图像放入图像缓存中;B:图像缓存中所存储的图像,传递至allimaq[ai].pBuff中;C:清除及释放图像缓存;D:ai++;7)步骤6)结束后,译生成DLL动态链接库,包括初始化函数(DALSA_Init)、开始拍摄函数(DALSA_Start)、采集图像函数(DALSA_Snap)、停止拍摄函数(DALSA_Stop),使用LabVIEW的Call Library Function Node调用上述DLL动态链接库的函数,完成对高速摄像头的图像采集及控制,具体步骤包括如下:Ⅰ)调用DALSA_Init函数,初始化高速摄像头、图像采集卡,创建一维图像数组,数组长度为1048576,创建图像缓存;Ⅱ)调用DALSA_Start函数,开始进入拍摄状态;Ⅲ)调用DALSA_Snap采集图像函数,将输出的一维图像数组转换为二维图像数组,转换后的二维图像数组大小为1024*1024,通过LabVIEW的Vision模块的IMAQ ArrayToImage.vi将二维图像数组以图像形式显示;Ⅳ)调用DALSA_Stop函数,停止拍摄,清理释放所占用的内存空间。
地址 200093 上海市杨浦区军工路516号