0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看威廉希尔官方网站 视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Labview与其他编程工具总结

新机器视觉 来源:新机器视觉 作者:新机器视觉 2022-08-22 10:34 次阅读

捣鼓这个东西1个多礼拜了。从开始连NI是啥都不知道,瞪着MAX不知编程界面在哪,到后来反复折腾VAS、LV、VDM安装顺序(刚开先装VAS后装LV找不到imaq的vi还不知道啥原因),然后看网上的教程,不知道各种图标是什么函数,到现在终于把USB相机采集图像的这个小玩意做出来,中间走了不少弯路。这里姑且把思路整理一下,重做一遍全当复习之用,也适合毫无基础的人看。

安装软件推荐(这里就不附上链接了)

1.安装Labview中文版:

2.安装Vision Acquisition Software (VAS)

我的理解这个东西的作用主要是提供硬件驱动

3.安装Vision Development Module (VDM)

我的理解这个东西的作用主要是提供机器视觉相关的函数(包括Labview与其他编程工具)

*注意:一定要先装Labview,如果顺序不对,会出现LV中无IMAQ函数Vision控件等不良后果。以上组件安装评估版后使用NI License Activator破解激活,自行网上搜索。

使用USB相机需要额外安装以下两个玩意儿!

4.安装imaq USB,NI为USB相机做的补充包。

*注意:WIN7下安装方法有所不同。

使用USB相机采集图像

打开NI MAX看看是否可以识别相机,能识别到就可以关掉NI MAX了。

dbe21046-205e-11ed-ba43-dac502259ad0.jpg

打开Labview建立一个空白vi

dbfd8376-205e-11ed-ba43-dac502259ad0.jpg

Labview的编程界面有两个:前面板和程序框图,如果只有前面板,请点击窗口菜单下“显示程序框图”

dc1a5d8e-205e-11ed-ba43-dac502259ad0.jpgdc28845e-205e-11ed-ba43-dac502259ad0.jpg

先给没用过Labview的人说句题外话…LV编程有点象积木游戏…感觉就是把你需要的积木(控件、函数)拿进来,然后合理地把他们拼起来(连接数据流)就行了。

在前面板添加image display控件(Vision菜单下),三选一,外观不同而已。

dc53bd9a-205e-11ed-ba43-dac502259ad0.jpg

添加一个取消按钮(系统->布尔)标签和按钮名按自己喜好改:

dc7645ea-205e-11ed-ba43-dac502259ad0.jpg

添加字符显示控件:

dc871596-205e-11ed-ba43-dac502259ad0.jpg

前面板如图

dc9d2e1c-205e-11ed-ba43-dac502259ad0.jpg

程序框图里会出现对应的控件

dcb3f8b8-205e-11ed-ba43-dac502259ad0.jpg

程序框图中可以右键点控件图标,取消“显示为图标”可以简洁一些。控件和函数位置什么的自己根据编程需要随便拖-U-。

dccc20f0-205e-11ed-ba43-dac502259ad0.jpg

控件这些就够了,下面添加函数

首先枚举计算机上USB相机设备:程序框图中右击空白处,视觉与运动->IMAQ USB->USB Enumerate

dcdfd7e4-205e-11ed-ba43-dac502259ad0.jpg

这个函数输出的是一维数组,所以要提取数组中的元素,使用数组->索引数组函数提取元素

dd0243e2-205e-11ed-ba43-dac502259ad0.jpg

添加USB相机初始化函数:视觉与运动->IMAQ USB->IMAQ USB Init 添加完程序框图上会有这些东西

dd2acaa6-205e-11ed-ba43-dac502259ad0.jpg

把他们连起来,方法是点一个函数边框上的头,然后点另外一个 o =_.= o

dd421ada-205e-11ed-ba43-dac502259ad0.jpg

这里可以打开vi的即时帮助

dd4e85fe-205e-11ed-ba43-dac502259ad0.jpg

这样当你把鼠标放在什么地方的时候他会告诉你一些有用的信息,比如某个输入或输出是何种数据,何种格式。

dd6897a0-205e-11ed-ba43-dac502259ad0.jpg 初始化以后添加相机的USB snap,依然在IMAQ USB下,连接USB init和USBsnap的session

dd921648-205e-11ed-ba43-dac502259ad0.jpg

发现USB snap除session以外还需要image in输入,实际上是需要图像存储的缓存。

使用IMAQ Create函数创建缓存:视觉与运动->Vision Utilities->Image Management

dda11f8a-205e-11ed-ba43-dac502259ad0.jpg 连上IMAQ Create和snap

ddade242-205e-11ed-ba43-dac502259ad0.jpg

这时可以看到程序框图的运行箭头裂掉,说明有错误,点开以后可以看到错误,提示IMAQ Create需要输入。这是个会经常用到的功能,帮你找到和修正错误。

ddc8ae38-205e-11ed-ba43-dac502259ad0.jpg

需要添加一个常量作为Image in输入,这里有个便捷的方法:右击IMAQ Create的红色输入端,点击创建->常量

dde563d4-205e-11ed-ba43-dac502259ad0.jpg

自己给常量改名,然后和IMAQ Create连接起来

ddfd922e-205e-11ed-ba43-dac502259ad0.jpg

添加USB Close函数(IMAQ USB下),将USB snap和image以及USB close连接起来。另外前面添加的数组索引和文本显示控件也连接起来。

de14f4fa-205e-11ed-ba43-dac502259ad0.jpg

现在单击运行窗口应该就可以执行开启USB相机->读取相机名称->显示一帧图像->关闭USB相机的功能。

接着使用while循环函数可间断地显示多帧图像,在结构结构菜单下,框住如下部分

de2a4f58-205e-11ed-ba43-dac502259ad0.jpg

de43bf88-205e-11ed-ba43-dac502259ad0.jpg

在框内空白处添加延时函数

de6aec66-205e-11ed-ba43-dac502259ad0.jpg

右击延时函数左侧输入端,创建一个常量,改成一个时间,单位毫秒。同时连上TF和小红圈,这个是点击取消按钮则停止循环的意思。

de82a7ca-205e-11ed-ba43-dac502259ad0.jpg

现在单击运行箭头即可重复拍摄图像,点击停止按钮中止。

下面添加一个Image dispose函数(与Image Create同路径),用于释放图像缓存,放在循环框右侧,然后连上USB snap和Image dispose。

deb409aa-205e-11ed-ba43-dac502259ad0.jpg

在对话框与用户界面 菜单下添加简易错误处理器与合并错误两个函数,然后将相关的error in/out连接起来。

ded54476-205e-11ed-ba43-dac502259ad0.jpg

最后令USB Snap有错误输出时,也中止循环。

由于error out是一个簇,需要从簇中提取单个status,因此需要添加一个簇解绑函数(在簇类与变体菜单下),再添加一个或函数(布尔菜单下)。将取消按钮和错误簇中解绑的status输入至或函数,或函数输出与循环停止连接起来。

df06af98-205e-11ed-ba43-dac502259ad0.jpg

审核编辑:彭静
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • LabVIEW
    +关注

    关注

    1971

    文章

    3654

    浏览量

    323506
  • 机器视觉
    +关注

    关注

    162

    文章

    4370

    浏览量

    120305
  • 编程工具
    +关注

    关注

    0

    文章

    28

    浏览量

    8577

原文标题:厉害了!超强的LabVIEW图像采集实战总结,大神们的操作就是不一般!

文章出处:【微信号:vision263com,微信公众号:新机器视觉】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    Python与其他编程语言有何不同?

    :“ Python通常与其他编程语言相比,尤其是因为它具有独特的功能和高效的设计理念。”在本文中,将尝试说明Python与其他编程语言的不同之处www.zpedu.com/it/rjy
    发表于 09-16 15:54

    LabVIEW与其他应用程序的接口设计

    LabVIEW与其他应用程序的接口设计:本文以Window XP 下的LabVIEW 7.0 为应用平台,设计了LabVIEW 与其他应用程
    发表于 09-29 10:46 287次下载

    LabVIEW编程技巧

    LabVIEW编程技巧LabVIEW编程技巧LabVIEW编程技巧
    发表于 02-23 16:59 151次下载

    Labview与PLC调试总结

    labview2011和西门子S7-200的通信调试。借助OPC服务器监控PLC的变量。中间参考了其他网友的经验,结合自己的使用,总结四份文档。
    发表于 08-26 17:20 0次下载

    基于NI LabVIEW图形化编程对多核处理器和其他并行硬件进行编程

    NI LabVIEW图形化编程方法不仅省时,还很适合对多核处理器和其他并行硬件[如:现场可编程门阵列(FPGA)]进行编程。 其中一项优势是
    发表于 11-16 19:30 1573次阅读
    基于NI <b class='flag-5'>LabVIEW</b>图形化<b class='flag-5'>编程</b>对多核处理器和<b class='flag-5'>其他</b>并行硬件进行<b class='flag-5'>编程</b>

    LabVIEW宝典带你从LabVIEW入门到详细了解最后让你熟练的应用LabVIEW

    详尽讲解了LabVIEW常用的编程方法、编程技巧和工程应用威廉希尔官方网站 。全书共分为3篇,其中,入门篇归纳总结LabVIEW
    发表于 07-25 08:00 0次下载
    <b class='flag-5'>LabVIEW</b>宝典带你从<b class='flag-5'>LabVIEW</b>入门到详细了解最后让你熟练的应用<b class='flag-5'>LabVIEW</b>

    什么是LabVIEWLabVIEW与其他编程语言有什么差异?有什么优势?

     LabVIEW与其他大多数通用编程语言存在两点主要差异。 首先,进行G编程需要将程序框图上的图标连接在一起,之后程序框图被直接编译为计算机处理器能够加以执行的机器码。 采用图形而非文
    发表于 09-18 17:48 19次下载
    什么是<b class='flag-5'>LabVIEW</b>?<b class='flag-5'>LabVIEW</b><b class='flag-5'>与其他</b><b class='flag-5'>编程</b>语言有什么差异?有什么优势?

    Labview编程错误调试与处理工具的使用说明

    Labview编程错误调试与处理工具
    的头像 发表于 08-05 06:04 2350次阅读

    LabVIEW的ActiveX实验总结

    LabVIEW的ActiveX实验总结(电源威廉希尔官方网站 期刊投稿写错作者)-该文档为LabVIEW的ActiveX实验总结文档,是一份很不错的参考资料,具有较高参考价值,感兴趣的可以下载看看…
    发表于 08-04 18:58 43次下载
    <b class='flag-5'>LabVIEW</b>的ActiveX实验<b class='flag-5'>总结</b>

    LabView工具使用

    LabView工具使用
    发表于 06-01 14:33 0次下载

    用于电力电子的LabVIEW调试工具

    编程一样,调试 LabVIEW 应用程序也非常直观。例如,用户可以交互式地观察数据如何在 LabVIEW 程序中流动,沿着连接它们的电线从一个函数移动到另一个函数。此功能称为执行突出显示。L
    的头像 发表于 08-04 09:08 2185次阅读
    用于电力电子的<b class='flag-5'>LabVIEW</b>调试<b class='flag-5'>工具</b>

    verilog与其他编程语言的接口机制

    Verilog是一种硬件描述语言,用于描述数字电路的行为和结构。与其他编程语言相比,Verilog具有与硬件紧密结合的特点,因此其接口机制也有一些与众不同之处。本文将详细介绍Verilog与其他
    的头像 发表于 02-23 10:22 699次阅读

    如何实现MES系统与其他系统的集成?

    在当今数字化的制造环境中,MES系统(制造执行系统)已成为企业提高生产效率和管理水平的重要工具。然而,要实现MES系统与其他系统的集成,充分发挥其潜力,并非易事。本文将探讨实现MES系统与其他系统集成的关键步骤和威廉希尔官方网站 ,帮助企业打
    的头像 发表于 03-28 10:04 684次阅读

    PLC如何与其他设备进行通信

    在工业自动化领域中,PLC(Programmable Logic Controller,可编程逻辑控制器)扮演着至关重要的角色。作为工业自动化系统的核心,PLC不仅负责控制设备的运行,还需要与其他
    的头像 发表于 06-27 14:07 1981次阅读

    Llama 3 模型与其他AI工具对比

    Llama 3模型与其他AI工具的对比可以从多个维度进行,包括但不限于威廉希尔官方网站 架构、性能表现、应用场景、定制化能力、开源与成本等方面。以下是对Llama 3模型与其他一些主流AI工具的对比
    的头像 发表于 10-27 14:37 385次阅读