第八章 图像的采集保存与读取

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

图8-6设定取像类型 11
第八章 图像的采集保存与读取
这里我们先选择【连续取像】模式,然后继续往下设定。 ③ 设定取像参数「Configure Acquisition Settings」 可 根 据 环 境 来 调 整 相 机 的 参 数 , 勾 选 【Show All Attributes】 可 显 示 相 机 的 全 部 参 数 , 可 以 改 变 增 益 值 (Gain)、Gamma、取像模式等,使图像达到理想效果。设定 过程中可以同时按下右上方的【Test】来观察设定的结果, 设定好后,点击Next进行下一步设定。如图8-7所示。
4
第八章 图像的采集保存与读取
• 8.1采集单幅图像
第1步:通过IMAQdx Open Camera.vi,打开相机。 第2步:通过IMAQdx Configure Grab.vi,配置相机准备采集。 第3步:通过IMAQ Create.vi,为图像数据创建一个数据缓冲区。 第4步:通过IMAQdx Grab.vi,采集图像,并把它放入之前创建好的数据缓冲区中,并放入采集图 像中进行显示。 第5步:图像数据缓冲区一旦释放,前面板上就看不到采集的图像了,因此通过一个延时程序,等 待用户停止。 第6步:调用IMAQdx Close Camera.vi,关闭相机。 第7步:调用IMAQ Dispose.vi,释放占有的图像数据缓冲区。
IMAQ Load Image Dialog.vi会弹出一个对话框,请用户选 择图像文件路径。图像文件路径获得后传给IMAQ ReadFile.vi, 告诉IMAQ ReadFile.vi欲读取文件的位置。根据文件种类的不 同,需要用IMAQ Create.vi创建一个与之匹配的图像缓冲区。
图8-14读取图像
第1步:通过IMAQdx Open Camera.vi,打开相机。 第2步:通过IMAQdx Configure Grab.vi,配置相机准备采集。 第3步:通过IMAQ Create.vi,为图像数据创建一个数据缓冲区。 第4步:通过IMAQdx Grab.vi,采集图像,并把它放入之前创建好的数据缓冲区中,并放入采集图 像中进行显示。 第5步:图像数据缓冲区一旦释放,前面板上就看不到采集的图像了,因此通过一个延时程序,等 待用户停止。 第6步:调用IMAQdx Close Camera.vi,关闭相机。 第7步:调用IMAQ Dispose.vi,释放占有的图像数据缓冲区。
图8-2 单幅图像采集 6
第八章 图像的采集保存与读取
• 8.2连续采集图像
连续采集图像只需要在采集单幅图像的基础上加入WHILE循环结构即可。下面将详述讲解如何 进行连续图像采集。
连续图像采集的程序框图如图8-3所示。
第1步:通过IMAQdx Open Camera.vi,打开相 机。
第2步:通过IMAQdx Configure Grab.vi,配 置相机准备采集。
图8-11图像文件操作VI
15
第八章 图像的采集保存与读取
• 8.4图像的保存
图像文件操作VI支持读写的图像文件格式有BMP、JEPG、 JEPG2000、PNG、PNG with Vision info和TIFF。这里,我们保 存图片格式为PNG,实现采集一张图像并保存到指定路径(File Path)。如图8-12所示。
2
第八章 图像的采集保存与读取
• 8.1采集单幅图像
采集单幅图像是最基本的图像采集操作,我们通常使用IMAQdx Grab进行采集。IMAQdx Grab方 式的图像采集程序框图如图8-1所示:
图8-1 利用IMAQdx Grab进行图像采集 3
第八章 图像的采集保存与读取
• 8.1采集单幅图像
图8-5设定取像来源 10
第八章 图像的采集保存与读取
② 设定取像类型(Select Acquisition Type) 共分成4种类型: 取单张图像(Single Acquisition with processing) 连 续 取 像 ( Continuous Acquisition with inline process) 一 次 取 固 定 张 图 像 , 边 取 像 边 处 理 ( Finite Acquisition with inline processing) 一次取固定张图像,当所有图像读取完后再处理 (Finite Acquisition with post processing) 如图8-6所示。
图8-7设定取像参数
12
第八章 图像的采集保存与读取
④ 设 定 是 否 保 存 图 像 ( Configure Image Logging Settings)
若将【Enable Image Logging】勾选,表示将获取到的 图像储存到下方指定的文件夹中,并可设定储存的图像格式。 但是,若开启此功能将降低取像速度。此项默认为不勾选。 如图8-8所示。
图8-12保存图像文件
16
第八章 图像的采集保存与读取
另一个方法实现采集图像并保存,就是利用快速采集VI, 通过设置第四步中的是否保存图像,将图像保存到指定路径。 如图8-13所示。
图8-13 保存图像
17
第八章 图像的采集保存与读取
• 8.5图像的读取
图像读取VI可在【视觉与运动--》 Vision Utilities --》 Files --》 IMAQ ReadFile】中找到。程序框图如图8-14所示。 本例实现读取一个文件夹下的一张图片,并显示出来。
8
第八章 图像的采集保存与读取
• 8.3利用快速VI采集图像
快速VI是将资源开启、获取、关闭包装成一个Express VI,帮助使用者快速完成图像采集的相关设定,直接将图像 输出到Labview前面板上。
快速采集VI可在【视觉与运动--》 Vision Express --》 Vision Acquisition】 中找 到 。 如 图8-4 所 示。 将 【Vision Acquisition】直接拖动到程序框图上,即可自动弹出启动设 定界面。
图8-8 设定是否保存图像
13
第八章 图像的采集保存与读取
⑤ 设定输入与输出「Select Controls/Indicators」 可依据需要,设定图像的输入输出参数,设置好后,按 下【Finish】即可完成设定。如图8-9所示。 完成上述五步操作后,在程序框图上将自动生成图像采 集的程序代码,如图8-10所示。
图8-10快速VI自动生成的程序代码
图8-9设定输入与输出 14
第八章 图像的采集保存与读取
• 8.4图像的保存
当我们通过以上方法获得图像数据后,在接下来的图像处 理中,最常见的操作就是对图像进行保存与读取。
图像保存VI可在【视觉与运动--》 Vision Utilities --》 Files --》 IMAQ Write File2】中找到。如图8-11所示。
第3步:通过IMAQ Create.vi,为图像数据创 建一个数据缓冲区。
图8-3连续采集图像
7
第八章 图像的采集保存与读取
第4步:通过IMAQdx Grab.vi,采集图像。采集图像放在了WHILE循环内,因此将进行连续采集, 直到按下停止按钮。
第5步:通过Vision Acquisition可得到采集单张图像的时间。 第6步:调用IMAQdx Close Camera.vi,关闭相机。 第7步:调用IMAQ Dispose.vi,释放占有的图像数据缓冲区。
机器视觉技术
——程 光 主 编 李一男 副主编
1
目录
1 机器视觉概述 2 机器视觉系统构成 3 NI视觉平台的搭建 4 LabVIEW编程环境与基本操作 5 LabVIEW编程结构 6 LabVIEW数组、簇、图形编程
7 字符串、文件I/O和属性节点编程 8 图像的采集保存与读取 9 相机标定 10 图像处理 11 视觉分拣 12 基于OpenCV的视觉分拣
18
谢谢!
19
图8-4 Vision Acquisition位置
9
第八章 图像的采集保存与读取
①设定取像来源(Select Acquisition Source) 左侧【Acquisition Sources for Localhost】中可以检 测 目 前 安 装 在 电 脑 上 所 有 相 机 名 称 , 选 择 【NI-IMAQdx Devices】中的相机【cam0: Balsler GenICam Source】为 本次取像用的相机,接着可以按下右方取像按键(分别为读 取单张和连续读取),测试相机是否正常初始化并取到像; 右下角是相机的基础数值。如图8-5所示。
5
第八章wenku.baidu.com图像的采集保存与读取
其中,第三步和第七步是创建图像数据缓冲区和释放图像数据缓冲区。这是因为每帧图像的数据量 都特别大,如果在处理图像的过程中直接传递图像数据,则非常耗时。最好的方式是仅仅传递指向 该数据缓冲区的引用。IMAQ Create.vi完成的就是创建图像数据缓冲区并返回指向该数据缓冲区的 引用的过程。 单幅图像采集的运行结果,如图8-2所示。其中,最下方信息分别表示分辨率、当前倍数、图像位 深、灰度值和当前XY坐标。
相关文档
最新文档