TA的每日心情 | 慵懒 昨天 10:09 |
---|
签到天数: 3411 天 连续签到: 13 天 [LV.Master]2000FPS
|
注册登陆后可查看附件和大图,以及购买相关内容
您需要 登录 才可以下载或查看,没有账号?注册会员
x
LabVIEW中如何连续采集图像并连续保存图像
在LabVIEW中实现连续采集图像并连续保存图像是很简单的一件事。这里有两个核心点,一个是实现连续采集,另一个是实现连续保存。连续采集中没太多难点,只要执行采集Grab函数就可以。而连续保存,则牵扯到文件名的问题,因此需要在连续保存的过程,连续或随机生成不重复的文件名。这里一般可以使用两种方法,一种是使用时间点(年月日时分秒毫秒,如果系统时间不随便更改,不会出现重复),另一种则是使用随机数(位数要相对多一点,出现重复的机会少)。当然还可以使用While循环的循环次数来做文件夹,但是这个只能在当前的循环状态下才不会有重复。如果重新运行时,则会有重复,如果是这样,得自动新建文件夹,这样才不会在同一文件夹中出现重复文件。正面来看一下其程序框图:
程序框图其实是很简单的,执行的过程大概是这样首先打开相机,然后配置相机准备采集图像。再使用一个WHILE循环结构,来控制连续采集,其中放置了Grab函数。这样就可以在WHILE中实现连续采集。在采集完成后,输出的图像再输出到IMAQ Write File2函数中,实现保存图像功能。IMAQ Write File2函数是一个多态函数,可以保存图像为BMP、JPG/JPEG、JPEG2000、TIFF、PNG、带信息的PNG文件等。选择哪种图像类型,则其中的文件夹后缀也使用相应的类型即可;停止连续采集后,则执行关闭相机和释放图像缓存。
在实际应用程序中,基本的思路也是这样的,只是可能会将打开相机、配置相机、采集图像、关闭相机等操作过程,放置在不同的执行环节,以方便程序操作。如打开相机一般会放在程序的初始化中。连续采集图像,则会放在自动运行过程中。关闭相机则放在程序退出环节中。这里可以使用移位寄存器来控制引用,也可以使用子VI,使用状态来机操作。
上图中实现了连续采集,则可以在WHILE循环中,加入其它的处理实现,实现连续采集、分析的功能。与连续采集、保存图像的原理一样。
实现连续采集图像和连续保存图像,这个是LabVIEW图像处理的最基本的技巧,只要稍微想一下,就能明白其中的道理。
程序代码下载:
|
|