第16-17章_CVI及IMAQA_Vision简介

合集下载

labviewIMAQ模块介绍

labviewIMAQ模块介绍

IMAQ模块介绍fhinali编写IMAQ模块介绍一.LabVIEW机器视觉前面板上的模块有以下几类(如图1所示)1.IMAQ Image.ctl2.Image Display control3.IMAQ Vision controls4.Machine Vision controls图11 IMAQ Vision controls对图像进行分析和处理所用到的一些控件,包括图像的类型,图像处理的方式和不同的形态算子以及颜色的类型的选择等等。

如图2IMAQ 模块介绍 fhinali 编写图21.1 Image Type用于图片类型的选择,可以选择的类别有8bits ,16bits ,Float ,Complex ,RGB 和HSL 。

一般用在从文件中读取图片时类型的选择。

1.2 ROI DescriptorROI 区域的描述。

ROI 是Region Of Interesting 的简称,中文应该翻译为目标区域。

一般用在一个大图中取一块特定形状的区域,以便后续的处理和分析。

ROI 为一簇数据,包括一个整数数组和一个簇组成的数组。

整数数组内有4个元素,为图形最小外接矩形的四条边的坐标。

簇数组中的簇由轮廓类型(整数),ROI 类型(整数)和图形坐标点(为数组,根据ROI 类型的不同,数组的定义也不同)1.3Optional Rectangle选择的矩形区域,为四个元素的数组,代表矩形的四条边的坐标。

1.4Color Mode色彩模式,彩色图形的显示和处理模式,包括RGB,HSL,HSV,HIS 四种。

1.5Threshold Range阀值范围,为一包含两个数组元素的簇,常用于灰度或色彩图像阀值处理模块中。

1.6 Convolution Kernel二维浮点数组成的数组,用于构造一些算法的算子。

1.7 Morphology Operation形态算法的选择。

可以选择不同的数据处理方式。

1.8 Structuring Element结构元素,为二维的整数数组。

CVI及IMAQA Vision简介

CVI及IMAQA Vision简介

averfilter.c的“均值滤波”函数框架代码:
int CVICALLBACK Averfilter (int panel, int control, int event, void *callbackData, int eventData1, int eventData2) { switch (event) { case EVENT_COMMIT: break; } return 0; }
首先利用用户界面编辑窗口设计一个主面板,即图形化用 户接口GUI(graphical user interface)。
用户界面编辑窗 口——文件扩展 名是uir(user interface resource)
注意:
基于LabWindows/CVI的所有应用程序都是从设计用户界面 开始开发的; 利用鼠标和键盘交互完成菜单、图形、按钮等界面控件的 设计; 将设计好的主面板保存后,会生成一个后缀名为*.uir (例如averfilter.uir)的文件,同时生成一个头文件 (例如averfilter.h); 头文件是用来声明界面(面板)对象常量及相关回调函数的 源码。
(1)Analysis(图像分析) (2)Color(彩色图像处理和分析) (3)Complex(复数图像操作,如FFT. (4)Conversion(对图像进行线性或非线性变换) (5)Display(图像显示及图像显示窗口管理) (6)Files(对磁盘上图像文件的读写操作) (7)Filters(图像滤波) (8)Geometry(图像的几何变换) (9)Management(图像系统管理,如图像结构的创建等) (10)Morphology(图像的形态学处理) (11)Operator( 图像间的代数运算、逻辑运算等) (12)Processing(图像的二值化、标记等) (13)Tools(Image)——对图像的操作,如图像复制等。 (14)Tools(Pixel)——图像像素的操作,包括像素值的读、写等。 (15)Tools(Diverse)——可在图像中进行画线、矩形、椭圆等操作。

NI vision详解剖析

NI vision详解剖析

NI Vision for LabVIEW 基础(一):NI Vision 简介2013-04-12 17:33:01| 分类:默认分类|字号订阅Vision控件模板位于LabVIEW控件模板的最顶层,由一下元素组成:IMAQ Image.ctl—该控件是一个类型定义,用于声明图象类型的数据。

在VI的前面板中使用该控件代表图象类型数据。

例如,使用该控件作为一个子程序的输入或输出,使调用成成可以将一幅图像传送给子程序。

图像显示(Image Display)—该控件用于在LabVIEW 中直接显示图像。

也可以利用该控件创建关注区域(ROIs)。

图像显示控件提供标准和3D版两种外观。

IMAQ 视觉控件(IMAQ Vision controls)—这里的控件用于将NI Vision的程序控件直接加入入用户自己的程序中获得相应的功能。

机器视觉控件(Machine Vision controls)—这里的控件用于将NI Vision 的机器视觉控件直接加入到用户自己的程序中以获得相应的功能。

NI Vision 函数模板NI Vision for LabVIEW 由三个主要的函数模板组成:常用视觉程序(Vision Utilities), 图像处理(Image Processing), 和机器视觉(Machine Vision)。

本节介绍这些模板以及它们的子模板。

常用视觉程序(Vision Utilities)常用视觉函数用于在NI Vision中处理和显示图像。

Image Management—管理图像程序组。

利用这些程序可以建立和释放图像,设置和读取图像的属性例如尺寸和偏移量,复制图象。

也可以使用一些高级的Vis来定义图像的边框区域以及访问图像数据的指针。

Files—一组使用不同格式读、写图像文件,并从文件中获得所包含的图像的信息的程序模块。

External Display—用于在外部窗口显示图像的程序模块组。

labwindows-CVI-教程

labwindows-CVI-教程

l a b w i n d o w s-C V I-教程本页仅作为文档封面,使用时可以删除This document is for reference only-rar21year.MarchLabWindows/CVI基础教程序言LabWindows/CVI是National Instruments公司推出的一套面向测控领域的软件开发平台。

它以ANSI C为核心,将功能强大,使用灵活的C语言平台与数据采集,分析和表达的测控专业工具有机地接和起来。

它的集成化开发平台,交互式编程方法,丰富的控件和库函数大大增强了C语言的功能,为熟悉C语言的开发人员建立检测系统,自动测量环境,数据采集系统,过程监控系统等提供了一个理想的软件开发环境。

本教程面向的是那些从未使用过LabWindows/CVI的读者,但是假设读者以有了C语言的基础并且熟悉Windows 2000/9x/NT操作系统。

在每一章节的学习中,作者都是通过一个具体的实例让读者迅速的掌握本章的知识点;而不是长篇大论,述及边枝细叶,反而使读者望而却步,只见树木,不见森林。

想信通过对本教程的学习,读者可迅速掌握LabWindows/CVI编程思想及步骤,为读者日后进一步学习打下基础。

本书约定:“File>>Page Setup>>Options”File 这一种黑色斜体字是指多级菜单名,按扭名,窗口名或者是关键性词汇。

“>>”是指打开一个多级菜单或对话框。

如:File>>Page Setup>>Options是指你首先打开File 菜单,然后选择Page Setup项,最后从弹出的对话框中选择Options 项。

“说明:通过这种方式你可以修改Panel顶端所显示的名字。

”该种字体所写的文字是值得读者注意并记忆的内容。

“该椭圆形框所框住的内容是读者需修改的地方。

第一部分 CVI快速入门本部分通过编制一个简单的LabWindows/CVI程序,使读者对CVI编程环境,思想及步骤有一初步的认识。

CVI编程常见问题与错误-2012.9

CVI编程常见问题与错误-2012.9
3根据实验指导书内容做出来的窗口每一种形态学处理都只能处理一次多点几次该按钮也无法在前一次的基础上进行再一次地处理那么如果要在该实验基础上实现这一功能可以吗
CVI 编程常见Байду номын сангаас题或错误
1. CVI编程时,在程序中插入函数的方法?如何了解该函数隶属那个函数库? ..................................... 3 2. 如何查看或者找到一个CVI或IMAQ Vision的函数? ............................................................................... 4 3. 实验一不能显示曲线—采用了错误的显示控件 ....................................................................................... 5 4. 实验一不能显示正弦曲线 ........................................................................................................................... 5 5. 实验一显示不了任何信号波形曲线? ....................................................................................................... 6 6. 实验 1.2 出现的显示问题 .....................................................................................................

嵌入VISION的cvi程序

嵌入VISION的cvi程序

#include <windows.h>#include <cvirte.h>#include <userint.h>#include <ansi_c.h>#include "mil.h"#include <utility.h>#include "nivision.h"#include "video_test.h"#define Image_X 768#define Image_Y 576#define WINDOW_TO_USE 0static int panelHandle;static int ImaqHandle; // will contain the handle to the imaq windowstatic int windHandle; // will contain the handle to the CVI windowImage *image;unsigned char myArray[Image_Y][Image_X];int windowHandle,disp,x,y;Point position;MIL_ID MilApplication, /* Application identifier. */MilSystem, /* System identifier. */MilDisplay, /* Display identifier. */MilDigitizer, /* Digitizer identifier. */MilImage; /* Image buffer identifier. */int main (int argc, char *argv[]){if (InitCVIRTE (0, argv, 0) == 0)return -1; /* out of memory */if ((panelHandle = LoadPanel (0, "video_test.uir", PANEL)) < 0)return -1;DisplayPanel (panelHandle); //显示面板imaqSetupWindow(WINDOW_TO_USE,0);//设置窗口的性质;窗口号,定义窗口的行为//imaqSetWindowPalette(WINDOW_TO_USE,2,NULL,0);position.x=1;position.y=1;imaqMoveWindow(WINDOW_TO_USE,position);//移动图像窗口,窗口号,窗口左上角的位置image = imaqCreateImage (IMAQ_IMAGE_U8, 0);//创建一个图像/*set the image window to be one part of the CVI window*/ //设置图像窗口的CVI窗口windHandle = (int) FindWindow (NULL, "Video Test"); // get CVI window handleImaqHandle = (int) imaqGetSystemWindowHandle(0); //返回一个窗口句柄/* SetParent will set he CVI window as the parent of the imaq window. */SetParent( (HWND) ImaqHandle, (HWND)windHandle); //改变某个子窗口的父窗口MappAllocDefault(M_SETUP, &MilApplication, &MilSystem,M_NULL, &MilDigitizer, &MilImage);RunUserInterface ();DiscardPanel (panelHandle);return 0;}。

IMAQ Vision 1400系统设置指南说明书

IMAQ Vision 1400系统设置指南说明书

IMAQ™,LabVIEW™,and NI-IMAQ™are trademarks of National Instruments Corporation.Product and company names mentioned herein are trademarks or trade names of their respective companies.322457B-01©Copyright 1999,2000National Instruments Corp.All rights reserved.November 2000G ETTING S TARTED WITHY OUR IMAQ V ISION 1400S YSTEMThis note describes how to set up the IMAQ Vision 1400system,a complete,general-purpose system for quickly developing PC-based machine vision applications.With the IMAQ Vision 1400system,you can develop low-cost,customizable solutions for pattern matching,alignment,gauging,inspection,and optical character recognition (OCR)applications.The IMAQ Vision 1400system includes development software,anIMAQ PCI-1409image acquisition device,an analog monochrome camera,a lens,and cabling.What You Need to Get StartedTo set up your IMAQ Vision 1400system,you need the following:❑IMAQ PCI-1409and documentation❑National Instruments driver and application software,as follows:–NI-IMAQ version 2.5or higher –LabVIEW 6.0or higher –IMAQ Vision 5.0or higher –IMAQ Vision Builder 1.0or higher –IMAQ Vision OCR 1.0or higher❑RS-170or CCIR analog monochrome camera❑Camera power supply and cable❑Lens❑BNC cableGetting Started with Your IMAQ Vision 1400System Installing Your SoftwareNote Y ou must install the NI-IMAQ driver software before installing the PCI-1409.Install your software in the following order:1.LabVIEW —Consult your LabVIEW release notes for directions to install LabVIEW.2.NI-IMAQ —Follow the directions in the NI-IMAQ forWindows 2000/NT/Me/9x Release Notes to install the NI-IMAQ driver software.Note If you do not have Adobe Acrobat Reader installed on your computer,install it at this time.Y ou will need Acrobat Reader to access much of the IMAQ and LabVIEW documentation.3.IMAQ Vision —Follow the directions in the IMAQ Vision for LabVIEW Release Notes to install IMAQ Vision.4.IMAQ Vision Builder —Follow the directions in the IMAQ Vision Builder Tutorial to install IMAQ Vision Builder.5.IMAQ Vision OCR —Follow the directions in the IMAQ Vision OCR for LabVIEW Release Notes to install IMAQ VisionOCR.©National Instruments Corporation 3Getting Started with Your IMAQ Vision 1400SystemInstalling Your HardwareRefer to Figure 1as you follow these general instructions to install your hardware:1.Install your PCI-1409.Follow the instructions on pages 1and 2of the Getting Started with Your IMAQ System document.For more information on installing your hardware,see the IMAQ PCI/PXI-1409User Manual .2.Assemble the camera and lens.3.Connect the camera to the PCI-1409with the BNC cable.4.Connect the power supply to the camera.5.Connect the power supply cord to the power supply.6.Plug the power supply cord into a power outlet.7.Start your computer.Figure 1.Installing the IMAQ Vision 1400System 1PCI Slot 2IMAQ PCI-14083Computer 4Camera Power Supply 5Power Supply Cord 6RS-170or CCIR Camera 7Lens 8BNC CableWhere to StartFollow these general steps to learn how to acquire your first image andbegin building imaging applications:1.Follow the instructions on pages3and4of the Getting Started withYour IMAQ System document to acquire your first image.plete the activities in Getting Started with LabVIEW if you are anew LabVIEW user.If you are an experienced LabVIEW user,consultthe LabVIEW User Manual to review basic LabVIEW programmingconcepts.3.To learn how to use the NI-IMAQ VIs,consult the NI-IMAQ UserManual and the NI-IMAQ VI Reference online help.Y ou can find theuser manual in portable document format(PDF)in the Start»NationalInstruments»Vision»Documentation folder.Y ou can access the helpfile from the LabVIEW Help menu.4.To learn how to use IMAQ Vision Builder to build prototypes of yourapplication,perform the exercises in the IMAQ Vision BuilderTutorial.5.To run examples for IMAQ Vision,consult the IMAQ Vision onlinehelp files.You can access the online help from the LabVIEW Helpmenu.For additional information on IMAQ Vision,consult the IMAQVision User Manual and the IMAQ Vision Concepts Manual.6.To learn how to use IMAQ Vision OCR,consult the IMAQ Vision OCRfor LabVIEW Release Notes and run the IMAQ Vision OCR onlinehelp,which you can access from the LabVIEW Help menu.。

基于LabVIEW和IMAQ Vision的图像聚焦评价软件的设计与实现

基于LabVIEW和IMAQ Vision的图像聚焦评价软件的设计与实现

基于LabVIEW和IMAQ Vision的图像聚焦评价软件的设计
与实现
亓夫军;李鸿儒;刘培剑;卢渊
【期刊名称】《电子世界》
【年(卷),期】2014(000)002
【摘要】本设计采用NI公司机器视觉开发包,搭建了用于摄像头图像采集与处理的LabVIEW程序框架,并在此框架下通过调用动态链接库方式实现了一种基于图像清晰度的评价算法。

经实际测量,获得了理想的聚焦评价效果。

【总页数】2页(P107-107,108)
【作者】亓夫军;李鸿儒;刘培剑;卢渊
【作者单位】中国海洋大学信息科学与工程学院物理系;中国海洋大学信息科学与工程学院物理系;中国海洋大学信息科学与工程学院物理系;中国海洋大学信息科学与工程学院物理系
【正文语种】中文
【相关文献】
1.基于LabVIEW和IMAQ Vision的目标统计系统 [J], 路红;费树岷;夏庆观;郑建勇
2.基于LabVIEW和IMAQ Vision的微型电感器的焊点质量检测系统 [J], 贾小丽;郭钟宁;李远波;梁嘉豪;杨仕桐
3.基于LabVIEW和IMAQ Vision的电路板检测系统的设计与实现 [J], 李扣生;何黎明;王林
4.基于LabVIEW和IMAQ Vision的农产品颜色识别研究 [J], 刘金桥;王春耀;吴金强;刘跃;张强
5.基于LabVIEW与IMAQ Vision的智能插装系统 [J], 周龙福;刘超
因版权原因,仅展示原文概要,查看原文内容请购买。

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

第五步:运行程序
可在CVI的任何窗口下,点击菜单项“RUN” 即可。 如果需要,利用源代码编辑器可生成可执 行文件averfilter.exe,它与averfilter.uir一 起可脱离LabWindows/CVI的环境,在任何
Winห้องสมุดไป่ตู้ows环境下执行。
16.3 IMAQ Vision for LabWindow/CVI 简介
第二步:生成C程序框架
完成主面板设计后,使用用户界面编辑窗口的代码 (code)命令能自动生成 一个*.c文件 :它对应于GUI 的C程序框架(用户可将其保存为averfilter.c)。
执行命令: Code>>Generate>>A ll Code
注意:执行命令Code>>Generate>>All Code后:
第16/17章 LabWindow/CVI及IMAQ Vision简介
主要内容 16.1 虚拟仪器的概念 16.2 LabWindows/CVI简介 16.3 IMAQ Vision for LW/CVI简介 16.4 示例:一个简单图像处理系统的构建 ______图像的均值滤波处理
16.1 虚拟仪器的概念
averfilter.c文件由4个函数组成
主函数main
完成主面板的调入、显示及系统的关闭等功能。
回调函数(CALLBACK) Loadfile
对应于主面板按钮“装入一个图像文件”的功能。
回调函数Averfilter
对应于主面板“均值滤波”的功能。
回调函数Quit
对应于主面板“退出”的功能。
averfilter.c的主函数框架代码:
}
averfilter.c的“装入图像”函数框架代码:
int CVICALLBACK Loadfile (int panel, int control, int event, void *callbackData, int eventData1, int eventData2) { switch (event) { case EVENT_COMMIT: break; } return 0; }
/* Needed if linking in external compiler; harmless otherwise */ return -1; /* out of memory */ if ((panelHandle = LoadPanel (0, "averfilter.uir", PANEL)) < 0) return -1; DisplayPanel (panelHandle); RunUserInterface (); return 0;
能自动生成一个主函数(main); 为GUI中所设计的各个功能项(如命令按钮)产 生一个对应的C函数(回调函数)框架; 自动为某些用户事件(如双击鼠标、菜单选择程 序、退出等功能)产生源代码。
主函数框架
“载入文件”函数框架
“退出”函数框架
“均值滤波”函数框架
第三步: C程序框架代码填充
打开averfilter.c文件,在各功能项的回调函 数框架中,添入相应的控制代码,及变量定义。
虚拟仪器(Virtual Instrument,简称VI)是当今计算机辅助测试 (CAT)领域的一项重要技术。 虚拟仪器:基于计算机的测量仪器,集测试与分析于一体。 特点: 仪器的硬件核心——通用计算机; 仪器的用户界面是由用户自行设计的——虚拟面板(用户界面); 仪器的测试功能——由测试软件实现; 使用者用鼠标或键盘操作虚面板,就如同使用一台专用测量仪器。 虚拟仪器=测量仪器+个人计算机
averfilter.c的“均值滤波”函数框架代码:
int CVICALLBACK Averfilter (int panel, int control, int event, void *callbackData, int eventData1, int eventData2) { switch (event) { case EVENT_COMMIT: break; } return 0; }
基于CVI的系统(或程序)如何开发?
前奏——启动CVI软件 点击开始菜单中的CVI IDE 或者在c:\cvi下,点击cvi.exe
Cvi编程常用的三个窗口
用户界面编辑窗口(*.uir) 源代码编辑窗口(*.c) 工程文件编辑窗口(*.prj) 这三个窗口的打开: File>>New>>
第一步:设计用户界面
变量定义 用户填入的 程序
第四步: 产生一个工程文件
产生一个工程文件(averfilter.prj),包括:
用户应用程序的源代码averfilter.c文件, 用户头文件averfilter.h, 用户接口文件averfilter.uir 其它的库文件与驱动文件。
产生工程文件的方法:
1. 2.
在任何窗口下,选择:File>>New>>Project (*.prj)… 在弹出的工程窗口中,选择:Edit >>Add Files to Project… >>All Files
Software is instrument
与智能化仪器的区别?
计算机和仪器的密切结合是目前仪器发展的一个重要方向。 粗略地说这种结合有两种方式: 一种是将计算机装入仪器——所谓的智能化仪器。随着计 算机功能的日益强大以及其体积的日趋缩小,这类仪器功 能也越来越强大——例如含嵌入式系统的仪器。 另一种方式是将仪器装入计算机——所谓的虚拟仪器。以 通用的计算机硬件及操作系统为依托,实现各种仪器功能。
3)在主函数最后增加一条强制关闭Imaq_CVI的 命令:
IPI_CloseSys();
代码添加完毕后的主函数如下:
int main (int argc, char *argv[]) { if (InitCVIRTE (0, argv, 0) == 0) return -1; if ((panelHandle = LoadPanel (0, "averfilter.uir", PANEL)) < 0) return -1; DisplayPanel (panelHandle); IPI_Create (&SourceImage, IPI_PIXEL_U8,2); IPI_Create (&DestImage, IPI_PIXEL_U8, 2); RunUserInterface (); IPI_CloseSys(); return 0; }
虚拟仪器的软件开发工具有如下两类:
1)文本式编程语言,如LabWindows/CVI等 2)图形化编程语言,如LabVIEW等。
16.2 LabWindows/CVI简介
LabWindows/CVI是美国NI(National Instruments)公司开发的32位面向计算机测控领域 的虚拟仪器的软件开发平台。 它是以ANSI C为核心,交互式编程、集成化的 开发平台。
“虚拟” 的两个含义
(1)虚拟仪器的面板、控件是虚拟的
但这些“控件”与传统仪器面板上的各种“器件”所完成的功 能是相同的。 如:由各种开关、按键、显示器等实现仪器电源的“通”、 “断”,被测信号“输入通道”、“放大倍数”等参数设置,测量结 果的“数值显示”、“波形显示”等。
“虚拟” 的两个含义
(2)虚拟仪器测量功能由软件编程来实 现 依托以PC为核心的硬件平台,通过软件编 程来实现仪器的测试功能——“软件就是仪器”
这些函数如何使用?如何学习它?
1)部分函数的使用示例可参考安装软件提供的例子 程序,位置在:c:\cvi401\Imaq_CVI\Samples\ 2)所有函数的使用可参考安装软件的电子文档,位 置在:C:\CVI401\IMAQ_CVI\Documentation 3)可在源代码编辑窗口下在线查看函数的定义
示例:如何创建一个图像处理系统? 或如何进行图像处理实验? 均值滤波示例
第一步:设计一个主面板
保存主面板文件为averfilter.uir,和 一个头文件averfilter.h
第二步:产生程序代码框架
1)在界面编辑器中,执行: Code>>Generate>>All Code… 产生一个*.c文件(程序代码框架) 2)将*.c文件保存为averfilter.c
#include <cvirte.h> * Needed if linking in external compiler; harmless otherwise */ #include <userint.h> #include "averfilter.h" static int panelHandle; int main (int argc, char *argv[]) { if (InitCVIRTE (0, argv, 0) == 0)
首先利用用户界面编辑窗口设计一个主面板,即图形化用 户接口GUI(graphical user interface)。
用户界面编辑窗 口——文件扩展 名是uir(user interface resource)
注意:
基于LabWindows/CVI的所有应用程序都是从设计用户界面 开始开发的; 利用鼠标和键盘交互完成菜单、图形、按钮等界面控件的 设计; 将设计好的主面板保存后,会生成一个后缀名为*.uir (例如averfilter.uir)的文件,同时生成一个头文件 (例如averfilter.h); 头文件是用来声明界面(面板)对象常量及相关回调函数的 源码。
去哪里查看这些函数?
用户在CVI中任一个编辑窗口(如源代码编辑窗口)下,点 击菜单Instruments\Imaq Vision for CVI可查看到所有 的函数。
相关文档
最新文档