《ni机器视觉培训教程》由会员分享,可在线阅读,更多相关《ni机器视觉培训教程(34页珍藏版)》请在金锄头文库上搜索。
1、 i 目 录 第 1 章 搭建机器视觉处理平台 1 1.1 选择相机 . 1 1.1.1 扫描类型(Scan type) 1 1.1.2 相机分辨率(Camera Resolution) . 2 1.1.3 相机的图像传输方式 . 3 1.2 选择图像采集板卡 . 5 1.3 选择软件处理平台 . 6 1.3.1 超高性价比的学习平台 . 7 1 第第1章 搭建机器视觉处理平台章 搭建机器视觉处理平台 1.1 选择相机选择相机 光源选择好了以后,下一步就是选择相机。通常,在工业相机的说明书上,会出现这样 的指标,如图 2.1 所示。 图 2.1 工业相机指标(来自 ) 下面本文将详述工业相机常
2、见的指标,以帮助大家选择合适的相机。 1.1.1 扫描类型扫描类型(Scan type) 相机中的成像元件是 CCD 芯片。如果 CCD 芯片只有一行感光器件(如图 2.2 左所示), 换句话说,每次只能对物体的一条线进行成像,那么,这种扫描类型成为线扫描(line scan), 这样的相机称为线阵相机。 如果 CCD 芯片的感光区是个矩形阵面(如图 2.2 右所示), 换句话 说,每次能对物体进行整体成像,那么,这种扫描类型成为面扫描(line scan),这样的相机 称为面阵相机。 图 2.2 面阵 CCD vs. 线阵 CCD 面阵相机的优点是价格便宜,处理方面,可以直接获得一幅完整的图
3、像。线阵相机的优 点是速度快, 分辨率高, 可以实现运动物体的连续检测, 比如传送带上的滤波等带状物体(这 种情况下,面阵相机很难检测);其缺点是需要拼接图像的后续处理。图 2.3 给出了线阵相 机的一个成像实例,以帮助大家更好的理解线阵相机的成像过程。 2 图 2.3 线阵相机成像实例 按照扫描方式不同,面阵相机还可以分为隔行扫描(Interlaced scan)和逐行扫描 (Progressive Scan)。 隔行扫描方式下一幅完整图像分两次显示, 首先显示奇数场 (1、 3、 5) , 再显示偶数场(2、4、6) ,如图 2.4 所示。 + = 图 2.4 隔行扫描成像过程 隔行扫描相
4、机的优点是价格便宜,但由于隔行扫描方式是先扫奇数场,再扫偶数场,所 以隔行扫描相机在拍运动物体的时候容易出现锯齿状边缘或叠影。 逐行扫描相机则没有上述的缺点,由于所有行同时曝光,不会分先后,所以在拍摄运动 图像画面清晰,失真小。其余参数相似的情况下,逐行扫描相机要比隔行扫描相机贵。 1.1.2 相机分辨率相机分辨率(Camera Resolution) 分辨率是影响图像效果的重要因素, 我们一般用水平和垂直方向上所能显示的像素数来 表示分辨率,例如 640480。该值越大图形文件所占用的磁盘空间也就越多,从而图像的细 节表现得更充分。 与分辨率联系非常紧密的参数是视场(Field of Vie
5、w)和特征分辨率(Feature Resolution), 如图 2.5 所示。视场是指能拍摄到的范围,特征分辨率是指能分辨的实际物理尺寸。 奇数场奇数场偶数场偶数场 帧帧 3 图 2.5 视场和特征分辨率 NI Vision Module 中的图像算法要求,物体最小的特征需要两个像素来表示,根据视场 和相机分辨率,我们可以计算出特征分辨率。计算特征分辨率的公式为: 特征分辨率 = 视场/分辨率 * 2 例如: 相机分辨率为 640 x 480, 横向的视场是 60mm, 那么在横向的特征分辨率为: 60/640*2 = 0.1875 mm。 1.1.3 相机的图像传输方式相机的图像传输方式
6、按照不同的图像传输方式,相机可以大略的分为模拟相机和数字相机。 1 模拟相机 模拟相机以模拟电平的方式表达视频信号, 如图 2.6 所示。 模拟相机现在使用非常广泛, 其优点是技术成熟、成本低廉、对应的图像采集卡价格也比较低。8-bit 的图像采集卡可以 提供 256 级的灰度,对于大部分的图像应用已经足够了。 图 2.6 模拟视频信号 模拟相机有四个非常成熟的标准:PAL、NTSC、CCIR 和 RS-170,如表 2.1 所示。里面 需要关注的参数有帧率、彩色/黑白、分辨率。 表 2.1 模拟相机标准 标准 使用地 帧率 帧/秒 彩色/黑白分辨率 PAL 欧洲 25 彩色 768676 N
7、TSC 美国、日本 30 彩色 640480 CCIR 欧洲 25 黑白 768676 RS-170 美国、日本 30 黑白 640480 4 由表 2.1 可以用看出, 不同的标准对应不同的参数, 这些参数必须正确告知图像采集卡, 才能获得准确的图像。在 NI Measurement & Automation中,可以根据 相机模拟图像的输出格式来配置图像采集卡,如图 2.7 所示。 图 2.7 配置图像采集卡 模拟相机也有一些缺点,比如帧率不高,分辨率不高等等。在高速、高精度机器视觉应 用中,一般都会考虑数字相机。 2 数字相机 数字相机先把图像信号数字化后通过数字接口传到电脑中。常见的数字
8、相机接口有 Firewire、CameraLink、GigE 和 USB。 Camera Link 是一个工业高速串口数据连接标准,它是由 National Instruments、摄像头 供应商和其他图像采集公司在 2000 年 10 月联合推出的,它在一开始就对接线、数据格式、 触发、相机控制等做了考虑,所以非常方便机器视觉应用。Camera Link 的数据传输率可达 1Gbits/s,可提供高速率、高分辨率和高数字化率,信噪比也大大改善。Camera Link 的标准 数据线长 3 米, 最长可达 10 米。 如果您是高速或高分辨率的应用, Camera Link 肯定是首选。 Fir
9、ewire 即 IEEE1394,开始是为数字相机和 PC 连接设计的,它的特点是速度快 (400Mbits/s),通过总线供电和支持热插拔。另外值得一提的是,如果 PC 上自带 Firewire 接 口,那么不需要为相机额外购买一块图像采集卡了,这在成本上也是一种优势。 GigE,即千兆以太网接口,它似乎综合了高速数据传输和远距离的特点,而且电缆便 宜(网线)。缺点是支持这种接口的相机型号比较少,选择有限。 USB 相机较多的用在娱乐上,比如 USB 摄像头,USB 工业相机型号也比较少,在工业 中的使用程度不高。但正是因为 USB 摄像头超级低廉(不到 100 元人民币) ,所以本文把 U
10、SB 摄像头作为机器视觉学习的硬件平台,这样可以方便大家以低廉的成本进入机器视觉 5 领域。 1.2 选择图像采集板卡选择图像采集板卡 一般来说,选好相机后,图像处理板卡也就确定了。生产图像处理板卡的厂家非常多, 如果您的应用除了单纯的图像处理外, 还包括数据采集、 运动控制等要求的话, 选择 National Instruments 公司的图像处理板卡是一个不错的选择。 因为所有功能都可以在一个统一的软件 平台(LabVIEW)和硬件平台(PXI)上完成,方便系统集成。 在 上提供一个相机选择助手,如图 2.8 所示。 图 2.8 相机选择助手 在相机选择助手选择相应的参数,如供应商、扫描
11、模式、接口类型、分辨率等,就可以 查到到相应的应用比较成熟的相机,并且还可以比较同类型的相机。 点击到感兴趣的相机页面, 不仅可以获得相机相关的信息, 还可以得到图像采集卡的推 荐,如图 2.9 所示。推荐的图像采集卡都是经过 NI 公司验证过的,所以可以把兼容性问题 降到最低。 6 图 2.9 相机信息页面 1.3 选择软件处理平台选择软件处理平台 机器视觉处理软件有很多种,比如源代码开放的 OpenCV,Mathworks 公司的图像处理 工具包,Matrox 公司的 Imaging Library,National Instruments 公司的 LabVIEW 等等。 如果目标是机器视
12、觉算法研究,需要考虑软件的源代码是否开放。 如果目标是机器视觉系统的开发,需要考虑的因素有:图像处理函数库是否完备;发布 费用是否高昂;使用是否方便;开发平台是否统一;与硬件结合是否容易;公司的售后服务 及技术支持是否到位等等。 机器视觉系统开发带有很强的试验性质, 通常需要多种处理算法混合在一起才能取得目 标效果,需要一边尝试一边开发。如果图像处理函数库不够完备,那么开发起来,处理过程 将受到很多限制。 商业的软件平台通常会收取发布费用, 如果产品比较低端, 那昂贵的发布费用将占去大 部分利润。 对于系统开发来说, 商品的上市时间是一个重要的因素, 大量的时间花在源代码的调试 上是一件得不偿
13、失的事情,所以软件的易用程度和学习曲线将是一个重要的考虑因素。 7 机器视觉系统是一个涵盖机械、图像处理、数据采集和运动控制等的复杂系统,如果开 发平台统一, 容易集成诸如数据采集和运动控制等功能的话, 那比较容易开发出功能更加复 杂、附加值更加高的产品。笔者在学生期间曾经做过一套系统,在 VC 下进行图像采集与处 理,用单片机系统实现数据采集,用 PLC 进行电机控制,然后用 RS485 进行通信。在这个 工程项目中,必须学习 VC,Keil C 和 GXDeveloper 三种开发平台,且不说各模块功能的实 现,单是设计和开发通讯协议,就在三个平台间辗转反侧,花了很多精力和时间。 另外,
14、如果供应商的技术支持很好, 比如有免费 800 电话, 工程师现场支持等服务的话, 会非常有助于项目的开发。笔者在项目开发时,遇到问题的主要解决途径就是 Google 和论 坛。 本文将介绍 National Instruments 公司的 LabVIEW 开发平台,在这个平台不仅可以学习 图像采集、 图像处理及机器视觉, 学完后还能将所学到的知识和技能直接用于机器视觉系统 的开发。 1.3.1 超高性价比的学习平台超高性价比的学习平台 前文中提到,USB 摄像头常用于家庭娱乐,但由于其价格低廉,非常适合做学习机器 视觉的入门级硬件。本节将介绍 LabVIEW 平台下,如何利用 USB 摄像头
15、学习机器视觉的 方法。 1. 买一个支持 DirectShow 的 USB 摄像头,就是 QQ 聊天的那种,免驱的。我买的是剑桥 A36 Pro,不到 100 元 RMB。 2. 安装 LabVIEW7.1 以上的版本,参加任何的 NI 研讨会都可以拿到 LabVIEW 的试用光 盘,也可以到 http:/ 3. 安装 NI Vision Development Module,参加 NI 机器视觉研讨会就可以拿到 Vision Development Module 的试用光盘, 或者到网上去下载, 需要注意的是 Vision Development Module 的版本号要和 LabVIEW
16、对应,比如 LabVIEW 使用的是 8.2,那么 Vision Development Module 也要使用 8.2。 4. 到 http:/ 去下载 NI-IMAQ for USB Cameras,这是 在 LabVIEW 下,支持 DirectShow 的 USB Camera 的驱动并安装。 5. 如果您用的是中文WinXP SP2操作系统,还需要到 http:/ g&page=5 去下载一个 dll 文件(ImaqDirectShowDll),并用该文件覆盖 system32 文件夹 下的同名文件。 上述系统的总花费就是一个可以用于 QQ 聊天的 USB 摄像头。 当 系 统 配 置 好 后 , 可 以 到C:Prog