- 1、本文档共8页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
前言在2-2这个章节要来介绍如何使用NI Vision API来完成影像处理任务,从获取影像开始到得到我们要的结果,我们都能利用NI Vision API来完成,那NI Vision API在哪裡呢?首先我们要打开LabVIEW,然后开启一个新的Block Diagram,如果我们在安装LabVIEW的时候有安装到NI Vision Development Module,那我们就能在Block Diagram的Function选单中找到一个Vision and Motion的类别,在这个类别裡面就会有我们要使用的NI Vision API,如下图2-29所示:图2-29 NI Vision API在图2-29中,作者我未来会介绍到的部分,同时也是我们平常比较常会使用到的部分有:NI-IMAQdx、Vision Utilities、Image Processing和Machine Vision。从LabVIEW Context Help视窗的说明内,我们可以约略得知这些类别下的function所提供的功能:1. NI-IMAQdx:建立撷取影像的系统。2. Vision Utilities:建立影像、操作影像。3. Image Processing:分析、过滤、处理影像。4. Machine Vision:透过影像进行量测。通常一个影像处理程式的撰写大致可以简略分为以下步骤:1. 创建影像记忆体空间2. 获得影像,并将其放入步骤1创建的记忆体空间3. 进行需要的影像处理4. 标示、输出影像处理的结果5. 释放影像记忆体空间在接下来的章节,作者我会带领大家完成一个简单的影像处理程式,从创建影像暂存记忆体开始,到获得影像、处理影像,再到最终得到我们要的结果,各位準备好了吗?快快打开LabVIEW,我们现在就开始吧!2-2-2 ImageBuffer要处理影像之前,首先要获得影像,而在获得影像之前,我们需要先创建一个记忆体空间来暂存我们即将获得的影像,而这个用来暂存影像的记忆体空间我们可以称唿它为Image Buffer。那要如何创建这个记忆体空间呢?大家还记得第一章(下)的图1-37吗?没错!图中这个IMAQ Create的function就是拿来创建影像暂存的记忆体空间用的,透过这个function我们可以去定义这个记忆体空间要储存的影像类型,预设是灰阶(unsigned byte),同时作者这边会建议要给这个记忆体空间一个有意义的名字,不要用预设的untitled,这样在使用到很多Image Buffer的时候程式的可读性会比较高;而它隔壁的好邻居IMAQ Dispose这个function则是用来释放这个记忆体空间用的,大家在使用完这个影像暂存的记忆体空间后,务必要养成将它释放的好习惯,否则若哪天一不小心,就有可能会遇到记忆体不足LabVIEW当掉或是异常关闭的状况喔。图1-37 IMAQ Create与Dispose 元件2-2-3 获得影像程式中要使用的影像,其来源有两种,一为用相机撷取,二为载入现存在电脑中的影像档。首先来帮大家复习一下,在1-2-2节中,我们曾经提及如何使用NI Vision API中的Low Level Function操作相机来进行取像,还记得下面的图1-39吗?图1-39 Low Level 取像元件程式码步骤说明:1. 指定开启相机名称,从「IMAQ Session」中选择对应的相机名称2. 设定相机取像模式为「连续」,Image Buffer设为「3」3. 开始取像4. 任何由外部取得的影像,都需透过IMAQ建立一组记忆体空间来储存,由于取像来源是彩色相机,每一张彩色(RGB)影像需要3*8bit的空间来储存,所以「Image Type」要选择「RGB U32」5. 进入While迴圈后,会不断将影像覆盖到记忆体区内,此时将影像接到Display Image即可在人机介面观察到影像,直到按下「Stop」或Error产生时才会跳出迴圈6. 停止取像7. 解除相机设定8. 结束指定名称的相机作业9. 清空储存影像的记忆体空间如果是要载入电脑裡的图档来进行处理的话,我们会需要用到下图2-30中的IMAQ Load Image Dialog和IMAQ ReadFile这两个function,範例程式码如下图2-31所示。图2-30 Load Image function图2-31 Load Image from Image File範例程式码现在我们成功地将影像载入程式中了,在接下来的章节中,我们将使用NI Vision API来处理之前在2-1中有练习过的範例:Spark Plug Insp
您可能关注的文档
- HCNA Security认证(社会培训)冗余资源 HCNA Security认证(社会培训)冗余资源 用户认证的管理.docx
- HTML5 App商业开发实战教程——基于WeX5可视化开发 5.2 JavaScript表达式 5-1 绑定表达式 教学案例.doc
- internet应用基础 internet应用基础 2.doc
- internet应用基础 internet应用基础 Internet应用基础教学设计.doc
- internet应用基础 internet应用基础 因特网通信.doc
- J2EE企业级项目开发-3期(KC007) WebLogic 3.1 WebLogic文档.doc
- Java Web应用开发 试卷 Java Web应用开发复习题.doc
- Java Web应用开发 习题 Java Web(1).doc
- JavaEE程序设计 Hibernate环境的搭建、项目实战 注册和登录系统(第一讲).docx
- Java程序基础 类与对象 2.0 Eclipse简介.docx
文档评论(0)