在Labview视觉编程非标或通用软件的开发中,我们都免不了需要进行算法模拟,那么通过今天所要讲解的仿真采集,我们就能将一些实时的图像在本地路径中进行调用,免去了需要相机.镜头.光源等硬件支持来做到软件功能测试。
下面要讲的是我个人在非标开发中用的一种仿真采集编程方式,通过布尔来控制相机高速采集与仿真采集之间的功能切换,采集图像按钮用于发送当前功能命令进行图像采集,如果有什么不足的地方也欢迎一起交流,如图:
该框架为一般的消费者生产者框架,通过事件结构响应前面板控件事件,将字符串数组命令传入队列进行消费者的功能编辑。如果有需要,可以在前面的文章中查看具体的框架内容这里就不再重复了,
在图中利用采集图像按钮事件进行布尔控件采图模式的选择判断,选择为真,写入仿真采集命令,反之写入采集图像命令。
功能编辑这一部分我所用到的函数:
1. 递归文件列表函数,位于函数选板 编程 — 文件I/O — 高级文件函数中
函数功能:输入文件夹路径,文件类型,可罗列出该文件夹中满足输入文件类型的所有文件路径,通过数组输出,并输出文件数量,默认无指定文件类型时输出文件夹中所有文件路径以及所有文件数量。
2. IMAQ ReadFile 2 该函数位于函数选板 — 视觉与运动— Vision Utilities — Files 。
函数功能:输入图像文件路径,New Image ,将路径中的图像输出至图像缓存, 即可通过Image进行显示。
编译步骤以及思路:
1.将前面板所选文件夹路径引用至消费者VI(选用文件夹需要有图像)
2.设置路径输入控件属性—选择模式,文件夹:输出为所选文件夹路径,文件:输出为所选文件路径,因为递归文件列表函数所需要的输入为文件夹路径,这里选择文件夹模式。选择文件路径模式也是可行的,这样就需要通过拆分路径返回上级目录进行输入。
因为我们的文件夹中无其他类型的文件,这里的文件类型参数就不进行过滤了,正确格式为:*.+文件后缀(PNG)/(BMP)所需要罗列出的文件类型是什么就写入什么文件后缀。
3.将罗列的图像文件路径数组进行索引,索引值每执行一次进行自加1,通过文件数量进行判断,当索引值大于等于文件数量时索引值返回0。
如果选用的是文件模式,可通过搜索一维数组找到选用图像的起始索引进行输入。
文件夹模式:
文件模式:
4.将图像路径输入IMAQ ReadFile 2函数中 并给出图像缓存,进行测试。
可以看到第一次选择时,图像索引为选择图像文件的索引,第二次选择时没有变化,这里我们给它加上一个判断条件如图:
当路径改动或为首次调用时将新的路径索引替换至自加1的循环中。
功能完成。
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删