labview实现相机读取

labview实现相机读取,第1张

点击学习>>《龙哥手把手教你学LabVIEW视觉设计》视频教程
 
 labview简介

  LabVIEW是一种程序开发环境,由美国国家仪器(NI)公司研制开发,类似于C和BASIC开发环境,但是LabVIEW与其他计算机语言的显著区别是:其他计算机语言都是采用基于文本的语言产生代码,而LabVIEW使用的是图形化编辑语言G编写程序,产生的程序是框图的形式。

  LabVIEW特点:

  尽可能采用了通用的硬件,各种仪器的差异主要是软件。

  可充分发挥计算机的能力,有强大的数据处理功能,可以创造出功能更强的仪器。

  用户可以根据自己的需要定义和制造各种仪器。

  labview实现相机读取   一、程序功能

  1.通过选择相机实现电脑摄像头或CCD连续图像采集。 2.控制图像采集时间。

  3.显示图像采集速率和程序运行时间。 4.给采集到的图像命名并保存到特定的文件夹。

  二、程序介绍

  1.前面板(控制面板)

labview实现相机读取,labview实现相机读取,第2张

  要求:实现连续图像采集所需要的软件条件: 1.安装VAS(Vision AcquisiTIon Software)

  2.如果要实现CCD图像采集,需安装CCD的驱动程序 *** 作说明: 1.选择相机名称 2.设置采集时间 3.运行VI 相机名字:通过下拉菜单选择相机,包括电脑摄像头和USB接口的CCD设备采集速率。

  采集速率:实时显示采集图像的速率。

  缓冲数:实时显示从程序运行开始采集图像的数目。

  设置采集时间:根据需求设置采集时间。默认值为0,只采一幅图像。 采集进行时间:程序已经运行的时间。 设置保存路径:指定图片的保存位置。如果不设置,只进行实时采集不保存图像。 Stop:采集停止。

  图像:显示图像信息。左侧为兴趣区域选择工具,作用是使研究区域更加醒目,便于观察。从上到下依次是:

  labview实现相机读取,labview实现相机读取,第3张实现图形的放大

  labview实现相机读取,labview实现相机读取,第4张显示鼠标位置,不进行其他 *** 作

  labview实现相机读取,labview实现相机读取,第5张拖动图片

  labview实现相机读取,labview实现相机读取,第6张选择兴趣区为一点

  labview实现相机读取,labview实现相机读取,第7张选择兴趣区为矩形包围的区域,两边为水平和竖直

  labview实现相机读取,labview实现相机读取,第8张选择兴趣区为矩形包围的区域,矩形方向任意

  labview实现相机读取,labview实现相机读取,第9张选择兴趣区为折线

  labview实现相机读取,labview实现相机读取,第10张选择兴趣区为折线区域(所画折线自动闭合)

  labview实现相机读取,labview实现相机读取,第11张选择兴趣区为曲线

  labview实现相机读取,labview实现相机读取,第12张选择兴趣区为曲线保卫的区域

  labview实现相机读取,labview实现相机读取,第13张选择兴趣区为椭圆

  labview实现相机读取,labview实现相机读取,第14张选择兴趣区为圆环

  以折线兴趣区域为例,如图

  2.后面板(程序框图)

labview实现相机读取,labview实现相机读取,第15张

  1. 循环,将采集、保存、计时等功能循环进行。

labview实现相机读取,labview实现相机读取,第16张

  在循环中,获取最新的图像并输出。

  2.循环的初始条件设置,选择相机,并将相机作为循环的输入。

  和前面版里的相机名字相对应,作用是选择相机。

labview实现相机读取,labview实现相机读取,第17张

  打开一个照相机,查询摄像机功能,装载的照相机的配置文件,并创建一个唯一的参考到摄像机。

  Camera Control Mode照相机控制模式,在控制器模式打开相机,配置和获取图像数据。

  Session In指定要打开摄像机的名称,默认值是CAM0。 Session Out是相机的一个参考,输出图像数据。

labview实现相机读取,labview实现相机读取,第18张

  配置并开始抓取图像,抓取循环连续进行,并将抓取到的图像放到缓冲区,可以实现高速图像采集。

  Session In/out作用与打开相机里的类似。

  3.循环结束时,关闭相机,若循环出错,则关闭相机并报错。

labview实现相机读取,labview实现相机读取,第19张

  终止采集程序并关闭相机。

labview实现相机读取,labview实现相机读取,第20张

  当有错误输入时,破坏图像,并释放它在存储器占据的空间。

  4.将从相机采集到的数据,以图像的形式输出,并计算图像采集速率和采集数,在前面板输出。

labview实现相机读取,labview实现相机读取,第21张

  5.在循环中计算采集速率和程序运行速率,控制采集时间。

  本部分与stop按钮以及错误三者共同控制条件的运行,当三个条件中的任意一个为真时,循环都会终止。

  显示从指定起始时间起,已经用去的时间,达到目标时间后会重置。“已用时间(s)”可以输出程序运行的时间。将已用时间与设置时间进行比较,当已用时间大于设置时间是条件为真,控制循环停止。

labview实现相机读取,labview实现相机读取,第22张

  6.在特定的路径保存图像,并通过循环为其命名。

labview实现相机读取,labview实现相机读取,第23张

  以BMP格式将图像下写入文件,通过下拉菜单也可以使文件的格式为JPEG、JPEG2000、PNG、PNG、TIFF等格式。

labview实现相机读取,labview实现相机读取,第24张

  创建文件的保存路径。

  基路径指定函数要添加名称的路径,即文件的保存位置, 默认值为空路径。 名称或相对路径是在基路径的新路径成分,即在基路径中为文件命名,一般为字符串。

  添加的路径是作为结果的路径。

labview实现相机读取,labview实现相机读取,第25张

  将循环计数转换为字符串。

labview实现相机读取,labview实现相机读取,第26张

  将计数转换而来的字符串和后缀合并为一个字符串,作为文件的名称。 7.创建一个临时的存储位置,使用IMAQ创建与IMAQ处理VI结合使用,或在LabVIEWNI视觉图像处理中创建图像。

  三、程序运行结果

  当选择相机为笔记本摄像头,设置采集图像为2s时,结果如下图:

labview实现相机读取,labview实现相机读取,第27张

  当选择相机为CCD,采集时间为2s时,结果如下图

labview实现相机读取,labview实现相机读取,第28张

  由结果可以看到,设置相同的采集时间,选择相机为笔记本摄像头和CCD时,缓冲数以及采集的帧速率都不同,这是由于笔记本摄像头和CCD的相应速度不同造成的。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/dianzi/2717414.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-08-17
下一篇 2022-08-17

发表评论

登录后才能评论

评论列表(0条)

保存