Labview Vision 机器视觉使用,从下载程序安装应用,到实战找硬币并输出值

1.前言

大家好,今天我要和机器人一起配合来打算 做机器视觉

Labview Vision 联动实现机器的视觉

2.下载软件-软件的安装

我们除了基础款的labview软件

还要安装视觉四件套

1.Labview 编程平台(我是 2023 q3)

2. NI - IMAQdx (驱动软件)

3.Vision Development (视觉助手)

4.Vision Acquisition Software (视觉软件)

我们打开 NI Packagb Manager (NI 软件下载平台)我们安装完labview 之后自动会生成一个。

想必大家都学到 视觉了,肯定已经安装好了labview 。

好了我们打开labview ,然后在这里搜索视觉 下载并安装好我框出的程序。

选择好对应的版本型号。

我们下载并安装好了这些之后就可以开启我们的视觉之路了。

3.调试好我们的摄像头

如果我们有摄像头的话,我们打开 NI MAX(没有的话去NI 官网下载一个) 我们打开NI MAX

打开我们的摄像头,然后在里面调试程序,不然视觉助手没办法调用我们的摄像头

我们先调整一下分辨率,调整一个合适的分辨率,我这里采用 640 x480  30fps 。

这个分辨率适合来做视觉处理

这里我有两个摄像头,两个摄像头都可以 ,具体选择哪个摄像头看用户自己

然后我们 点击连续调用摄像头

可以看到我们的摄像头也是被正常调用了,这时候我们点击一下保存。保存摄像头配置

这里我已经配置好了 摄像头了所以是灰色的。

我已经配置好了摄像头,下面我们进行视觉助手的使用。

4.Vision Assistant  视觉助手的新手入门  

1.初始化 视觉助手

我们下载好上面的四个程序之后然后在

开始菜单中搜索Vision Assistant 32位程序

我这个是将他放在桌面上

我们打开这个程序,这里选择 Labview 

我这里用翻译给大家看看界面 的中文翻译

2.图像处理流程

有一个 获取图像 一个浏览图片 和一个处理图像

我们正常的流程肯定是 

1.先调用摄像头拍摄下来要进行处理的图像

2.再浏览下我们拍摄的图片正确不正确

3.图像处理

4.识别图像内容

5.输出值到想要的地方。

3.调用摄像头

所以我们要先调用摄像头,拍几张照片先。

选择我们刚刚配置的摄像头,调用他拍摄几张照片

先连续调用摄像头,实时查看视觉摄像头所拍摄到的内容

找到想要的内容,按下这个照片,存储到视觉助手中。

我拍摄了几个硬币,我们就用这几个硬币来做视觉。

我这里只拍了一张,实际视觉处理的时候要多拍几张!!!!!

多情况多状况考虑。


先退出摄像头的调用,不然选择不了处理图像。

回到最初的界面

4.拍照处理图像

给大家看看 通用处理 视觉图像的一张照片 ,我觉的这个很对 

5.灰度化图像

所以我们要先把颜色灰度化。

但在这里我们只需要简单的形状判断就可以完成这次的任务了。

选择这次我们想要的灰度图像处理。

可以看到图像已经变灰色了。

然后我们点击OK。 保存一下灰度处理

所以我们直奔主题。

6.图像处理找圆图形

这里是我们处理图像的选项,有颜色状态分割,状态追踪什么的。

我们这里选择找形状,选择找圆形形状。

下翻找到形状检测。

翻译一下,调整一下检测的范围值

调整了一下值,发现全部都检测到了。

这样就ok了。

可以看到下面有编号,有范围大小 ,也有X和Y轴的坐标。

然后我们点击OK

7.生成范例VI

然后创建视觉助手生成的vi范例

选择VI保存的地址。

然后选择NEXT 

选择 

我们这只需要获取到园的值,园就是Circles 。 选择好了之后 选择finish。

生成好了vi之后保存一下。

然后视觉处理就结束。

5.Labview 调用 范例VI 提出数据

 我们进入到labview ,简单创建一个空的VI,进入后端然后开始编程。

一个经典的调用摄像机拍照的程序。

这几个空间在 运动和视觉\IMAQdx\中

将我们刚刚从视觉助手中生成的范例拖入到后端中

会发现这个vi变成了一个类似于簇的存在

可以输入相机和输出获取园的结果。

ok了之后,我们创建一个事件框,然后事件创建为一个按钮,为立即拍照。

就是拍照一下,然后给视觉助手生成的范例进行图像处理。然后再进行输出。

我以我自己做的视觉助手来进行演演示。(加了一个状态机)

我这里用的虚拟串口COM1 输出 X Y的坐标, 也就是圆心在拍照区域里的坐标

这里是这样算的 他是 640x360 的坐标,这里得到的是 x 317 y177的坐标,按照比例 也就是 

x 有640 y 有360。

然后我们点击发送 出去 x和y的值 

(这里怎么写看你们)

接受成功!!!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/234124.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Ubuntu 常用命令之 ifconfig 命令用法介绍

ifconfig 是一个用于配置和显示 Linux 内核中网络接口的系统管理命令。它用于配置,管理和查询 TCP/IP 网络接口参数。 ifconfig 命令的参数有很多,以下是一些常见的参数 up:激活指定的网络接口。down:关闭指定的网络接口。add&a…

蓝桥杯常用库heapq

堆的常用方法 使用list表示一个堆 将无序List转换成最小堆;heapq.heapify(a) 最小堆a中添加元素x:heapq.heappush(a, x) 弹出并返回最小元素:heapq.heappop(a) 弹出并返回最小元素,同时添加元素x:heapq.heapreplace(a,x) import heapqa [11, 6, 9, 8, 7, 3] heapq.…

JS中的selection事件与range

前言 本文简单总结下文本输入中的 Selection 与 Range 事件。 测试地址见: 在线效果预览 ::selection && Selection 自定义选取颜色 项目中一般有主题色的需求,这时候可以通过 css 中的::selection伪类可以自定义选中背景颜色 ::selection {background: yel…

【论文笔记】Distilling the Knowledge in a Neural Network

Abstract 几乎任何机器学习算法性能提升的一个非常简单的方法是在相同数据上训练多个不同的模型,然后对它们的预测结果进行平均。 不幸的是,使用整个模型集合进行预测繁琐,可能会因为计算成本过高而难以部署给大量用户,尤其是如果…

MyBatis的原始DAO开发!!!

引用:MyBatis的删除、修改、插入操作!!!-CSDN博客的准备工作!!!(准备工作都一样只不过文件名称有所不同) 1.利用原始DAO开发,查询所有的信息。 UserDao&#…

【数据库模拟题目集】选择题

数据库应用程序的编写是基于数据库三级模式中的(外模式) 对创建数据库模式一类的数据库对象的授权可由CREATE USER时实现。新创建的数据库用户有三种权限,CONNECT、RESOURCE和DBA。拥有RESOURCE权限的用户(不能创建模式 &#xf…

关于通信基站综合防雷方案介绍

为了获取更好的通信效果,通信基站在选址时通常地势要高于周围环境,气候条件恶劣,夏季通讯及机房设备及发射铁塔遭受雷击灾害的风险较高,而现代的电信设备对雷电又较为敏感,使得雷害问题日益凸显出来,如果防…

裂解汽油行业分析:到2027 年将达到 202.4 亿美元

裂解汽油,又称pygas,是石化工业中用石脑油或瓦斯油生产乙烯和丙烯的副产品。热解气是一种复杂的碳氢化合物混合物,主要由苯、甲苯和二甲苯等芳烃组成。热解汽油是生产苯乙烯、苯酚和合成橡胶等化学品的宝贵原料。 全球市场: 预计在…

延迟消息队列的几种实现方案,哪种更适合业务,要看具体情况分析

延迟消息队列的几种实现方案,延迟消息怎么实现,很多人可能一想到的是rabbitmq的死信队列来实现,但是一旦引入mq的话,就依赖这个中间件,另外维护成本,开发成本都很大,那有么有简单点的实现方式呢…

Linux安全之SELinux理解

安全增强式 Linux,即SELinux(Security-Enhanced Linux)是一个 Linux 内核的安全模块,其提供了访问控制安全策略机制,包括了强制访问控制(Mandatory Access Control,MAC)。SELinux 是一组内核修改和用户空间工具,已经被…

9ACL访问控制列表

为什么要有访问控制(Access Control List)? 因为我可能在局域网中提供了一些服务,我只希望合法的用户可以访问,其他非授权用户不能访问。 原理比较简单,通过对数据包里的信息做过滤,实现访问控…

houdini 神经网络

实现个神经网络的3D可视化,美爆了!-腾讯云开发者社区-腾讯云 https://vimeo.com/stefsietz GitHub - julrog/nn_vis: A project for processing neural networks and rendering to gain insights on the architecture and parameters of a model throu…

unity2d 关闭全局重力

UNITY2D项目默认存在Y轴方向重力,创建俯视角2D场景时可通过以下配置关闭 Edit > Project Settings > Physics 2D > General Settings > Gravity 设置Y0

Elasticsearch——索引数据

索引可以说是Elasticsearch中非常重要的模块,一个索引可以视作关系数据库中的一张表,本帖将详细介绍与Elasticsearch索引相关的各种功能等。主要内容如下: 索引映射(mapping)结构的定义方法,常用的各种字段类型和动态映射的使用。…

细说 MySQL 用户安全加固策略

这是一篇关于如何加强 MySQL 用户安全的文章,通读全文您可以了解密码复杂度策略、连接控制插件以及密码变更策略的相关知识。本文内容仅供参考,请在操作时以实际环境为准,避免造成经济损失。 作者:余振兴,爱可生 DBA 团…

Linux系统LVS+Keepalived群集

目录 一、概述 (一)群集特性 1.负载均衡 2.健康检查(探针) 3.故障转移 (二)Keepalived 1.作用 (1)支持故障自动转移 (2)支持节点健康状态检…

【HTML】解析垂直滚动轮播效果的HTML、CSS和JavaScript实现

解析垂直滚动轮播效果的HTML、CSS和JavaScript实现 在现代Web开发中,滚动轮播效果是网页设计中常见的交互元素之一。在本文中,我们将深入解析一段HTML、CSS和JavaScript的代码,实现了一个简单而高效的垂直滚动轮播效果。通过该代码&#xff…

云仓酒庄的品牌雷盛红酒分享红酒的颜色越深代表越好吗?

红酒颜色从宝石红、石榴红到紫红甚至砖红,颜色各异色彩纷呈。有朋友问云仓酒庄品酒师,是不是红酒的颜色越深代表酒越好? 颜色较深的葡萄酒,一般酒体比较厚重,风格比较强劲,单宁含量也较高,是好…

在vue中通过js动态绘制table,并且合并连续相同内容的行,支持点击编辑单元格内容

首先是vue代码 <template><div id"body-container"style"position: absolute"><div class"box-container"><div class"lsb-table-box" ><div class"table-container" id"lsb-table"&…

jenkins入门

文章目录 前言一、 jenkins的安装二、新建简单任务总结 前言 本篇文章是 jenkins 的入门级别案例&#xff0c;包括安装、基础概念介绍、新建简单任务 一、 jenkins的安装 下载 jenkins https://www.jenkins.io/download/ 当前案例下载的是 2.426.2 LTS 版本 下载安装jdk11 …